:root{--ink:#183340;--accent:#007e87;--bg:#edf3f5;--muted:#617580}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px 'Segoe UI',Arial,sans-serif}header{padding:22px 5vw;background:#14313e;color:white;display:flex;gap:20px;align-items:center}.brand{letter-spacing:2px;font-size:23px}.brand strong{color:#65d5ce}main{max-width:800px;margin:42px auto;padding:0 20px}.card{max-width:490px;margin:auto;background:white;padding:32px;border-radius:18px;box-shadow:0 8px 35px #1833400a}.card.home{max-width:800px}h1{font-size:28px;margin:8px 0 14px;line-height:1.2}h2{font-size:20px}p{line-height:1.6;color:var(--muted)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:var(--accent);font-weight:700}label{display:block;font-size:14px;font-weight:600;margin:22px 0 8px}input{width:100%;padding:13px;border:1px solid #ccdbe0;background:#fbfcfd;border-radius:8px;color:var(--ink);font:inherit}input:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #007e8766;outline-offset:2px}button{font:inherit;font-weight:600;padding:13px 20px;color:white;background:var(--accent);border:0;border-radius:8px;cursor:pointer;margin:24px 0 18px}button:disabled{opacity:.6;cursor:wait}button.secondary{border:1px solid #ccdbe0;background:white;color:var(--ink)}small{display:block;color:var(--muted);line-height:1.6;font-size:13px}.status{max-width:490px;margin:18px auto;white-space:pre-wrap}.status.error{color:#a12f2f}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.module{margin:26px 0;padding:20px;border:1px solid #d6e3e8;border-radius:12px}.tag{display:inline-block;font-size:12px;background:#edf3f5;padding:7px 10px;border-radius:6px}#qr{display:block;margin:18px auto;max-width:100%;height:auto}#totpSecret{display:block;overflow-wrap:anywhere;padding:12px;background:var(--bg)}details{margin:16px 0}footer{text-align:center;color:#82949c;font-size:12px;margin:35px 16px}[hidden]{display:none!important}@media(max-width:520px){header{padding:17px 20px;font-size:13px;gap:12px}main{margin:24px auto;padding:0 14px}.card{padding:24px}h1{font-size:25px}.heading{align-items:flex-start;flex-direction:column}.heading button{margin:0 0 8px}}



.platform-nav{display:flex;gap:10px;flex-wrap:wrap}.platform-nav :is(button,a){margin:0 0 20px}.users-card{max-width:none}.users-scroll{overflow-x:auto}.users-scroll table{width:100%;border-collapse:collapse}.users-scroll td,.users-scroll th{text-align:left;padding:12px;border-bottom:1px solid #ccdbe0}.users-scroll input{min-width:150px}.users-scroll select{padding:10px;font:inherit}



.users-scroll input[type=checkbox]{min-width:0;width:auto}.users-scroll label{margin:8px 0;white-space:nowrap}



.docs-card{max-width:none}.docs-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.docs-toolbar button{margin:8px 0}.document-preview{width:100%;height:70vh;object-fit:contain;border:0;background:#edf3f5}#docsStatus{white-space:pre-wrap}#previewName{overflow-wrap:anywhere}#documentPreview{width:min(1000px,95vw)}



header .menu-toggle{margin:0;background:transparent;color:#fff;border:1px solid #ffffff50;padding:6px 11px;font-size:25px;line-height:1.1;border-radius:8px;flex-shrink:0}

body.menu-open{overflow:hidden}.module-bar{display:flex;gap:15px;align-items:center;margin:0 0 22px}.module-bar>span{font-weight:650;color:var(--accent)}.module-bar small{margin:0}

#moduleMenu{position:fixed;inset:0 auto 0 0;margin:0;width:320px;max-width:calc(100vw - 32px);height:100vh;height:100dvh;max-height:none;padding:28px 22px;border:0;border-radius:0 18px 18px 0;background:var(--bg);color:var(--ink);box-shadow:8px 0 40px #102d3c30;overflow-y:auto}

#moduleMenu[open]{display:flex;flex-direction:column;animation:menu-enter .18s ease-out}#moduleMenu::backdrop{background:#102a3c80}.menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:24px}.menu-heading .brand strong{color:var(--accent)}.menu-heading h2{font-size:15px;margin:12px 0 0;color:var(--muted);font-weight:400}

#moduleMenu .menu-close{background:transparent;color:var(--ink);padding:4px 12px;margin:0;font-size:28px;line-height:1.1;border:1px solid #ccdbe0}

#moduleMenu .platform-nav{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0}#moduleMenu .platform-nav :is(button,a){width:100%;margin:0;text-align:left;padding:16px 18px;font-weight:650}#moduleMenu .platform-nav :is(button,a) small{font-size:12px;font-weight:400;color:inherit;opacity:.8;margin-top:6px}

.menu-account{margin-top:auto;padding-top:32px;overflow-wrap:anywhere}.menu-account button{width:100%;margin:16px 0}.menu-account>small:last-child{font-size:11px}

@keyframes menu-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){#moduleMenu[open]{animation:none}}@media(max-width:850px){body>header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}body>header>span:last-child{font-size:12px}.module-bar{justify-content:space-between;gap:8px}}



.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.docs-card.explorer{padding:0;overflow:visible;border:1px solid #dbe5e9}.explorer-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 26px 18px}.explorer-heading h1{margin:0;font-size:25px}.explorer-heading p{font-size:13px;margin:5px 0 0}

.explorer-add{position:relative;margin:0;flex-shrink:0}.explorer-add>summary{list-style:none;background:var(--accent);color:white;border-radius:8px;padding:11px 17px;font-weight:600;cursor:pointer;white-space:nowrap}.explorer-add>summary::-webkit-details-marker{display:none}.explorer-add-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:5;min-width:200px;background:white;border:1px solid #dbe5e9;border-radius:10px;padding:6px;box-shadow:0 10px 30px #14313e25}.explorer-add-menu button{display:block;width:100%;text-align:left;margin:0;border:0;background:white;color:var(--ink);padding:12px;border-radius:6px}.explorer-add-menu button:hover{background:var(--bg)}

.explorer-address{display:flex;gap:12px;align-items:center;padding:12px 20px;background:#f7f9fb;border-block:1px solid #e0e7eb}.explorer-address>button{margin:0;padding:6px 11px;font-size:19px}.explorer-address nav{display:flex;flex:1;gap:7px;align-items:center;overflow-x:auto;white-space:nowrap;margin:0}.explorer-address nav button{padding:5px 8px;background:transparent;color:var(--ink);border:0;margin:0;font-weight:500}.explorer-address nav button:hover{background:#e4edef}

.explorer-layout{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:390px}.explorer-sidebar{padding:22px 12px;background:#f7f9fb;border-right:1px solid #e0e7eb;border-radius:0 0 0 14px}.explorer-sidebar>small{font-size:10px;letter-spacing:1.2px;margin:0 10px 14px}.explorer-sidebar>button{display:flex;gap:9px;align-items:center;width:100%;background:transparent;color:var(--ink);text-align:left;padding:11px 10px;margin:5px 0;font-size:13px}.explorer-sidebar>button.active{background:#dcefed;color:#00666f;font-weight:700}.explorer-folder-icon{font-size:22px;line-height:1;flex-shrink:0}.explorer-main{min-width:0;display:flex;flex-direction:column}.explorer-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.explorer-list-toolbar strong{font-size:14px;overflow-wrap:anywhere}.explorer-search{margin:0!important;max-width:280px;width:50%}.explorer-search input{font-size:13px;padding:9px 12px}.explorer-main #docsStatus{padding:0 20px;margin:0;font-size:13px}.explorer-main #docsStatus:empty{display:none}.explorer-list{padding:0 0 12px}.explorer-list table{min-width:760px}.explorer-list th{padding:0!important;background:#f7f9fb;border-top:1px solid #e4ebef}.explorer-list th button{width:100%;margin:0;border:0;background:transparent;text-align:left;color:#617580;padding:11px 16px;font-size:12px;font-weight:500}.explorer-list td{font-size:13px;padding:11px 16px;vertical-align:middle}.explorer-list tbody tr:hover{background:#eef7f7}.explorer-list td:first-child{min-width:240px}.explorer-list td:nth-child(2){white-space:nowrap}.explorer-list td:nth-child(4){white-space:nowrap}.explorer-list .explorer-name{display:flex;align-items:center;gap:12px;margin:0;padding:0;background:transparent;color:var(--ink);text-align:left;font-size:13px;font-weight:400;border:0}.explorer-name>span:last-child{overflow-wrap:anywhere}.explorer-file-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:34px;border:1px solid #bdd5dc;border-radius:3px;background:#eaf2f6;color:#3c6276;font-size:8px;font-weight:700;flex-shrink:0}.explorer-actions{white-space:nowrap}.explorer-actions button{margin:0 4px 0 0;padding:6px 10px;font-size:12px}

.explorer-footer{margin-top:auto;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #e0e7eb;color:var(--muted);font-size:11px}.explorer-empty{text-align:center;padding:55px 18px;color:var(--muted)}.explorer-empty .explorer-folder-icon{display:block;font-size:42px;margin-bottom:18px}.explorer-empty strong{display:block;font-size:15px;color:var(--ink)}.explorer-empty p{font-size:13px;margin-top:8px}.explorer-dialog{width:min(520px,94vw);border:0;border-radius:14px;padding:25px;color:var(--ink)}.explorer-dialog::backdrop{background:#102a3c80}.explorer-dialog .docs-toolbar{justify-content:space-between}.explorer-dialog h2{margin:0}.explorer-dialog input{max-width:100%}.explorer-dialog #uploadStatus{font-size:13px;white-space:pre-wrap}

@media(max-width:650px){.explorer-heading{padding:20px 16px;gap:10px}.explorer-heading h1{font-size:21px}.explorer-heading p{font-size:11px}.explorer-add>summary{padding:10px 12px;font-size:13px}.explorer-layout{grid-template-columns:minmax(0,1fr)}.explorer-sidebar{display:flex;gap:8px;border-right:0;border-bottom:1px solid #e0e7eb;padding:10px;border-radius:0;flex-wrap:wrap}.explorer-sidebar>small{display:none}.explorer-sidebar>button{width:auto;margin:0;font-size:12px;padding:9px}.explorer-address{padding:10px;gap:6px}.explorer-address nav button{font-size:12px}.explorer-list-toolbar{padding:15px 12px;gap:10px;flex-wrap:wrap}.explorer-search{width:100%;max-width:none}.explorer-footer{padding:12px}.explorer-empty{padding:35px 15px}}



body>header{flex-wrap:wrap;background:var(--dark,#14313e)}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;flex-wrap:wrap}.account-actions button{margin:0;font-size:13px;padding:10px 13px}.account-actions #theme{margin:0;width:190px;font-size:13px;padding:10px;background:#fff;color:var(--ink);border:1px solid #cedbe1;border-radius:8px}.account-actions #export{white-space:nowrap}@media(max-width:650px){.account-actions{width:100%;gap:7px;padding-top:6px}.account-actions button{font-size:11px;padding:9px}.account-actions #theme{width:155px;font-size:11px;padding:9px}#appTitle{font-size:12px}}

.explorer-list{position:relative;max-width:100%;overflow:auto}.explorer-search{position:relative}



.folder-batch-list{margin:18px 0;font-size:13px}.folder-batch-list ul{list-style:none;padding:0;margin:12px 0;max-height:220px;overflow:auto}.folder-batch-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e0e7eb}.folder-batch-list li>span{min-width:0;overflow-wrap:anywhere}.folder-batch-list li button{margin:0;padding:6px 10px;font-size:12px}



.upload-job{position:fixed;right:22px;bottom:20px;z-index:30;width:360px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #c9dddd;border-radius:13px;box-shadow:0 8px 35px #14313e30;padding:16px;color:var(--ink)}.upload-job-heading{display:flex;align-items:center;gap:8px}.upload-job-heading strong{flex:1;font-size:14px}.upload-job-heading button{margin:0;padding:2px 8px;background:transparent;color:var(--ink);font-size:20px}.upload-job p{font-size:12px;overflow-wrap:anywhere;margin:10px 0}.upload-job progress{width:100%;height:9px;accent-color:var(--accent)}.upload-job small{font-size:11px}.upload-job-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-job-actions button{margin:12px 0 0;padding:8px 12px;font-size:12px}@media(max-width:650px){.upload-job{right:12px;bottom:12px;width:330px}}



.upload-queue-list{max-height:160px;overflow:auto;font-size:12px;margin-top:10px}.upload-queue-list ul{list-style:none;padding:0;margin:8px 0}.upload-queue-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e0e7eb;padding:7px 0}.upload-queue-list li span{overflow-wrap:anywhere}.upload-queue-list li button{margin:0;padding:1px 8px;background:transparent;color:var(--ink);font-size:19px}.upload-queue-list p{font-size:11px;color:var(--muted)}



.folder-drop-target{outline:2px solid var(--accent);outline-offset:-2px;background:#dcefed!important}.explorer-name[draggable=true]{cursor:grab}.explorer-name[draggable=true]:active{cursor:grabbing}.explorer-list .explorer-move{margin:0;padding:6px 10px;font-size:12px}



.authenticated main{max-width:1300px}.user-permissions{min-width:280px}.user-permissions summary{cursor:pointer;color:var(--accent)}.user-permissions label{white-space:normal!important}.user-permissions strong{display:block;margin:14px 0 8px}

#documentPreview{max-height:95dvh;overflow:auto}.pdf-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:sticky;top:0;background:white;padding:10px 0;z-index:1}.pdf-controls button{margin:0;padding:8px 12px;font-size:13px}.pdf-page-status,.pdf-zoom{font-size:13px}.pdf-canvas-scroll{height:68dvh;overflow:auto;background:#dbe3e8;text-align:center;padding:12px}.pdf-canvas-scroll canvas{display:block;margin:0 auto;max-width:none;background:white;width:fit-content;height:auto}.pdf-message:empty{display:none}.pdf-message{font-size:13px;color:#a22828}

#documentPreview>.docs-toolbar,#permitDrawingDialog>.docs-toolbar,#detail>.toolbar{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;gap:18px;position:sticky;top:0;background:white;z-index:3;padding-bottom:12px}#documentPreview>.docs-toolbar h2,#permitDrawingDialog>.docs-toolbar h2,#detail>.toolbar h2{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}#closeDocument,#closePermitDrawing,#detail #close{margin:0 0 0 auto!important;flex-shrink:0;align-self:flex-start}.permit-utm-info{margin-top:12px;padding:12px;background:#eef6f5;border-radius:8px}.permit-utm-info button{font-size:12px;padding:7px 10px;margin:8px 0}.permit-utm-info a{color:var(--accent)}

.document-picker{width:min(700px,94vw);max-height:90dvh;border:0;border-radius:14px;padding:22px;color:var(--ink)}.document-picker::backdrop{background:#14313e80}.document-picker-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.document-picker-heading h2{margin:0}.document-picker-heading button{margin:0;padding:8px 12px}.document-picker-navigation{display:flex;align-items:center;gap:12px;margin:15px 0;flex-wrap:wrap}.document-picker-navigation button{margin:0;padding:7px 12px}.document-picker-navigation select{font:inherit;padding:7px}.document-picker-path{font-size:13px;overflow-wrap:anywhere}.document-picker-list{max-height:50dvh;overflow:auto;display:flex;flex-direction:column;gap:7px}.document-picker-list button{margin:0;text-align:left;font-size:13px;padding:12px;overflow-wrap:anywhere}.document-picker-list small{font-size:11px}.document-picker p{font-size:12px}



#documentPreview>.docs-toolbar,#permitDrawingDialog>.docs-toolbar,#detail>.toolbar,.permit-weight-heading{cursor:grab}dialog.viewer-dragging{user-select:none}dialog.viewer-dragging>.docs-toolbar,dialog.viewer-dragging>.toolbar{cursor:grabbing}.pdf-canvas-scroll{cursor:grab}.pdf-canvas-scroll.pdf-panning{cursor:grabbing}

.trash-icon{vertical-align:-2px;flex-shrink:0}button:has(.trash-icon){white-space:nowrap}.standalone-viewer>header{padding:15px 20px;gap:20px}.standalone-viewer>header h1{font-size:18px;flex:1;margin:0;overflow-wrap:anywhere}.standalone-viewer>header button{margin:0;flex-shrink:0}.standalone-tip{padding:12px 20px;background:#eef5f6}#standaloneContent{padding:0 15px}#standaloneStatus{padding:0 20px}.standalone-viewer .pdf-canvas-scroll{height:calc(100dvh - 200px)}



dialog:not(#moduleMenu) .docs-toolbar,dialog:not(#moduleMenu) .toolbar,dialog:not(#moduleMenu) .heading,dialog:not(#moduleMenu) .document-picker-heading,dialog:not(#moduleMenu) h1,dialog:not(#moduleMenu) h2,dialog:not(#moduleMenu) h3{cursor:grab}dialog.viewer-dragging .document-picker-heading,dialog.viewer-dragging h1,dialog.viewer-dragging h2,dialog.viewer-dragging h3{cursor:grabbing}



#moduleMenu .platform-nav a{display:block;text-decoration:none;background:var(--accent);color:white;border-radius:8px;font:inherit}#moduleMenu .platform-nav a.secondary{background:white;color:var(--ink);border:1px solid #ccdbe0}#moduleMenu .platform-nav a:focus-visible{outline:3px solid #007e8766;outline-offset:2px}



/* Control operativo de permisos */

.tracking-filters,.tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}.tracking-table-wrap{overflow:auto;background:white;border-radius:10px}.tracking-table{width:100%;border-collapse:collapse;font-size:13px}.tracking-table th{background:#153442;color:white;text-align:left;padding:12px;white-space:nowrap}.tracking-table td{padding:10px;border-bottom:1px solid #d5e3e8;vertical-align:middle}.tracking-table small{display:block;color:#597384;margin-top:5px}.tracking-badge{display:inline-block;padding:5px 8px;border-radius:5px;background:#edf2f4}.tracking-badge.ok{background:#c5e7d2;color:#155b32}.tracking-badge.warning{background:#ffdb9e;color:#764300}.tracking-badge.danger{background:#ffbbc2;color:#8c1222}.tracking-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto}.tracking-dialog details{border:1px solid #d5e3e8;border-radius:8px;padding:12px;margin:15px 0}.tracking-dialog summary{cursor:pointer;font-weight:bold}.tracking-history{display:flex;gap:12px;align-items:end;margin:12px 0;flex-wrap:wrap}.tracking-history label{flex:1;min-width:160px}.tracking-history strong{padding:10px;color:#007f89;font-size:13px}.tracking-hint{color:#597384;font-size:13px}.tracking-dialog textarea{width:100%;min-height:80px}.tracking-dialog .docs-toolbar{justify-content:space-between}.docs-toolbar button[aria-pressed="true"]{background:#00818b;color:white}#trackingError{color:#a21b2c}#trackingChain{margin:16px 0;padding:12px;background:#edf6f6}#trackingChain:empty{display:none}



.tracking-filters label,.tracking-grid label,.tracking-history label{display:flex;flex-direction:column;gap:6px}.tracking-filters select,.tracking-dialog select,.tracking-dialog input,.tracking-dialog textarea{box-sizing:border-box;min-height:38px;border:1px solid #c6d9e2;border-radius:7px;padding:8px;background:white;color:#153442;font:inherit}.tracking-dialog input,.tracking-dialog select{width:100%}.tracking-table td:last-child{white-space:nowrap}.tracking-table td:last-child button{display:inline-flex;padding:7px;min-width:30px;align-items:center;justify-content:center}.tracking-table td:last-child svg{width:16px;height:16px}


.tracking-sheet .tracking-table-wrap{max-height:65vh;overflow:auto;margin-top:12px}.tracking-editable{width:max-content;min-width:100%;table-layout:fixed}.tracking-editable thead{position:sticky;top:0;z-index:3}.tracking-editable td{padding:2px!important;height:34px}.tracking-editable th{padding:0!important}.tracking-editable input,.tracking-editable select{width:140px;min-width:100px;height:30px;padding:4px 6px;font-size:12px;border:1px solid transparent;border-radius:2px;background:transparent;box-sizing:border-box;color:#153442}.tracking-editable input:focus,.tracking-editable select:focus{border-color:#00818b;outline:2px solid #7ad1d6;background:white}.tracking-editable [data-cell=project],.tracking-editable [data-cell=component],.tracking-editable [data-cell=reminder],.tracking-editable [data-cell=notes]{width:220px}.tracking-editable [data-cell=state]{width:185px}.tracking-editable [data-computed]{display:block;padding:5px 8px;min-width:110px;background:#eaf3f5;font-size:12px}.tracking-editable td:first-child,.tracking-editable th:first-child{position:sticky;left:0;z-index:2;min-width:35px;background:#eaf3f5;text-align:center;color:#476371}.tracking-editable .tracking-unsaved td{background:#fff7db}.tracking-editable [aria-invalid=true]{background:#ffd9df;border-color:#b8233e}.tracking-sort{color:white!important;background:transparent!important;font-size:12px!important;padding:10px 8px!important;border:0!important;white-space:nowrap;min-height:35px}.tracking-check{flex-direction:row!important;align-items:center;gap:8px}.tracking-check input{width:18px}.tracking-sheet #trackingPending{color:#996112;font-weight:600}.tracking-sheet #trackingHistoryContent td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:400px}.tracking-import-warning{background:#fff2d7;padding:10px}

.tracking-editable input,.tracking-editable select,.tracking-editable button{margin:0!important}.tracking-editable input,.tracking-editable select{min-height:30px!important;line-height:18px!important}.tracking-editable td:last-child{padding:2px 5px!important}.tracking-editable th{height:36px}.tracking-editable tr{height:34px}

/* Vista compacta del control: filtros y grupos de columnas */
.tracking-sheet{background:#fff;border:1px solid #d9e5e9;border-radius:14px;padding:20px;box-shadow:0 3px 14px #163c4910}.tracking-sheet .permit-project-heading{margin-bottom:12px;align-items:flex-start}.tracking-sheet h1{font-size:25px;margin:2px 0 0}.tracking-sheet .eyebrow{font-size:10px;margin:0 0 5px}.tracking-sheet button{margin:0}.tracking-sheet .tracking-actions{justify-content:flex-end;gap:6px;max-width:700px}.tracking-sheet .tracking-actions button{padding:8px 11px;font-size:12px;min-height:34px}.tracking-sheet #trackingKinds{border-bottom:1px solid #e1eaed;gap:4px;padding-bottom:8px;margin-bottom:12px}.tracking-sheet #trackingKinds button{border-color:transparent;background:transparent;color:#536d79;font-size:13px;padding:8px 14px}.tracking-sheet #trackingKinds button[aria-pressed=true]{background:#e1f2f2;color:#007b84;font-weight:700}.tracking-sheet .tracking-filters{grid-template-columns:1.4fr 1fr 1fr 1fr;margin:10px 0;gap:10px}.tracking-sheet .tracking-filters label{font-size:11px;color:#647a86;gap:4px}.tracking-sheet .tracking-filters input,.tracking-sheet .tracking-filters select{height:35px;min-height:35px;padding:6px 10px;font-size:12px;background:#f9fbfc}.tracking-sheet .tracking-hint{margin:8px 0;font-size:11px}.tracking-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.tracking-overview>div{display:flex;align-items:center;gap:10px;border:1px solid #e1eaed;background:#f8fbfc;border-radius:8px;padding:10px 13px}.tracking-overview strong{font-size:22px;color:#173b49;line-height:1}.tracking-overview span{font-size:11px;color:#627986}.tracking-sheet #trackingCount{font-size:12px;font-weight:600}.tracking-sheet #trackingPending{font-size:12px}.tracking-sheet #trackingPrev,.tracking-sheet #trackingNext{padding:5px 10px;min-height:30px}.tracking-sheet #trackingPage{font-size:12px}.tracking-sheet .tracking-table-wrap{border:1px solid #dae5e9;border-radius:8px;max-height:64vh}.tracking-sheet .tracking-editable{border-spacing:0;background:white}.tracking-sheet .tracking-editable th{background:#edf4f6;color:#244451;border-bottom:1px solid #d4e2e7;height:32px}.tracking-sheet .tracking-sort{color:#244451!important;padding:7px 6px!important;font-size:11px!important;width:100%;text-align:left;display:flex;justify-content:space-between;gap:8px;min-height:30px}.tracking-sheet .tracking-sort span{font-size:11px;opacity:.55}.tracking-sheet .tracking-column-filters th{background:#f6fafb;height:34px;padding:3px!important}.tracking-sheet .tracking-column-filters input,.tracking-sheet .tracking-column-filters select{background:white;border:1px solid #d2e1e6;border-radius:4px;height:26px;min-height:26px!important;padding:3px 6px;font-size:11px}.tracking-sheet .tracking-editable [data-key]{--cell-width:112px;min-width:var(--cell-width);width:var(--cell-width);max-width:var(--cell-width)}.tracking-sheet .tracking-editable [data-key=project]{--cell-width:170px}.tracking-sheet .tracking-editable [data-key=dc]{--cell-width:70px}.tracking-sheet .tracking-editable [data-key=component]{--cell-width:190px}.tracking-sheet .tracking-editable [data-key=current]{--cell-width:108px}.tracking-sheet .tracking-editable [data-key=tract],.tracking-sheet .tracking-editable [data-key=equipment]{--cell-width:85px}.tracking-sheet .tracking-editable [data-key=state]{--cell-width:170px}.tracking-sheet .tracking-editable [data-key=stageDays]{--cell-width:92px}.tracking-sheet .tracking-editable [data-key=reminder],.tracking-sheet .tracking-editable [data-key=notes]{--cell-width:200px}.tracking-sheet .tracking-editable [data-key] input,.tracking-sheet .tracking-editable [data-key] select,.tracking-sheet .tracking-editable [data-key] output{width:calc(var(--cell-width) - 5px);min-width:0;max-width:100%;font-size:12px;box-sizing:border-box}.tracking-sheet .tracking-editable td{border-right:1px solid #edf2f4;border-bottom:1px solid #e5edf0;padding:2px!important;height:33px}.tracking-sheet .tracking-editable tbody tr:nth-child(even){background:#fbfdfe}.tracking-sheet .tracking-editable tbody tr:hover{background:#f0f8f8}.tracking-sheet .tracking-editable [data-key=project]{position:sticky;left:35px;z-index:2;background:inherit}.tracking-sheet .tracking-editable th[data-key=project]{z-index:5;background:#edf4f6}.tracking-sheet .tracking-column-filters th[data-key=project]{background:#f6fafb}.tracking-sheet .tracking-editable td[data-key=project]{background:#f8fbfc;font-weight:600;border-right:1px solid #d4e2e7}.tracking-sheet .tracking-editable output{background:#f0f5f7;padding:6px 7px;font-size:11px!important;font-weight:600;color:#426372;border-radius:3px;white-space:nowrap}.tracking-sheet .tracking-state{border-radius:4px;font-weight:600;font-size:11px!important}.tracking-sheet .tracking-state.state-ok{background:#e0f2e6;color:#24623c}.tracking-sheet .tracking-state.state-cancelled{background:#fce4e6;color:#9f2937}.tracking-sheet .tracking-state.state-pending{background:#fff1cf;color:#855c11}.tracking-sheet .tracking-state.state-progress{background:#e2effa;color:#285b7c}.tracking-sheet .tracking-date-expired{color:#ae3b48!important}.tracking-sheet .tracking-editable .tracking-unsaved td{background:#fff7dc}.tracking-sheet #trackingMessage:empty{display:none}.tracking-sheet #trackingMessage{font-size:12px;margin:8px 0}.tracking-sheet #trackingClearFilters{padding:4px 8px;font-size:11px;min-height:28px}
@media(max-width:900px){.tracking-sheet{padding:12px}.tracking-sheet .tracking-filters{grid-template-columns:1fr 1fr}.tracking-sheet .tracking-actions{justify-content:flex-start}.tracking-overview{grid-template-columns:1fr 1fr}.tracking-sheet .permit-project-heading{flex-direction:column;gap:12px}.tracking-sheet .tracking-table-wrap{max-height:65vh}}

.tracking-sheet .tracking-sort .tracking-title{opacity:1;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracking-sheet .tracking-filters label{margin:4px 0}.tracking-sheet .tracking-editable th:first-child{z-index:6}

.tracking-sheet .tracking-editable [data-key=status]{--cell-width:120px}

.tracking-sheet .tracking-sort .tracking-title{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.3;overflow-wrap:normal}.tracking-sheet .tracking-sort{align-items:center;height:auto;min-height:38px}.tracking-sheet .tracking-editable thead tr:not(.tracking-column-filters) th{height:auto;min-height:38px}.tracking-sheet .tracking-editable th:last-child{min-width:78px;white-space:nowrap}

.tracking-sheet .tracking-filters{grid-template-columns:1.3fr 1fr 1fr 1.1fr 1fr}.tracking-status-filter{position:relative;align-self:end;margin:4px 0;min-width:0}.tracking-status-filter>summary{list-style:none;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #d2e1e6;border-radius:7px;min-height:35px;padding:8px 10px;color:#244451;background:#f9fbfc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracking-status-options{position:absolute;top:calc(100% + 5px);left:0;min-width:200px;z-index:20;background:white;border:1px solid #d2e1e6;border-radius:8px;padding:10px;box-shadow:0 6px 22px #15344225}.tracking-sheet .tracking-status-options label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;color:#244451;margin:0;padding:7px}.tracking-sheet .tracking-status-options input{width:15px;min-height:15px;height:15px;padding:0}.tracking-sheet .tracking-status-header{color:#244451;background:white;border:1px solid #d2e1e6;width:100%;padding:4px;font-size:11px;min-height:26px;text-align:left}.tracking-applied-filters{display:flex;gap:5px;flex-wrap:wrap;flex:1}.tracking-sheet .tracking-applied-filters button{padding:3px 7px;min-height:25px;font-size:10px;background:#edf6f6;border-color:#c8e5e5;color:#285c61}.tracking-sheet .tracking-editable [data-key=status]{position:sticky;left:35px;z-index:3;background:#fff;border-right:1px solid #d4e2e7}.tracking-sheet .tracking-editable th[data-key=status]{z-index:7;background:#edf4f6}.tracking-sheet .tracking-editable .tracking-column-filters th[data-key=status]{background:#f6fafb}.tracking-sheet .tracking-editable [data-key=project]{left:calc(35px + 120px);position:static}.tracking-sheet .tracking-editable td[data-key=status] select{background:transparent!important;border-color:transparent;font-weight:700}.tracking-sheet .tracking-editable td[data-key=status] select.state-ok{color:#208044}.tracking-sheet .tracking-editable td[data-key=status] select.state-cancelled{color:#c0393c}.tracking-sheet .tracking-editable td[data-key=status] select.state-pending{color:#c77713}.tracking-sheet .tracking-editable td[data-key=status] select.state-progress{color:#637985}
@media(max-width:1000px){.tracking-sheet .tracking-filters{grid-template-columns:1fr 1fr}.tracking-status-filter{align-self:end}}

.tracking-sheet .tracking-zoom{display:flex;flex-direction:row;gap:6px;align-items:center;margin:0;font-size:11px;color:#637985}.tracking-sheet .tracking-zoom select{padding:4px 6px;height:29px;border:1px solid #d2e1e6;border-radius:5px;background:white;color:#244451;font-size:12px}

/* Celdas seleccionables, colores del Excel y enlaces de estudios */
.tracking-sheet .tracking-editable td[data-key]{outline:none;user-select:none}.tracking-sheet .tracking-editable td.tracking-selected-cell{box-shadow:inset 0 0 0 2px #008891;background:#e5f4f6!important}.tracking-sheet .tracking-editable td[data-key]:focus{outline:2px solid #008891;outline-offset:-2px}.tracking-sheet .tracking-editable td input{user-select:text}.tracking-sheet .tracking-editable td[data-key=state] select{background:transparent!important;font-weight:700}.tracking-sheet .tracking-editable td[data-key=state] select option{background:white}.tracking-study-cell{display:flex;align-items:center;gap:3px;min-width:0;width:100%}.tracking-study-cell>a{font-size:12px;color:#00818b;text-decoration:underline;text-underline-offset:2px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px}.tracking-sheet .tracking-editable .tracking-study-cell input{flex:1;width:0;min-width:30px!important}.tracking-sheet .tracking-study-cell .tracking-study-editor{display:none}.tracking-sheet .tracking-editing-cell .tracking-study-editor{display:block}.tracking-sheet .tracking-editing-cell .tracking-study-cell>a{display:none}.tracking-study-actions{display:inline-flex;gap:1px;flex-shrink:0}.tracking-sheet .tracking-study-actions button{padding:3px!important;min-width:23px!important;width:23px;height:25px;border-color:transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center}.tracking-study-actions svg{width:15px;height:15px}.tracking-sheet .tracking-study-actions button:hover{background:#e4eff2}.tracking-sheet .tracking-editable td[data-key=edr],.tracking-sheet .tracking-editable td[data-key=ldp],.tracking-sheet .tracking-editable td[data-key=edp]{padding-right:4px!important}

.tracking-sheet .tracking-editable td[data-key=state] select.state-ok{background:#e0f2e6!important;color:#24623c!important}.tracking-sheet .tracking-editable td[data-key=state] select.state-cancelled{background:#fce4e6!important;color:#9f2937!important}.tracking-sheet .tracking-editable td[data-key=state] select.state-pending{background:#fff1cf!important;color:#855c11!important}.tracking-sheet .tracking-editable td[data-key=state] select.state-progress{background:#e2effa!important;color:#285b7c!important}.tracking-sheet .tracking-editable [data-key=remainingDays] output{font-weight:700;color:#285b7c}.tracking-sheet #trackingUndo,.tracking-sheet #trackingRedo{padding:7px 10px}

.tracking-sheet .tracking-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;flex-wrap:wrap}.tracking-sheet .tracking-pagination label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;color:#637985}.tracking-sheet .tracking-pagination select{height:31px;padding:4px 8px;border:1px solid #d2e1e6;border-radius:5px;background:white;color:#244451;font-size:12px}.tracking-sheet .tracking-pagination button{padding:5px 10px;min-height:31px}.tracking-sheet .tracking-pagination #trackingPage{font-size:12px;min-width:90px;text-align:center}

/* Referencias de estudios completas, incluso con iconos y zoom reducido. */
.tracking-sheet .tracking-study-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.tracking-sheet .tracking-study-cell>a{width:100%;max-width:100%;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;line-height:1.4;padding:4px}.tracking-sheet .tracking-editable .tracking-study-cell input{width:100%!important;min-width:0!important;max-width:100%}.tracking-sheet .tracking-study-actions{align-self:center}.tracking-sheet .tracking-editable td[data-key=edr],.tracking-sheet .tracking-editable td[data-key=ldp],.tracking-sheet .tracking-editable td[data-key=edp]{height:auto;vertical-align:middle}

/* Inspección se distingue del resto de etapas por rojo y un ojo. */
.tracking-sheet .tracking-editable td[data-key=state] select.state-inspection{color:#b4232c!important;background-color:#ffe4e6!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4232c' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:7px center!important;background-size:15px!important;padding-left:27px!important;font-weight:700}

.tracking-sheet .tracking-editable td[data-key=state] select.state-processed{background:#ede4fa!important;color:#713da0;font-weight:700}

.tracking-sheet .tracking-editable td[data-key=configuration]{height:auto;vertical-align:middle}.tracking-configuration-text{display:block;padding:6px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;font-size:12px;color:#153442}.tracking-sheet .tracking-editable td[data-key=configuration] input{display:none}.tracking-sheet .tracking-editable td[data-key=configuration].tracking-editing-cell input{display:block}.tracking-sheet .tracking-editable td[data-key=configuration].tracking-editing-cell .tracking-configuration-text{display:none}

/* Paleta por estado: independiente del estatus general. */
.tracking-sheet .tracking-editable td[data-key=state] select.state-waiting{color:#ad5000!important;background-color:#ffead3!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-entered{color:#66533b!important;background-color:#f1ece3!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-sending{color:#a26c00!important;background-color:#fff3c2!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-processing{color:#285b7c!important;background-color:#e2effa!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-bridge{color:#1648b5!important;background-color:#dce7ff!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-structure{color:#075b90!important;background-color:#d1efff!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-reviewed{color:#08796e!important;background-color:#d5f2ee!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-amendment{color:#104829!important;background-color:#dcebdd!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-approved{color:#24623c!important;background-color:#e0f2e6!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-processed{color:#713da0!important;background-color:#ede4fa!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-void{color:#202020!important;background-color:#eceff1!important;font-weight:700}
.tracking-sheet .tracking-editable td[data-key=state] select.state-amendment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104829' stroke-width='2'%3E%3Cpath d='m15 5 4 4M4 20l4-1L20 7a2.8 2.8 0 0 0-4-4L4 15Z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:7px center!important;background-size:15px!important;padding-left:27px!important}

/* Solicitud: referencia principal del registro, visible también en filas pendientes. */
.tracking-sheet .tracking-editable td[data-key=current],.tracking-sheet .tracking-editable .tracking-unsaved td[data-key=current]{background:#e7f2fa!important;border-left:2px solid #8db7d2;border-right:2px solid #8db7d2}
.tracking-sheet .tracking-editable td[data-key=current] input{font-weight:800!important;color:#104d76!important;font-size:13px!important;letter-spacing:.2px}
.tracking-sheet .tracking-editable thead tr:not(.tracking-column-filters) th[data-key=current]{background:#d9eaf6;border-left:2px solid #8db7d2;border-right:2px solid #8db7d2}
.tracking-sheet .tracking-editable th[data-key=current] .tracking-title{font-weight:800;color:#104d76}

.tracking-overview{grid-template-columns:repeat(5,minmax(0,1fr))}.tracking-overview>button{display:flex;align-items:center;gap:10px;border:1px solid #e1eaed;background:#f8fbfc;border-radius:8px;padding:10px 13px;text-align:left;cursor:pointer;min-width:0;color:#173b49}.tracking-overview>button:hover{background:#eaf4f7;border-color:#87b8c4}.tracking-overview>button[aria-pressed=true]{border-color:#00818b;box-shadow:inset 0 0 0 1px #00818b}.tracking-overview>button[data-overview-view=vencidos] strong{color:#ac303b}@media(max-width:1000px){.tracking-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tracking-followup-cell{display:block;width:100%}.tracking-sheet .tracking-followup-open{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;padding:5px 7px;background:transparent;border:0;color:#285b7c;font-size:12px;white-space:nowrap;min-height:29px}.tracking-followup-open span{color:#00818b;font-size:15px}.tracking-followup-open:hover{background:#e1f1f4!important}.tracking-sheet .tracking-editable .tracking-followup-cell input{display:none}.tracking-sheet .tracking-editing-cell .tracking-followup-cell input{display:block}.tracking-sheet .tracking-editing-cell .tracking-followup-open{display:none}.tracking-followup-dialog{width:min(420px,92vw)}.tracking-followup-dialog h2{font-size:18px;margin:0}.tracking-followup-dialog form label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:13px}.tracking-followup-dialog textarea{min-height:100px;resize:vertical}#trackingFollowUpError{color:#b4232c;font-size:13px}

.tracking-followup-notes{max-height:240px;overflow:auto}.tracking-followup-notes article{padding:10px 12px;margin:8px 0;background:#f1f6f8;border:1px solid #dce7eb;border-radius:7px}.tracking-followup-notes small{font-size:11px;color:#597384}.tracking-followup-notes p{margin:6px 0 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.tracking-sheet .tracking-followup-open.tracking-followup-done{color:#24623c;background:#e7f3eb}.tracking-followup-dialog{max-height:90dvh;overflow:auto}.tracking-followup-dialog .docs-toolbar{justify-content:space-between}#trackingFollowUpStatus{font-size:12px;color:#426372}

.tracking-sheet #trackingKinds a{display:inline-block;border:1px solid transparent;border-radius:7px;background:transparent;color:#536d79;font-size:13px;padding:8px 14px;text-decoration:none;cursor:pointer}.tracking-sheet #trackingKinds a[aria-pressed=true]{background:#e1f2f2;color:#007b84;font-weight:700}.tracking-sheet #trackingKinds a:focus-visible{outline:2px solid #00818b;outline-offset:2px}nav[aria-label="Apartados de permisos"] a{display:inline-block;padding:12px 16px;border:1px solid #c6d9e2;border-radius:7px;background:white;color:#153442;text-decoration:none;font-size:14px}nav[aria-label="Apartados de permisos"] a[aria-pressed=true]{background:#00818b;color:white}a.permit-project-folder{box-sizing:border-box;text-decoration:none;color:var(--ink,#153442);background:white}a.permit-project-folder:hover{background:#f0f8f8}a.permit-project-folder:focus-visible{outline:2px solid #00818b;outline-offset:-2px}

.permit-new-tab-mode{display:inline-flex;align-items:center;gap:8px;margin:0 0 0 auto;padding:9px 12px;border:1px solid #c6d9e2;border-radius:7px;background:white;color:#285b7c;font-size:12px;cursor:pointer}.permit-new-tab-mode input{width:16px;height:16px;min-height:0;margin:0;accent-color:#00818b}.permit-new-tab-mode:has(input:checked){background:#e1f2f2;border-color:#00818b;color:#007b84}

.permit-project-summary td[role=gridcell]{outline:none;user-select:none}.permit-project-summary td[role=gridcell] input{user-select:text}.permit-project-summary td.permit-copy-selected{background:#e1f3f5!important;box-shadow:inset 0 0 0 2px #008891}.permit-project-summary td[role=gridcell]:focus{outline:2px solid #008891;outline-offset:-2px}

.docs-selection{padding:9px 12px;margin:10px 0;background:#eaf5f6;border:1px solid #c8e2e5;border-radius:7px;gap:10px}.docs-selection[hidden]{display:none}.docs-selection strong{font-size:12px;margin-right:auto}.docs-selection button{font-size:12px;padding:7px 10px;margin:0}.docs-select-cell{width:32px!important;text-align:center!important}.docs-select-cell input{width:16px!important;height:16px!important;min-height:0!important;margin:0;accent-color:#00818b}.explorer-list tr.docs-file-selected{background:#e1f2f5!important;outline:1px solid #8ec8ce;outline-offset:-1px}.explorer-list tr[data-file-row][draggable=true]{cursor:grab}

#documentsHost{outline:none}.explorer-list{min-height:220px;padding-bottom:35px}.explorer-list tr[data-file-row]{user-select:none}.docs-selection-box{position:fixed;z-index:10000;pointer-events:none;background:#00889122;border:1px solid #008891}.explorer-list tr.docs-file-cut{opacity:.5}

/* Navegación horizontal de módulos y submódulos. */
body.authenticated>header{position:relative;z-index:40;padding:12px 3vw;gap:18px;box-shadow:0 2px 10px #14313e1c}body.authenticated #appTitle{display:none}body.authenticated>header>.brand{font-size:20px;white-space:nowrap}.top-module-nav{display:flex;align-items:center;gap:4px;flex:1}.top-module-nav details{position:relative;margin:0}.top-module-nav summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;list-style:none;cursor:pointer;font-size:14px;font-weight:600;color:inherit;border-radius:7px}.top-module-nav summary::-webkit-details-marker{display:none}.top-module-nav>details.top-active>summary,.top-module-nav>details[open]>summary{background:#ffffff19}.top-module-nav .top-menu{position:absolute;top:calc(100% + 6px);left:0;width:255px;background:white;color:var(--ink);border:1px solid #d6e3e8;border-radius:9px;box-shadow:0 8px 30px #14313e26;padding:6px;z-index:50}.top-menu>a,.top-menu>.top-submenu>summary{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:500;line-height:1.4;padding:12px 13px;border-radius:5px}.top-menu>a:hover,.top-menu summary:hover{background:var(--bg);color:var(--accent)}.top-module-nav .top-submenu>.top-menu{top:0;left:calc(100% + 8px)}.top-module-nav a:focus-visible,.top-module-nav summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.authenticated #menuToggle{display:none}.authenticated .module-bar{margin:0 0 20px;padding:0}.authenticated main{margin-top:28px}@media(max-width:1100px){.top-module-nav{order:3;flex-basis:100%;justify-content:flex-start}.top-module-nav>details{flex:1}}@media(max-width:650px){.authenticated #menuToggle{display:block}.top-module-nav{display:none}.authenticated>header .account-actions{width:auto;margin-left:auto;padding:0}.authenticated #theme{width:140px}.authenticated main{margin-top:20px}}

.vial-routes .route-search{align-items:end;margin:12px 0;gap:12px}.vial-routes .route-search label{margin:0;max-width:480px;flex:1}.vial-routes .docs-toolbar button{margin:0;font-size:12px;padding:9px 12px}.vial-routes td[data-key=route],.vial-routes td[data-key=notes]{height:auto;vertical-align:top}.route-long-text{display:block;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;padding:7px}.vial-routes td[data-key=route] input,.vial-routes td[data-key=notes] input{display:none}.vial-routes td.tracking-editing-cell input{display:block}.vial-routes td.tracking-editing-cell .route-long-text{display:none}.vial-routes .tracking-editable td:first-child,.vial-routes .tracking-editable th:first-child{text-align:left;min-width:100px}.vial-routes #routeMessage:empty{display:none}.permit-section-nav{padding:0 0 15px;border-bottom:1px solid #d4e2e7;margin-bottom:20px}

/* Celdas uniformes para los módulos principales. */
.top-module-nav{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:7px;max-width:760px}.top-module-nav>details{min-width:0}.top-module-nav>details>summary{display:flex!important;list-style:none!important;align-items:center;justify-content:space-between;gap:12px;min-height:43px;padding:11px 14px;border:1px solid #ffffff36;background:#ffffff08;border-radius:6px;font-size:13px;white-space:nowrap}.top-module-nav summary::marker{content:'';font-size:0}.top-module-nav summary::-webkit-details-marker{display:none!important}.top-module-nav>details>summary>span{display:inline-block;font-size:14px;line-height:1;opacity:.8}.top-module-nav>details:hover>summary{background:#ffffff16;border-color:#ffffff60}.top-module-nav>details.top-active>summary,.top-module-nav>details[open]>summary{background:#ffffff20;border-color:#65d5ce99;box-shadow:inset 0 -2px 0 #65d5ce}.top-module-nav>details[open]>summary>span{transform:rotate(180deg)}.top-module-nav>details>.top-menu{top:calc(100% + 8px)}@media(max-width:1100px){.top-module-nav{max-width:none;width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.top-module-nav>details>summary{font-size:12px;padding:10px 12px}}@media(max-width:650px){.top-module-nav{display:none}}

@media(min-width:651px){body.authenticated>header .top-module-nav{position:relative;top:8px}}

.session-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.session-loading-dot{width:20px;height:20px;border:2px solid #d4e3e6;border-top-color:var(--accent);border-radius:50%;animation:session-loading-spin .8s linear infinite}@keyframes session-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.session-loading-dot{animation:none}}

.vial-routes .tracking-editable{table-layout:fixed;min-width:0}.vial-routes .tracking-editable td,.vial-routes .tracking-editable th{box-sizing:border-box;overflow-wrap:anywhere}.vial-routes .tracking-editable td input,.vial-routes .tracking-editable th input{width:100%!important;min-width:0!important}.vial-routes .route-long-text{font-size:13px;line-height:1.65;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}.vial-routes .route-actions{position:sticky;right:0;background:#fff;border-left:1px solid #d5e3e8;white-space:nowrap!important;z-index:2}.vial-routes .tracking-unsaved .route-actions{background:#fff7dc}.vial-routes .route-actions button{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 7px;min-width:24px}.vial-routes .route-search label.tracking-zoom{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto;width:auto}.vial-routes #routeZoom{width:85px;min-height:30px;font-size:12px;border:1px solid #ccdbe0;border-radius:6px}.route-edit-dialog{width:min(850px,94vw);max-height:90dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:var(--ink);box-shadow:0 10px 45px #14313e33}.route-edit-dialog::backdrop{background:#102a3c80}.route-edit-dialog>.docs-toolbar{justify-content:space-between;align-items:center}.route-edit-dialog h2{margin:0}.route-edit-dialog button{margin:0}.route-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}.route-edit-grid label{margin:0;display:flex;flex-direction:column;gap:7px}.route-edit-grid .route-edit-wide{grid-column:1/-1}.route-edit-grid textarea{width:100%;resize:vertical;min-height:100px;padding:12px;border:1px solid #ccdbe0;border-radius:7px;font:inherit;line-height:1.6;color:var(--ink)}#routeEditError{color:#b4232c;font-size:13px}@media(max-width:600px){.route-edit-grid{grid-template-columns:1fr}.route-edit-dialog{padding:18px}}

.vial-routes .tracking-editable td:first-child,.vial-routes .tracking-editable th:first-child{min-width:80px}

.excel-import-dialog{width:min(1000px,95vw);max-height:92dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:var(--ink)}.excel-import-dialog::backdrop{background:#102a3c80}.excel-import-dialog>.docs-toolbar{justify-content:space-between}.excel-import-dialog button{margin:0}.excel-import-options,.excel-import-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.excel-import-options{grid-template-columns:2fr 1fr}.excel-import-dialog label{margin:12px 0;font-size:12px}.excel-import-dialog select{width:100%;padding:8px;color:var(--ink);border:1px solid #ccdbe0;border-radius:6px}.excel-import-preview{max-height:220px;overflow:auto;margin:14px 0;border:1px solid #d6e3e8}.excel-import-preview table{border-collapse:collapse;font-size:12px}.excel-import-preview td,.excel-import-preview th{padding:8px;border:1px solid #d6e3e8;min-width:110px;max-width:300px;overflow-wrap:anywhere}.excel-import-preview th{background:#edf4f6}.excel-import-dialog [data-error]{color:#b4232c}@media(max-width:650px){.excel-import-map{grid-template-columns:1fr 1fr}}

.permit-consultation>.permit-project-heading button{margin:0}.consult-saved-link{color:var(--accent);font-weight:650;text-decoration:underline}#consultSaveDialog .docs-toolbar{justify-content:space-between}#consultSaveDialog label{margin:15px 0 7px}#consultSaveDialog select{width:100%;padding:9px;border:1px solid #ccdbe0;border-radius:7px;color:var(--ink)}#consultSaveError{color:#b4232c}

.excel-more-fields{grid-column:1/-1;margin:8px 0}.excel-more-fields>summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:650}

.vial-routes #routeHeaders th[data-key]{position:relative}.vial-routes .route-column-resize{position:absolute;right:-4px;top:0;bottom:0;width:9px;cursor:col-resize;touch-action:none;z-index:5}.vial-routes .route-column-resize::after{content:"";position:absolute;left:4px;top:20%;bottom:20%;width:2px;background:#97b4c0}.vial-routes .route-column-resize:hover::after,.route-resizing .route-column-resize::after{background:#008894}.route-resizing,.route-resizing *{cursor:col-resize!important;user-select:none!important}

.aura-wordmark{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-size:29px;font-weight:600;letter-spacing:-1px;flex-shrink:0}.aura-mark{width:15px;height:15px;border:2px solid #65d5ce;border-radius:50%;box-shadow:0 0 0 4px #65d5ce19}.aura-dashboard{padding:12px 0 30px}.aura-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 8px 50px}.aura-hero h1{font-size:clamp(34px,4vw,54px);font-weight:600;letter-spacing:-1.8px;margin:10px 0 14px}.aura-hero p{margin:0}.aura-hero .eyebrow{font-size:11px}.aura-orbit{position:relative;width:125px;height:125px;border:1px solid #8cbab966;border-radius:50%;margin-right:40px;flex-shrink:0}.aura-orbit::before,.aura-orbit::after{content:"";position:absolute;border:1px solid #8cbab955;border-radius:50%;inset:18px}.aura-orbit::after{inset:38px;background:#d4e9e7}.aura-orbit span{position:absolute;width:13px;height:13px;background:var(--accent);border-radius:50%;top:8px;right:15px}.aura-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.aura-card{background:white;border:1px solid #d5e3e7;border-radius:15px;padding:27px 30px;transition:border-color .15s,box-shadow .15s}.aura-card:hover{border-color:#8bbcc0;box-shadow:0 5px 20px #14313e08}.aura-card-number{font-size:11px;color:#78909b;font-variant-numeric:tabular-nums}.aura-card h2{font-size:23px;margin:18px 0 10px}.aura-card h2 a{display:flex;justify-content:space-between;gap:10px;color:var(--ink);text-decoration:none}.aura-card h2 span{color:var(--accent);font-weight:400}.aura-card p{font-size:14px;margin:0 0 26px}.aura-card-links{display:flex;gap:8px 18px;flex-wrap:wrap;border-top:1px solid #e5edef;padding-top:17px}.aura-card-links a{font-size:12px;color:var(--accent);text-decoration:none}.aura-card-links a:hover{text-decoration:underline}.aura-footnote{font-size:12px;text-align:center;margin-top:30px}@media(max-width:650px){.aura-grid{grid-template-columns:1fr}.aura-hero{padding:25px 0 30px}.aura-orbit{width:75px;height:75px;margin-right:5px}.aura-orbit::after{inset:25px}.aura-card{padding:23px}.aura-hero h1{letter-spacing:-1px}}

.tracking-sheet .tracking-study-cell>a{white-space:nowrap;overflow:visible;overflow-wrap:normal;word-break:normal}.tracking-sheet .tracking-study-actions{min-width:max-content}

.user-permission-group{border:1px solid #dbe6eb;border-radius:8px;padding:12px 14px;margin:12px 0;background:#fbfdfe}.user-permission-group>strong{margin:0 0 7px}.user-permission-group>small{font-size:11px;margin-bottom:9px}.user-permission-group label{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin:9px 0;line-height:1.5}.user-permission-group input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent);margin-top:2px}.user-permission-restricted{color:#5c727e}.user-permissions{min-width:340px;max-width:520px}

.photo-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;margin:16px 0}.photo-filters label,.photo-metadata label{margin:0;font-size:12px}.photo-filters input,.photo-filters select,.photo-metadata input,.photo-metadata select{margin-top:5px;padding:9px;font:inherit;width:100%;border:1px solid #ccdbe0;border-radius:6px;min-width:0}.photo-module button{font-size:12px;padding:8px 12px}.photo-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.photo-dashboard>button,.photo-dashboard>div{display:flex;flex-direction:column;gap:6px;text-align:left;background:#f7fbfc;border:1px solid #d8e7eb;border-radius:9px;padding:16px;color:var(--ink);margin:0}.photo-dashboard strong{font-size:25px}.photo-dashboard span{font-size:12px;color:var(--muted)}.photo-categories{gap:7px;margin:16px 0}.photo-categories [aria-pressed=true]{background:#e0f1f1;border-color:#83bec2;color:#007e87}.photo-table{width:100%;min-width:1000px;border-collapse:collapse}.photo-table th,.photo-table td{padding:11px 12px;border-bottom:1px solid #e1ebef;font-size:12px;vertical-align:middle}.photo-table thead{background:#edf4f6;position:sticky;top:0}.photo-table tbody th{color:#145479;text-align:left;background:#f0f7fa}.photo-table td:nth-child(3){min-width:210px}.photo-presence{text-align:center;color:#9babaf}.photo-presence.has-photo{color:#087867;font-weight:700;font-size:17px}.photo-table button{white-space:nowrap;margin:2px}.photo-edit-dialog{width:min(1050px,96vw);max-height:92dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:var(--ink)}.photo-edit-dialog::backdrop{background:#102a3c80}.photo-edit-dialog>.docs-toolbar:first-child{justify-content:space-between;position:sticky;top:-24px;background:#fff;z-index:2;padding:12px 0}.photo-edit-dialog h2{margin:0}.photo-metadata{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin:14px 0 20px}.photo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.photo-slots article{border:1px solid #d8e5e9;border-radius:9px;padding:12px}.photo-slots h3{font-size:14px;margin:0 0 10px}.photo-image{height:230px;background:#f4f8fa;display:flex;align-items:center;justify-content:center;color:#6d828d;font-size:12px;margin-bottom:10px}.photo-image img{width:100%;height:100%;object-fit:contain}.photo-slots select{max-width:100%;padding:6px;border:1px solid #ccdbe0;border-radius:5px}.photo-edit-dialog [role=status]{font-size:12px;color:#426574}@media(max-width:800px){.photo-filters{grid-template-columns:1fr 1fr}.photo-dashboard{grid-template-columns:1fr 1fr}.photo-metadata{grid-template-columns:1fr 1fr}.photo-metadata label:last-child{grid-column:1/-1}}@media(max-width:500px){.photo-filters,.photo-slots{grid-template-columns:1fr}.photo-edit-dialog{padding:15px}.photo-dashboard{gap:7px}.photo-dashboard>button,.photo-dashboard>div{padding:12px}.photo-image{height:200px}}

@media(min-width:651px){.top-module-nav{grid-template-columns:repeat(5,minmax(115px,1fr));max-width:900px}.top-module-nav>details>summary{padding:11px 12px}}@media(min-width:651px) and (max-width:1100px){.top-module-nav{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none}.top-module-nav>details>summary{padding:10px 8px}}

@media(min-width:1001px){.photo-filters{grid-template-columns:1.1fr 1fr 1.2fr 1fr auto}}@media(min-width:801px) and (max-width:1000px){.photo-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tracking-row-selection{font-size:11px;color:#426574}.tracking-sheet .tracking-editable tr.tracking-active-row>td:first-child{box-shadow:inset 3px 0 #00838b;font-weight:700}.tracking-insert-badge{font-size:10px;color:#007d87;font-weight:700;margin-left:2px}

/* Iconos vectoriales de Aurora, locales y del mismo trazo. */
.module-icon{display:inline-block;width:19px;height:19px;min-width:19px;flex-shrink:0;vertical-align:middle}.module-label{display:inline-flex;align-items:center;gap:8px;min-width:0;font:inherit;font-weight:inherit}.top-module-nav .module-label{gap:7px}.top-module-nav .module-label>span{overflow:hidden;text-overflow:ellipsis}.top-module-nav>details>summary{gap:7px}.top-module-nav>details>summary .module-icon{width:17px;height:17px;min-width:17px;color:#78d7d1}.top-menu>a>.module-icon,.top-submenu>summary .module-icon{color:var(--accent)}.platform-nav .module-icon{margin-right:8px;color:var(--accent)}.aura-card .module-label{font-weight:600;gap:10px}.aura-card .module-icon{width:24px;height:24px;min-width:24px;color:var(--accent)}.aura-card .module-label>span{color:var(--ink);font-weight:inherit}@media(min-width:1101px){.top-module-nav>details>summary{padding-left:9px;padding-right:9px;font-size:12px}}@media(min-width:651px) and (max-width:1100px){.top-module-nav .module-label{gap:5px}.top-module-nav>details>summary{padding-left:8px;padding-right:8px}}

@media(min-width:1101px) and (max-width:1450px){.top-module-nav{grid-template-columns:repeat(3,minmax(150px,1fr));max-width:650px}}

.tracking-sheet .tracking-editable .tracking-frozen{position:sticky!important;left:var(--freeze-left)!important;z-index:4;background:#f4fafb;box-shadow:1px 0 #ccdde3}.tracking-sheet .tracking-editable thead .tracking-frozen{z-index:9;background:#edf4f6}.tracking-sheet .tracking-editable .tracking-unsaved .tracking-frozen{background:#fff7dc}

.tracking-sheet .tracking-linked-amount{box-shadow:inset 3px 0 #00838b;background:#edf8f7}.tracking-sheet .tracking-linked-amount input{color:#007981;font-weight:600}

/* Header must paint above frozen body cells when scrolling in both directions. */
.tracking-sheet .tracking-editable thead{position:sticky;top:0;z-index:20;background:#edf4f6;isolation:isolate}
.tracking-sheet .tracking-editable .tracking-amount-cell{display:flex;align-items:center;gap:5px;width:100%;min-width:0}
.tracking-sheet .tracking-editable .tracking-amount-cell input{width:0;flex:1;min-width:65px}
.tracking-sheet .tracking-editable .tracking-amount-link{flex:0 0 auto;min-height:26px;padding:3px 7px;font-size:11px;white-space:nowrap;background:#e5f3f2;color:#007c85;border:1px solid #acd3d4}
