:root{--g1:#12342c;--g2:#28705e;--gold:#c7a85c;--bg:#f4f7f6;--line:#dce5e1;--muted:#687772}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:#1f2c28}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--g1),var(--g2))}
.login-card{width:min(440px,100%);padding:42px;border-radius:22px;background:white;box-shadow:0 20px 55px rgba(0,0,0,.18)}
.brand-mark,.mini-mark{display:grid;place-items:center;background:var(--gold);color:var(--g1);font-weight:800}
.brand-mark{width:58px;height:58px;margin:auto;border-radius:17px;font-size:30px}.login-card h1{text-align:center;letter-spacing:.07em}.subtitle,.local-note{text-align:center;color:var(--muted)}
label{display:block;margin:16px 0 7px;font-weight:700}.form-control{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px}
button,.admin-panel a{border:0;border-radius:10px;padding:13px;font-weight:700;cursor:pointer;text-decoration:none}.login-card button{width:100%;margin-top:20px;background:var(--g1);color:white}
.alert{padding:12px;border-radius:10px;background:#fff0f0;color:#9f3030}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{padding:24px 18px;display:flex;flex-direction:column;justify-content:space-between;background:var(--g1);color:white}.sidebar-brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:19px;margin-bottom:28px}
.mini-mark{width:34px;height:34px;border-radius:10px}.nav-item{display:block;padding:12px;color:white;text-decoration:none;border-radius:9px}.nav-item.active{background:rgba(255,255,255,.12)}.nav-item.disabled{opacity:.4}
.logout-button{width:100%;background:transparent;color:white;border:1px solid rgba(255,255,255,.25)}.main-content{padding:34px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px}
.eyebrow{color:var(--g2);font-size:12px;font-weight:800;text-transform:uppercase}.user-badge{display:grid;padding:11px 14px;background:white;border:1px solid var(--line);border-radius:12px}.user-badge span{color:var(--muted)}
.welcome-panel{margin-top:28px;padding:34px;border-radius:18px;color:white;background:linear-gradient(125deg,var(--g1),var(--g2))}.status-pill{padding:6px 10px;border-radius:999px;background:var(--gold);color:var(--g1);font-weight:800}
.foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.foundation-grid article,.admin-panel{padding:24px;background:white;border:1px solid var(--line);border-radius:15px}
.admin-panel{margin-top:22px;display:flex;justify-content:space-between;align-items:center}.admin-panel a{background:var(--g2);color:white}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.foundation-grid{grid-template-columns:1fr}.topbar,.admin-panel{align-items:flex-start;flex-direction:column}}

/* Sprint WEB 00.02 */
.page-description{margin:7px 0 0;color:var(--muted)}
.welcome-panel.compact{padding:27px 34px}.welcome-panel.compact h2{margin-bottom:8px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.stat-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:white;display:grid;gap:12px}
.stat-card span{color:var(--muted);font-weight:600}.stat-card strong{font-size:34px;color:var(--g1)}
.primary-link,.filter-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:0;border-radius:10px;background:var(--g2);color:white;font-weight:700;text-decoration:none;cursor:pointer}
.back-link,.clear-link,.cancel-link{color:var(--g2);font-weight:700;text-decoration:none}
.filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px 170px auto auto;gap:10px;margin:22px 0}
.form-select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white}
.table-card{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:white}
.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table th,.data-table td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{background:#f8faf9;font-size:13px;color:#4f625b}.data-table tbody tr:last-child td{border-bottom:0}.data-table td small{display:block;margin-top:4px;color:var(--muted)}
.role-pill,.status{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.role-pill{background:#eef3f1;color:var(--g1)}.status.active{background:#e6f5ee;color:#21704f}.status.inactive{background:#f2f2f2;color:#757575}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.actions a,.actions button{padding:0;border:0;background:none;color:var(--g2);font-weight:700;text-decoration:none;cursor:pointer}.actions form{display:inline}.actions .danger-action{color:#a23c3c}
.empty-state{text-align:center!important;color:var(--muted);padding:40px!important}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:20px}.pagination a{color:var(--g2);font-weight:700;text-decoration:none}
.messages{display:grid;gap:10px;margin:18px 0}.message{padding:13px 15px;border-radius:10px;background:#e6f5ee;color:#216246}.message.error{background:#fff0f0;color:#9f3030}
.narrow-content{max-width:1050px;width:100%}.form-card{padding:28px;border:1px solid var(--line);border-radius:16px;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-wrap{display:grid;gap:7px}.field-wrap label{margin:0}.field-wrap small{color:var(--muted);line-height:1.4}.field-error{color:#a23c3c;font-size:13px}.checkbox-wrap{display:flex;align-items:center;gap:10px}.checkbox-wrap label{order:2}.checkbox-wrap input{order:1;width:18px;height:18px}.checkbox-wrap small{order:3;width:100%}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:28px}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:650px){.stats-grid,.filters{grid-template-columns:1fr}.main-content{padding:22px}.login-card{padding:30px}}
.two-column{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:22px;margin-top:22px}.admin-panel.block{margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.activity-card,.info-card,.rule-panel{background:#fff;border:1px solid #e4e8e7;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(24,55,48,.06)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading a{color:#176a57;font-weight:700}.activity-row{display:grid;grid-template-columns:150px 1fr 110px;gap:12px;padding:12px 0;border-top:1px solid #edf0ef}.activity-row:first-of-type{border-top:0}.activity-row span{color:#4c5d58}.activity-row small{text-align:right;color:#788680}.info-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.info-card h2,.rule-panel h2{margin-top:0}.definition-row{padding:13px 0;border-top:1px solid #edf0ef}.definition-row:first-of-type{border-top:0}.definition-row p{margin:4px 0 0;color:#687873}.hint{padding:12px;background:#f3f8f6;border-radius:10px;color:#49645b}.flow-step{display:flex;gap:10px;align-items:center;padding:9px 0}.flow-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f3ef;color:#176a57;font-weight:800}.rule-panel{margin-top:22px}.rule-panel p{margin:10px 0;color:#40534d}@media(max-width:1000px){.two-column,.info-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:1fr}.activity-row small{text-align:left}}
/* Sprint WEB 01.00 - Programación y calendario */
.toolbar-row{display:flex;justify-content:flex-end;margin:22px 0}.actions-large{display:flex;gap:10px;flex-wrap:wrap}.secondary-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--g2);border-radius:10px;color:var(--g2);font-weight:700;text-decoration:none;background:white}.audit-filters{grid-template-columns:minmax(250px,1fr) 190px 190px auto auto}.table-title{color:var(--g1);font-weight:800;text-decoration:none}.muted{color:var(--muted)}.form-section{border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.form-section:first-child{border-top:0;padding-top:0;margin-top:0}.form-section h2{margin:0 0 16px}.field-wide{grid-column:1/-1}.audit-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.detail-list{display:grid;grid-template-columns:130px 1fr;gap:12px 18px;margin:0}.detail-list dt{font-weight:800;color:var(--muted)}.detail-list dd{margin:0}.team-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.team-row:first-of-type{border-top:0}.team-row small{display:block;color:var(--muted);margin-top:3px}.tabs-placeholder{display:flex;gap:5px;overflow:auto;margin-top:22px;padding:7px;background:white;border:1px solid var(--line);border-radius:14px}.tabs-placeholder span{white-space:nowrap;padding:10px 13px;border-radius:9px;color:var(--muted);font-weight:700}.tabs-placeholder span.active{background:var(--g1);color:white}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:24px 0;padding:16px 20px;background:white;border:1px solid var(--line);border-radius:14px}.calendar-nav h2{margin:0}.calendar-nav a{color:var(--g2);font-weight:700;text-decoration:none}.calendar-list{display:grid;gap:10px}.calendar-day{display:grid;grid-template-columns:82px 1fr;min-height:74px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.calendar-date{display:grid;place-items:center;align-content:center;background:#eef5f2}.calendar-date strong{font-size:28px;color:var(--g1)}.calendar-date span{text-transform:uppercase;font-size:12px;color:var(--muted)}.calendar-events{padding:10px 14px;display:grid;gap:8px;align-content:center}.calendar-event{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:10px 12px;border-radius:10px;background:#f7faf9;color:inherit;text-decoration:none}.calendar-event>span{font-weight:800;color:var(--g2)}.calendar-event small{display:block;margin-top:3px;color:var(--muted)}.calendar-event em{font-style:normal;font-size:12px;font-weight:800;color:var(--g1)}
@media(max-width:900px){.audit-summary-grid{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr 1fr}.calendar-event{grid-template-columns:50px 1fr}.calendar-event em{grid-column:2}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}}
@media(max-width:650px){.audit-filters{grid-template-columns:1fr}.calendar-day{grid-template-columns:58px 1fr}.calendar-event{grid-template-columns:1fr}.calendar-event em{grid-column:auto}.detail-list{grid-template-columns:1fr}.detail-list dd{padding-bottom:8px}}

/* WEB 01.00A */
.topbar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.pdf-import-status { margin: 0 0 18px; padding: 12px 14px; border-radius: 8px; font-weight: 600; }
.pdf-import-status.working { background: #eef5f3; border: 1px solid #9bbdb4; }
.pdf-import-status.success { background: #eaf7ef; border: 1px solid #76b98c; }
.pdf-import-status.warning { background: #fff8e5; border: 1px solid #d8b85b; }
.pdf-import-status.error { background: #fdecec; border: 1px solid #cf7777; }

/* WEB 01.01B - Importador por pestañas inspirado en el Gestor de escritorio */
.import-workspace{max-width:1320px;width:100%}.import-topbar{margin-bottom:18px}.import-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 26px rgba(24,55,48,.06)}
.pdf-drop-zone{margin:18px;border:2px dashed #9eb9d0;border-radius:16px;min-height:175px;padding:26px;display:flex;align-items:center;justify-content:center;gap:26px;text-align:center;background:#fbfdff;transition:.2s}.pdf-drop-zone.drag-over{border-color:var(--g2);background:#eff8f5}.pdf-drop-icon{display:grid;place-items:center;width:72px;height:82px;border-radius:10px;background:#eaf1f7;color:#315e7d;font-weight:900;letter-spacing:1px}.pdf-drop-copy h2{margin:0;color:#153754;font-size:29px}.pdf-drop-copy p{margin:8px 0 16px;color:#60758a}.pdf-select-button{min-width:325px}.native-file-input{position:absolute;left:-9999px}.selected-file-name{margin-top:10px;color:#5b6d68;font-size:13px;font-weight:700}
.import-review-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;color:#496881;background:#f7fafc;border-top:1px solid var(--line)}.import-review-heading strong{display:block}.import-review-heading span{display:block;margin-top:3px;font-size:13px;color:var(--muted)}.compact-button{padding:8px 12px;font-size:13px}
.import-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eef4f7;padding-left:10px}.import-tab{position:relative;border:0;border-right:1px solid #d5dfe4;background:transparent;padding:15px 20px;color:#17364c;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.import-tab.active{background:#fff;color:#102f48}.import-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--g2)}.tab-state{display:inline-block;width:9px;height:9px;margin-left:8px;border-radius:50%;background:#aab6b1}.import-tab.state-ok .tab-state{background:#27845f}.import-tab.state-warning .tab-state{background:#d49e27}.import-tab.state-error .tab-state{background:#bd4d4d}
.import-panels{min-height:485px}.import-panel{padding:22px}.desktop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.desktop-field{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:12px}.desktop-field.field-wide{grid-column:1/-1}.desktop-field label{margin:0;font-weight:500;color:#153754}.desktop-field .form-control,.desktop-field .form-select{min-height:43px;border-radius:8px}.desktop-field textarea{resize:vertical}.single-column-grid{grid-template-columns:1fr}.single-column-grid .desktop-field{grid-template-columns:210px minmax(0,1fr);align-items:start}.team-form-grid .desktop-field{align-items:start}.team-form-grid select[multiple]{min-height:105px}.team-intro,.imported-hints,.route-note{margin-bottom:18px;padding:11px 13px;border-radius:9px;background:#f1f6f4;color:#50645d}.imported-hints{margin-top:18px;background:#fff8e6;border:1px solid #ead18c}
.centers-toolbar{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.centers-toolbar h3{margin:0 0 4px}.centers-toolbar p{margin:0;color:var(--muted)}.center-table-card{border:1px solid #cfd9dd;border-radius:10px;overflow:hidden}.center-table-head,.center-table-row{display:grid;grid-template-columns:58px 150px minmax(280px,1.4fr) minmax(220px,1fr)}.center-table-head{background:#eef3f5;font-weight:800;color:#17364c}.center-table-head span,.center-table-row>span,.center-table-row>div{padding:12px;border-right:1px solid #d8e0e3}.center-table-head span:last-child,.center-table-row>div:last-child{border-right:0}.center-table-row{min-height:145px}.center-number,.center-type{color:#4d635b}.compact-field{display:block;padding:8px!important}.compact-field textarea{width:100%;height:116px}.center-scope-preview{white-space:pre-wrap;color:#50645d}
.route-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.route-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa;display:grid;gap:8px}.route-card span{color:var(--muted);font-size:13px}.route-card strong{color:var(--g1);font-size:18px;white-space:pre-wrap}.route-edit-grid{max-width:780px}.route-note{margin-top:20px}.mirror-control{background:#fff}
.sticky-form-actions{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -7px 20px rgba(24,55,48,.06);z-index:4}.save-summary{color:var(--muted);font-size:13px}.form-actions-inline{display:flex;align-items:center;gap:18px}.form-global-error{margin:18px;padding:12px;border-radius:9px;background:#fff0f0;color:#9f3030}
@media(max-width:1000px){.desktop-form-grid{grid-template-columns:1fr}.desktop-field.field-wide{grid-column:auto}.desktop-field{grid-template-columns:145px minmax(0,1fr)}.center-table-head{display:none}.center-table-row{grid-template-columns:55px 1fr}.center-table-row>div,.center-table-row>span{border-bottom:1px solid #d8e0e3}.center-table-row .compact-field,.center-table-row .center-scope-preview{grid-column:1/-1}.route-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pdf-drop-zone{flex-direction:column}.pdf-select-button{min-width:0;width:100%}.pdf-drop-copy h2{font-size:23px}.import-review-heading,.sticky-form-actions{align-items:flex-start;flex-direction:column}.desktop-field,.single-column-grid .desktop-field{grid-template-columns:1fr;gap:6px}.route-summary-grid{grid-template-columns:1fr}.form-actions-inline{width:100%;justify-content:flex-end}.import-panel{padding:16px}}

/* WEB 01.02 - Importador compacto tipo aplicación, basado en Gestor escritorio */
.desktop-import-page{padding:12px 18px;overflow:hidden}.desktop-import-window{max-width:1180px;height:calc(100vh - 24px);min-height:650px;margin:0 auto;background:#f4f6f7;border:1px solid #b9c8cf;border-radius:10px;box-shadow:0 10px 30px rgba(13,42,56,.12);display:flex;flex-direction:column;overflow:hidden}.desktop-import-titlebar{height:52px;flex:0 0 52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;background:#eef2f4;border-bottom:1px solid #c9d4d9}.desktop-import-titlebar h1{font-size:18px;margin:0;color:#17354d;text-align:center}.desktop-import-titlebar>div{display:flex;align-items:center;gap:12px}.sprint-label{font-size:11px;color:#21705d;font-weight:800}.desktop-import-form{display:flex;flex-direction:column;min-height:0;flex:1}.desktop-pdf-loader{flex:0 0 82px;margin:8px 10px 6px;padding:10px 16px;border:2px dashed #98b3c9;border-radius:10px;display:grid;grid-template-columns:48px 1fr auto minmax(180px,260px);align-items:center;gap:14px;background:white}.desktop-pdf-loader.drag-over{background:#edf7f4;border-color:#277e67}.desktop-pdf-icon{width:44px;height:52px;display:grid;place-items:center;background:#e8f0f6;border-radius:6px;color:#315e7d;font-weight:900}.desktop-pdf-main{display:grid;gap:3px}.desktop-pdf-main strong{font-size:18px;color:#123956}.desktop-pdf-main span{font-size:13px;color:#60758a}.desktop-pdf-button{padding:10px 18px;white-space:nowrap}.desktop-file-name{font-size:12px;color:#536761;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-review-strip{min-height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-top:1px solid #d7e0e4;background:#f9fbfc;color:#4c687b;font-size:13px}.desktop-tabs{flex:0 0 42px;display:flex;border-top:1px solid #cfd9de;border-bottom:1px solid #c5d0d6;background:#e9eff2;padding-left:6px}.desktop-tab{border:0;border-right:1px solid #cbd6dc;background:transparent;padding:0 18px;color:#17364c;font:inherit;font-size:14px;cursor:pointer;position:relative}.desktop-tab.active{background:white;font-weight:800}.desktop-tab.active:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:-1px;background:#277e67}.desktop-tab .tab-state{width:8px;height:8px}.desktop-tab.state-ok .tab-state{background:#288764}.desktop-tab.state-warning .tab-state{background:#d19b2d}.desktop-tab.state-error .tab-state{background:#bc4e4e}.desktop-panels{flex:1;min-height:0;background:white;overflow:hidden}.desktop-panel{height:100%;padding:12px 14px;overflow:auto}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.compact-field{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.compact-field.span-2{grid-column:1/-1}.compact-field label{font-size:13px;color:#17354d;margin:0}.compact-field .form-control,.compact-field .form-select{min-height:36px;height:36px;padding:6px 10px;border-radius:5px;font-size:13px}.compact-field textarea.form-control{height:auto;min-height:48px;resize:vertical}.general-grid .span-2 textarea{min-height:44px;max-height:66px}.team-grid{align-items:start}.team-grid .tall-select{align-items:start}.team-grid select[multiple]{height:120px;min-height:120px}.desktop-hints{margin-top:10px;padding:8px 10px;background:#fff8e6;border:1px solid #e2c778;border-radius:5px;font-size:12px;line-height:1.5}.scope-stack{display:grid;gap:8px}.scope-field{grid-template-columns:160px minmax(0,1fr);align-items:start}.scope-field textarea{height:92px!important;min-height:92px!important}.desktop-table-wrap{border:1px solid #bfcdd3}.desktop-table-head,.desktop-table-row{display:grid;grid-template-columns:45px 130px minmax(320px,1.4fr) minmax(260px,1fr)}.desktop-table-head{background:#e9eef1;color:#17354d;font-weight:800;font-size:13px}.desktop-table-head span,.desktop-table-row>span{padding:8px;border-right:1px solid #c8d3d8}.desktop-table-row>span:last-child,.desktop-table-head span:last-child{border-right:0}.desktop-table-row textarea{width:100%;height:145px;resize:vertical}.desktop-table-row .form-select{height:36px}.cell-number{text-align:center}.desktop-panel-note{margin-top:8px;color:#65736f;font-size:12px}.route-desktop-layout{max-width:940px}.route-help{margin:0 0 10px;color:#60736e;font-size:13px}.route-radio-list ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.route-radio-list label{display:flex;align-items:center;gap:8px;font-size:13px}.route-fieldset{border:1px solid #c4d0d5;padding:10px 14px 14px}.route-fieldset legend{padding:0 6px;font-weight:800;color:#17354d;font-size:13px}.route-fieldset:disabled{opacity:.55}.route-grid{gap:8px 14px}.desktop-form-footer{height:54px;flex:0 0 54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#eef2f4;border-top:1px solid #c7d2d7;box-shadow:0 -3px 10px rgba(23,53,77,.05)}.desktop-form-footer>span{font-size:12px;color:#677a74}.desktop-footer-actions{display:flex;align-items:center;gap:16px}.desktop-footer-actions .primary-link{padding:10px 18px;border:0}.pdf-import-status{margin:0 10px 6px;padding:8px 10px;font-size:13px}.form-global-error{margin:6px 10px}.native-file-input{position:absolute;left:-9999px}
@media(max-width:900px){.desktop-import-page{padding:0}.desktop-import-window{height:100vh;border-radius:0}.desktop-pdf-loader{grid-template-columns:42px 1fr auto}.desktop-file-name{grid-column:2/-1}.compact-grid{grid-template-columns:1fr}.compact-field.span-2{grid-column:auto}.compact-field{grid-template-columns:135px minmax(0,1fr)}.desktop-table-head{display:none}.desktop-table-row{grid-template-columns:45px 1fr}.desktop-table-row>span:nth-child(3),.desktop-table-row>span:nth-child(4){grid-column:1/-1}.desktop-import-titlebar{grid-template-columns:1fr auto}.desktop-import-titlebar h1{text-align:right}.desktop-tabs{overflow-x:auto}.desktop-tab{white-space:nowrap}}

/* WEB 01.02A: correcciones de equipo, centros y rutas */
.detected-team-field{align-items:start}.detected-team-text{min-height:54px!important;height:54px!important;background:#f7faf9;color:#17354d}.system-assignment-field{align-items:start}.assignment-editor{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px}.assignment-select{grid-column:1/-1}.assignment-select select[multiple]{width:100%;height:112px;min-height:112px;font-size:13px}.assignment-summary{font-size:12px;color:#536b63;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-table-row .form-select{height:40px!important;min-height:40px!important;line-height:1.3!important;padding:7px 28px 7px 9px!important;font-size:13px!important;color:#17354d!important;background-color:#fff!important}.desktop-table-row select option{font-size:13px;color:#17354d}.route-fieldset+ .route-fieldset{margin-top:10px}.route-empty-note{font-size:12px;color:#6b7773;margin:8px 0 0}.route-fieldset .form-select{width:100%;min-height:38px}.desktop-table-head,.desktop-table-row{grid-template-columns:45px 145px minmax(320px,1.4fr) minmax(260px,1fr)}

/* WEB 01.02C · Equipo auditor idéntico al Gestor de escritorio */
.desktop-team-form {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  max-width: 100%;
}
.desktop-team-row {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.desktop-team-row label {
  font-weight: 600;
  color: #172b3a;
}
.desktop-team-row textarea {
  min-height: 68px;
  resize: vertical;
}
.desktop-team-row-large { align-items: start; }
.desktop-team-row-large textarea { min-height: 150px; }
.internal-account-links, .hidden-account-field { display: none !important; }
@media (max-width: 720px) {
  .desktop-team-row { grid-template-columns: 1fr; gap: 5px; }
}

/* WEB 01.02D · Dashboard operativo por rol */
.dashboard-main{padding-bottom:40px}.dashboard-topbar{align-items:flex-start}.dashboard-subtitle{margin:8px 0 0;color:var(--muted);max-width:760px}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:14px}.dashboard-title-row h2{margin:0 0 4px;color:var(--g1)}.dashboard-title-row span{color:var(--muted);font-size:14px}.dashboard-quick-actions{display:flex;gap:10px;flex-wrap:wrap}.compact-button{padding:12px 16px;text-decoration:none}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.dashboard-kpi{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:.15s ease}.dashboard-kpi:hover{transform:translateY(-1px);border-color:#9bbeb2;box-shadow:0 8px 22px rgba(20,65,55,.08)}.dashboard-kpi span{font-weight:700;color:var(--muted)}.dashboard-kpi strong{font-size:32px;color:var(--g1)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;margin-top:16px}.dashboard-panel,.admin-dashboard-section{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.compact-heading{padding:17px 20px;border-bottom:1px solid var(--line);margin:0}.compact-heading h2{margin:0 0 3px;font-size:19px}.compact-heading p{margin:0;color:var(--muted);font-size:13px}.dashboard-audit-list,.upcoming-list{display:grid}.dashboard-audit-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.dashboard-audit-row:last-child,.upcoming-row:last-child{border-bottom:0}.dashboard-audit-row:hover,.upcoming-row:hover{background:#f7faf9}.audit-date-box{display:grid;place-items:center;align-content:center;width:48px;height:54px;border-radius:10px;background:#eaf4ef;color:var(--g1)}.audit-date-box strong{font-size:21px;line-height:1}.audit-date-box span{text-transform:uppercase;font-size:11px;font-weight:800;margin-top:4px}.audit-row-main{min-width:0}.audit-row-main strong,.audit-row-main span,.audit-row-main small{display:block}.audit-row-main strong{color:var(--g1);font-size:15px}.audit-row-main span{margin-top:3px;font-size:13px}.audit-row-main small{margin-top:4px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4f1;color:var(--g1);font-size:11px;font-weight:800;white-space:nowrap}.status-suspended{background:#fdeceb;color:#8e2c24}.status-report_sent,.status-closed{background:#e7f5ec;color:#24623d}.upcoming-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.upcoming-row time{font-weight:800;color:var(--g2)}.upcoming-row strong,.upcoming-row span{display:block}.upcoming-row strong{color:var(--g1)}.upcoming-row span{margin-top:3px;color:var(--muted);font-size:12px}.upcoming-row small{font-weight:700;color:var(--muted);text-align:right}.dashboard-empty{display:flex;flex-direction:column;gap:6px;padding:36px 20px;text-align:center;color:var(--muted)}.dashboard-empty strong{color:var(--g1)}.small-empty{padding:26px 20px}.admin-dashboard-section{margin-top:16px;padding-bottom:16px}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px}.admin-stat{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.admin-stat span{font-weight:700;color:var(--muted)}.admin-stat strong{font-size:24px;color:var(--g1)}.dashboard-activity{margin:0 16px;border:1px solid var(--line);box-shadow:none}.nav-section-label{padding:18px 12px 7px;color:#8fb0a5;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.admin-dashboard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-title-row{align-items:flex-start;flex-direction:column}.dashboard-kpis,.admin-dashboard-grid{grid-template-columns:1fr}.dashboard-audit-row{grid-template-columns:48px minmax(0,1fr)}.dashboard-audit-row .status-chip{grid-column:2;justify-self:start}.upcoming-row{grid-template-columns:1fr}.upcoming-row small{text-align:left}}

/* WEB 01.02E · Coordinación y calendarios */
.calendar-header-actions,.dashboard-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.calendar-toolbar-card,.calendar-month-card{background:#fff;border:1px solid #d7e1de;border-radius:14px;margin-top:16px}
.calendar-toolbar-card{padding:14px 18px}
.calendar-view-form{display:flex;align-items:end;gap:22px;flex-wrap:wrap}
.calendar-view-option{display:flex;align-items:center;gap:8px;font-weight:700;color:#173f35;padding-bottom:10px}
.calendar-user-filter{display:flex;flex-direction:column;gap:5px;min-width:320px}
.calendar-user-filter label{font-size:.82rem;font-weight:700;color:#536a64}
.calendar-user-filter select{height:42px;border:1px solid #cbd8d4;border-radius:9px;background:#fff;padding:0 12px;font:inherit}
.calendar-user-filter.is-disabled{opacity:.48}
.calendar-grid-nav{padding:16px 20px;border-bottom:1px solid #dbe4e1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.calendar-grid-nav>a:last-child{text-align:right}
.calendar-grid-nav>div{text-align:center}
.calendar-grid-nav h2{margin:0;font-size:1.35rem}
.calendar-grid-nav span{display:block;color:#657b75;font-size:.86rem;margin-top:3px}
.month-grid{overflow:auto}
.month-weekdays,.month-week{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px}
.month-weekdays{background:#edf3f1;border-bottom:1px solid #d7e1de;font-weight:800;color:#345b51}
.month-weekdays>div{padding:10px 9px;text-align:center;border-right:1px solid #d7e1de}
.month-day{min-height:145px;padding:8px;border-right:1px solid #dde6e3;border-bottom:1px solid #dde6e3;background:#fff;position:relative}
.month-day.outside-month{background:#f5f7f6;color:#a4afab}
.month-day.today{box-shadow:inset 0 0 0 2px #1f7a62;background:#fbfffd}
.month-day-number{font-weight:800;font-size:.9rem;margin-bottom:7px}
.month-day-events{display:flex;flex-direction:column;gap:6px}
.month-audit-event{display:block;text-decoration:none;background:#e8f4ef;border-left:4px solid #21765e;border-radius:7px;padding:7px 8px;color:#173e34;line-height:1.2}
.month-audit-event:hover{background:#dceee7}
.month-event-company{font-weight:800;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-event-team{font-size:.72rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3e6258}
.month-event-meta{font-size:.68rem;margin-top:4px;color:#60766f}
@media(max-width:900px){.calendar-grid-nav{grid-template-columns:1fr;gap:8px;text-align:center}.calendar-grid-nav>a:last-child{text-align:center}.calendar-view-form{align-items:stretch;flex-direction:column}.calendar-user-filter{min-width:0;width:100%}}
/* WEB 01.03 · Empresas, programación y renovaciones */
.company-head,.company-row{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr 1.35fr;gap:12px;align-items:center}.company-row>span:first-child{display:flex;flex-direction:column}.company-row small{color:#6d7d78}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.company-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.renewal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #dbe5e1}.renewal-row:last-child{border-bottom:0}.renewal-row>div{display:flex;flex-direction:column;gap:4px}.renewal-row span{color:#64736e}.renewal-dashboard-panel{margin-top:18px}.company-search-select{min-height:42px}@media(max-width:1000px){.company-head{display:none}.company-row{grid-template-columns:1fr 1fr}.company-row .row-actions{grid-column:1/-1;justify-content:flex-start}.company-form-grid{grid-template-columns:1fr}}
.team-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.team-program-grid select[multiple]{min-height:125px}@media(max-width:900px){.team-program-grid{grid-template-columns:1fr}}

/* WEB 01.03A · Dashboard elegante de coordinación */
.coordinator-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding:24px 26px;background:linear-gradient(135deg,#123f35 0%,#1f6b59 100%);border-radius:18px;color:#fff;box-shadow:0 14px 34px rgba(17,63,53,.16)}
.coordinator-hero h2{margin:5px 0 6px;font-size:1.55rem;color:#fff}.coordinator-hero p{margin:0;color:#d7ebe4}.coordinator-hero-label{font-size:.73rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#d9bc64}
.coordinator-program-button{display:flex;align-items:center;gap:14px;min-width:280px;padding:15px 18px;background:#fff;color:#123f35;border-radius:14px;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.12);transition:.16s ease}.coordinator-program-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.17)}.coordinator-program-button strong,.coordinator-program-button small{display:block}.coordinator-program-button strong{font-size:1rem}.coordinator-program-button small{margin-top:3px;color:#667a73;font-size:.78rem}.coordinator-program-plus{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#d7bb62;color:#153e35;font-size:1.7rem;font-weight:800;line-height:1}
.coordinator-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:16px}.coordinator-kpi{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:116px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-left:5px solid #8cb4a7;border-radius:15px;color:inherit;text-decoration:none;transition:.16s ease}.coordinator-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(21,63,53,.09)}.coordinator-kpi div{min-width:0}.coordinator-kpi span,.coordinator-kpi small{display:block}.coordinator-kpi span{font-weight:850;color:#173f35}.coordinator-kpi small{margin-top:7px;line-height:1.35;color:#6c7d77}.coordinator-kpi strong{font-size:2.35rem;color:#153f35}.coordinator-kpi-warning{border-left-color:#d6ad3f}.coordinator-kpi-success{border-left-color:#2e8a68}.coordinator-kpi-negotiation{border-left-color:#6a7fb8}
.coordinator-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.7fr);gap:16px;margin-top:16px}.coordinator-month-panel{min-height:440px}.coordinator-month-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line);background:#f7faf9}.coordinator-month-header>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #bfd0ca;border-radius:10px;color:#17483d;text-decoration:none;font-size:1.25rem}.coordinator-month-header>div{text-align:center}.coordinator-month-header span{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#6a7c76}.coordinator-month-header h2{margin:3px 0 0;color:#173f35;font-size:1.25rem}.coordinator-month-list{display:grid}.coordinator-month-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.coordinator-month-row:hover{background:#f7faf9}.coordinator-month-row time{display:grid;place-items:center;align-content:center;width:50px;height:54px;border-radius:11px;background:#eaf3ef}.coordinator-month-row time strong{font-size:1.25rem;color:#17483d}.coordinator-month-row time span{font-size:.67rem;text-transform:uppercase;color:#71817c}.coordinator-month-main strong,.coordinator-month-main span,.coordinator-month-main small{display:block}.coordinator-month-main strong{color:#153f35}.coordinator-month-main span{margin-top:3px;font-size:.82rem}.coordinator-month-main small{margin-top:4px;color:#6a7b75}.coordinator-panel-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;background:#f8faf9}.coordinator-panel-footer a{font-weight:800;color:#17604f;text-decoration:none}
.coordinator-side-column{display:grid;align-content:start;gap:16px}.coordinator-renewals-panel{overflow:hidden}.coordinator-renewal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.coordinator-renewal-row:hover{background:#fffaf0}.coordinator-renewal-row strong,.coordinator-renewal-row span{display:block}.coordinator-renewal-row span{margin-top:3px;color:#687872;font-size:.8rem}.coordinator-renewal-row em{font-style:normal;font-size:.75rem;font-weight:800;color:#8a681b;background:#fff3cd;padding:6px 8px;border-radius:999px;white-space:nowrap}.coordinator-shortcuts{display:grid;gap:10px}.coordinator-shortcuts a{display:flex;flex-direction:column;gap:4px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:13px;color:inherit;text-decoration:none}.coordinator-shortcuts a:hover{border-color:#9bbeb2;box-shadow:0 7px 18px rgba(20,65,55,.07)}.coordinator-shortcuts strong{color:#17483d}.coordinator-shortcuts span{color:#6c7d77;font-size:.82rem}
.calendar-program-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:10px;text-decoration:none;font-weight:850;white-space:nowrap}.status-program_negotiation{background:#edf0fb;color:#435b9d}
@media(max-width:1150px){.coordinator-layout{grid-template-columns:1fr}.coordinator-kpis{grid-template-columns:1fr 1fr}.coordinator-kpi:last-child{grid-column:1/-1}}
@media(max-width:760px){.coordinator-hero{align-items:stretch;flex-direction:column}.coordinator-program-button{min-width:0}.coordinator-kpis{grid-template-columns:1fr}.coordinator-kpi:last-child{grid-column:auto}.coordinator-month-row{grid-template-columns:52px 1fr}.coordinator-month-row>.status-chip{grid-column:2;justify-self:start}.coordinator-panel-footer{flex-direction:column}.coordinator-kpi{min-height:96px}}


/* WEB 01.03B · Coordinación operativa y centros múltiples */
.company-locations-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.company-locations-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.company-locations-heading h2{margin:4px 0 4px;font-size:1.16rem}.company-locations-heading p{margin:0;color:#6c7d77}.location-forms{display:grid;gap:12px}.location-card{padding:16px;border:1px solid #d3dfdb;border-radius:13px;background:#f9fbfa}.location-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.location-remove{border:0;background:transparent;color:#8b4b45;font-weight:800;cursor:pointer}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-delete-field{display:none}
.coordinator-kpis-refined{grid-template-columns:repeat(3,minmax(0,1fr))}.coordinator-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.coordinator-command-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 7px 20px rgba(20,65,55,.05);transition:.16s ease}.coordinator-command-card:hover{transform:translateY(-2px);border-color:#8bb7a8;box-shadow:0 12px 26px rgba(20,65,55,.1)}.command-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#e5f2ed;color:#17604f;font-size:1.55rem;font-weight:900}.coordinator-command-card span,.coordinator-command-card strong,.coordinator-command-card small{display:block}.coordinator-command-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#70817b;font-weight:800}.coordinator-command-card strong{margin-top:4px;color:#143f35;font-size:1.02rem}.coordinator-command-card small{margin-top:5px;color:#6d7d78}.coordinator-command-card b{color:#17604f;white-space:nowrap}.command-person{border-color:#c8d2eb}.command-person .command-icon{background:#edf0fb;color:#4d629d}
.coordinator-work-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:16px;margin-top:16px}.coordinator-negotiation-panel{min-height:285px}.negotiation-list{display:grid}.negotiation-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.negotiation-row:hover{background:#f8faf9}.negotiation-row strong,.negotiation-row span{display:block}.negotiation-row span{margin-top:4px;color:#6a7b75;font-size:.82rem}.negotiation-row em{font-style:normal;font-size:.74rem;font-weight:850;color:#4d619d;background:#edf0fb;padding:6px 9px;border-radius:999px}.coordinator-expiry-card{display:flex;flex-direction:column;padding:20px 22px;background:linear-gradient(145deg,#fffaf0,#fff);border:1px solid #eadba8;border-left:6px solid #d6ad3f;border-radius:16px;color:inherit;text-decoration:none}.coordinator-expiry-card span{font-weight:850;color:#173f35}.coordinator-expiry-card strong{font-size:2.6rem;line-height:1;margin:14px 0 8px;color:#153f35}.coordinator-expiry-card small{color:#7a6a3f}.calendar-grid-nav strong{color:#17604f}.inline-form{display:inline-flex;margin:0}
@media(max-width:1000px){.coordinator-command-grid,.coordinator-work-grid{grid-template-columns:1fr}.location-grid{grid-template-columns:1fr}.company-locations-heading{flex-direction:column}}


/* WEB 01.03C · Dashboard de coordinación depurado */
.coordinator-hero-compact{margin-top:20px;padding:20px 24px}.coordinator-hero-compact h2{font-size:1.42rem}.coordinator-hero-compact .coordinator-program-button{min-width:260px}
.coordinator-kpis-clean{margin-top:14px}.coordinator-kpis-clean .coordinator-kpi{min-height:104px;padding:18px 20px}.coordinator-kpis-clean .coordinator-kpi strong{font-size:2.15rem}
.coordinator-calendars-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.calendar-access-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(20,65,55,.05);transition:.16s ease}.calendar-access-card:hover{transform:translateY(-2px);border-color:#8bb7a8;box-shadow:0 12px 26px rgba(20,65,55,.1)}.calendar-access-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#e5f2ed;color:#17604f;font-size:1.55rem;font-weight:900}.calendar-access-copy span,.calendar-access-copy strong,.calendar-access-copy small{display:block}.calendar-access-copy span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#70817b;font-weight:850}.calendar-access-copy strong{margin-top:4px;color:#143f35;font-size:1.05rem}.calendar-access-copy small{margin-top:5px;color:#6d7d78}.calendar-access-card b{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid #8bb7a8;border-radius:10px;color:#17604f;white-space:nowrap}.calendar-access-person{border-color:#c8d2eb}.calendar-access-person .calendar-access-icon{background:#edf0fb;color:#4d629d}.calendar-access-person b{border-color:#aab7dc;color:#4d629d}
.coordinator-negotiation-full{margin-top:16px;min-height:230px}.coordinator-negotiation-full .dashboard-empty{min-height:130px}.coordinator-negotiation-full .dashboard-empty span{display:block;margin-top:6px;color:#72817c;font-weight:400}
@media(max-width:920px){.coordinator-calendars-grid{grid-template-columns:1fr}.calendar-access-card{grid-template-columns:52px 1fr}.calendar-access-card b{grid-column:2;justify-self:start}.coordinator-hero-compact{align-items:stretch;flex-direction:column}.coordinator-hero-compact .coordinator-program-button{min-width:0}}


/* WEB 01.03D — Dashboard coordinador sin duplicidades */
.coordinator-calendars-grid {
  margin-bottom: 0;
}
.coordinator-kpis-clean .coordinator-kpi {
  min-height: 96px;
}
@media (min-width: 1100px) {
  .coordinator-calendars-grid {
    min-height: 118px;
  }
}

/* WEB 01.03E · listado de auditorías y renovaciones */
.audit-filters-complete{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(190px,1fr) 150px 150px auto auto;gap:10px;align-items:center}
.audit-overview-table td{vertical-align:top}
.audit-team-line{display:flex;flex-direction:column;margin-bottom:6px}
.audit-team-line span{font-size:12px;color:#6f7f79}
.renewal-summary{min-width:120px;padding:14px 18px;border:1px solid #d9e4df;border-radius:14px;background:#fff;text-align:center;display:flex;flex-direction:column}
.renewal-summary strong{font-size:28px;color:#103f35}.renewal-summary span,.renewal-summary small{color:#6f7f79}
.renewal-overdue,.renewal-soon{display:inline-block;margin-top:7px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700}
.renewal-overdue{background:#fde7e7;color:#a72727}.renewal-soon{background:#fff3d2;color:#7d5a00}
@media(max-width:1200px){.audit-filters-complete{grid-template-columns:1fr 1fr 1fr}.audit-filters-complete .filter-button,.audit-filters-complete .clear-link{justify-self:start}}

/* WEB 01.04 · Dashboard Administrador */
.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;border-radius:22px;background:linear-gradient(135deg,#123f35,#216b59);color:#fff;box-shadow:0 12px 30px rgba(18,63,53,.12)}
.admin-hero h2{margin:4px 0 6px;font-size:28px}.admin-hero p{margin:0;color:#e5f1ed}.admin-hero-label{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em;color:#e0bd58}
.admin-hero-actions{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;min-width:470px}.admin-hero-actions a{display:flex;flex-direction:column;padding:14px 16px;border-radius:14px;background:#fff;color:#123f35;text-decoration:none;border:1px solid rgba(255,255,255,.3)}.admin-hero-actions small{margin-top:3px;color:#6d7e78}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.admin-kpi-card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid #dce7e2;text-decoration:none;color:#153d35;box-shadow:0 4px 14px rgba(18,63,53,.04)}.admin-kpi-card span{font-weight:700}.admin-kpi-card strong{grid-row:1/3;grid-column:2;font-size:32px}.admin-kpi-card small{color:#70817b}.admin-kpi-users{border-left:4px solid #5d7bd8}.admin-kpi-companies{border-left:4px solid #d8ae39}.admin-kpi-audits{border-left:4px solid #2b946f}.admin-kpi-renewals{border-left:4px solid #c96b4b}
.admin-calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.admin-calendar-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid #dce7e2;background:#fff;text-decoration:none;color:#123f35}.admin-calendar-card:hover{border-color:#2d806b;transform:translateY(-1px)}.admin-calendar-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e7f4ef;font-size:24px}.admin-calendar-person .admin-calendar-icon{background:#eef0ff}.admin-calendar-card small{display:block;text-transform:uppercase;font-weight:800;letter-spacing:.06em;color:#6c7f78}.admin-calendar-card strong{display:block;margin:3px 0;font-size:18px}.admin-calendar-card p{margin:0;color:#6d7e78}.admin-calendar-card b{white-space:nowrap}
.admin-content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:14px;margin-top:16px}.admin-recent-activity,.admin-system-card{background:#fff;border:1px solid #dce7e2;border-radius:16px;padding:18px}.admin-system-card>div:first-child{display:flex;align-items:center;gap:10px}.admin-system-card h2{margin:0}.admin-system-dot{width:11px;height:11px;border-radius:50%;background:#c45b5b}.admin-system-dot.ok{background:#2b946f}.admin-system-card dl{margin:18px 0}.admin-system-card dl div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf2ef}.admin-system-card dt{color:#6d7e78}.admin-system-card dd{margin:0;font-weight:700}.admin-system-card>a{display:block;text-align:center;padding:11px 12px;border:1px solid #2b806b;border-radius:11px;text-decoration:none;color:#155847;font-weight:700}
@media(max-width:1200px){.admin-hero{align-items:flex-start;flex-direction:column}.admin-hero-actions{min-width:0;width:100%}.admin-kpi-grid{grid-template-columns:1fr 1fr}.admin-content-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-hero-actions,.admin-calendar-grid,.admin-kpi-grid{grid-template-columns:1fr}.admin-calendar-card{grid-template-columns:auto 1fr}.admin-calendar-card b{grid-column:2}.admin-kpi-card strong{font-size:27px}}


/* WEB 01.04A · Consolidación de administración */
.admin-page-head{align-items:flex-start;margin-bottom:18px}.admin-filters{display:grid;grid-template-columns:minmax(280px,1fr) 210px 190px auto auto;gap:10px;align-items:center;margin-bottom:18px}.activity-filters{grid-template-columns:minmax(240px,1.4fr) 190px 160px 170px 150px 150px auto auto}.company-filters{grid-template-columns:minmax(320px,1fr) 190px 190px auto auto}.admin-table-card{overflow:auto}.user-admin-table td:first-child,.company-admin-table td:first-child{min-width:180px}.data-table td small,.permission-matrix td small{display:block;color:#718078;margin-top:4px}.muted{color:#84918b}.admin-actions{gap:10px;flex-wrap:wrap}.admin-actions form{display:inline}.permission-matrix-card{background:#fff;border:1px solid #d9e3df;border-radius:18px;overflow:hidden;margin-bottom:20px}.permission-matrix-head{padding:22px 24px;border-bottom:1px solid #e2e9e6}.permission-matrix-head h2{margin:0 0 4px}.permission-matrix-head p{margin:0;color:#66766f}.permission-matrix-wrap{overflow:auto}.permission-matrix{width:100%;border-collapse:collapse;min-width:1050px}.permission-matrix th,.permission-matrix td{padding:15px 12px;border-bottom:1px solid #e5ece9;text-align:center}.permission-matrix th:first-child,.permission-matrix td:first-child{text-align:left;min-width:270px}.permission-matrix td:first-child span{display:block;color:#66766f;margin-top:6px;font-size:.9rem}.permission-yes{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e1f3ea;color:#0f6a4d;font-weight:800}.permission-no{color:#a7b0ac}.admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.compact-info-card{min-height:auto}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rule-grid p{margin:0;padding:14px;border:1px solid #e1e8e5;border-radius:12px;background:#fafcfb}.rule-grid strong,.rule-grid span{display:block}.rule-grid span{color:#65756e;margin-top:4px}.renewal-legend{display:flex;gap:22px;align-items:center;margin:0 0 16px;color:#52635c}.renewal-legend span{display:flex;align-items:center;gap:7px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.overdue{background:#c74e4e}.dot.urgent{background:#e58b35}.dot.warning{background:#d8b23f}.renewal-badge{display:inline-block;padding:7px 11px;border-radius:999px;font-weight:700;font-size:.85rem}.renewal-badge.overdue{background:#fde4e4;color:#9c3030}.renewal-badge.warning{background:#fff2cf;color:#8a6400}.company-admin-table .actions{white-space:nowrap}.action-delete{background:#fde5e5;color:#9c3030}.action-login{background:#e5efff;color:#315d9c}
@media(max-width:1100px){.admin-filters,.activity-filters,.company-filters{grid-template-columns:1fr 1fr}.admin-two-column,.rule-grid{grid-template-columns:1fr}}


/* WEB AUD-01A · Dashboard del auditor alineado con Gestor Escritorio */
.dashboard-main{min-width:0}.auditor-work-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-radius:18px;background:linear-gradient(135deg,#123f35,#1f6a57);color:#fff;margin-bottom:16px;box-shadow:0 10px 25px rgba(18,63,53,.11)}
.auditor-work-hero h2{margin:3px 0 5px;font-size:1.55rem}.auditor-work-hero p{margin:0 0 9px;color:#e2f0eb}.auditor-work-hero strong{font-size:.98rem}.auditor-hero-label{display:block;color:#e3c15b;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:.76rem}.auditor-import-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border-radius:10px;background:#fff;color:#14654f;font-weight:800;white-space:nowrap;box-shadow:0 7px 17px rgba(0,0,0,.1)}
.auditor-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.auditor-kpi-card{display:flex;align-items:center;gap:22px;min-height:82px;padding:15px 20px;background:#fff;border:1px solid #dce6e2;border-left:6px solid #398fc1;border-radius:14px;box-shadow:0 4px 14px rgba(29,62,52,.04)}.auditor-kpi-card strong{font-size:1.9rem;line-height:1;color:#2684bb;min-width:52px}.auditor-kpi-card span{font-weight:750;color:#263f36}.auditor-kpi-slate{border-left-color:#627f9b}.auditor-kpi-slate strong{color:#627f9b}.auditor-kpi-amber{border-left-color:#d68a10}.auditor-kpi-amber strong{color:#d68a10}.auditor-kpi-green{border-left-color:#27936a}.auditor-kpi-green strong{color:#27936a}.auditor-kpi-red{border-left-color:#cf4b55}.auditor-kpi-red strong{color:#cf4b55}
.auditor-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.auditor-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid #dce6e2;border-left:6px solid #398fc1;border-radius:15px}.auditor-summary-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e8f4f8;color:#1e6c97;font-weight:850;font-size:.75rem}.auditor-summary-copy h3{margin:0 0 2px;font-size:1.16rem}.auditor-summary-copy p{margin:0 0 4px;color:#677a72}.auditor-summary-copy>a{font-weight:800;text-decoration:underline;color:#176d9d}.auditor-summary-copy>span{display:block;margin-top:3px;color:#5d6f68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auditor-summary-button{padding:10px 15px;border-radius:9px;background:#237c62;color:#fff;font-weight:800;white-space:nowrap}.month-summary-card{border-left-color:#627f9b}.auditor-month-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:6px}.auditor-month-stats span{font-size:.88rem;color:#52665e}.auditor-month-stats b{color:#184f6f;margin-right:3px}.auditor-period-nav{display:flex;align-items:center;gap:8px;margin-top:10px}.auditor-period-nav>a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 10px;border:1px solid #cbdcd5;border-radius:9px;background:#fff;color:#175d49;font-size:1.22rem;font-weight:800;text-decoration:none}.auditor-period-nav>a:hover{background:#edf6f2}.auditor-period-nav .auditor-period-current{font-size:.8rem;font-weight:700;white-space:nowrap}
.auditor-upcoming-panel{background:#fff;border:1px solid #dce6e2;border-radius:15px;overflow:hidden}.auditor-upcoming-panel .section-heading{padding:17px 20px;border-bottom:1px solid #e2e9e6}.auditor-period-heading h2{margin-bottom:3px}.auditor-table-wrap{max-height:330px;overflow:auto}.auditor-work-table{width:100%;border-collapse:collapse;min-width:900px}.auditor-work-table th{position:sticky;top:0;z-index:1;padding:13px 14px;background:#edf3f6;color:#163d52;text-align:left;font-size:.86rem;border-bottom:1px solid #d7e1e5}.auditor-work-table td{padding:12px 14px;border-bottom:1px solid #e1e8e5;vertical-align:middle}.auditor-work-table tbody tr:last-child td{border-bottom:0}.clickable-audit-row{cursor:pointer;transition:background .12s ease}.clickable-audit-row:hover,.clickable-audit-row:focus{background:#f3faf7;outline:none}.auditor-work-table td strong{display:block}.auditor-work-table td small{display:block;color:#75837d;margin-top:2px}.report-state{font-weight:750;font-size:.85rem}.report-state.sent{color:#16825e}.report-state.pending{color:#a67a00}
@media(max-width:1100px){.auditor-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auditor-summary-grid{grid-template-columns:1fr}}
@media(max-width:700px){.auditor-work-hero{align-items:flex-start;flex-direction:column}.auditor-import-button{width:100%}.auditor-kpi-grid{grid-template-columns:1fr}.auditor-summary-card{grid-template-columns:auto 1fr}.auditor-summary-button{grid-column:1/3;text-align:center}.auditor-period-nav{flex-wrap:wrap}}

/* WEB AUD-02 · Listado de auditorías estilo Gestor */
.audit-manager-page{min-width:0}.audit-manager-head{margin-bottom:12px}.audit-manager-head h1{margin-bottom:4px}.audit-manager-actions{display:flex;gap:12px;align-items:center;margin:4px 0 14px}.audit-primary-action,.audit-secondary-action,.audit-danger-action{min-height:42px;padding:0 20px;border-radius:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.audit-secondary-action{border:1px solid #bfd0ca;background:#fff;color:#1a5948;cursor:pointer}.audit-secondary-action:disabled{color:#9eaaa5;border-color:#d8e0dd;background:#f6f8f7;cursor:not-allowed}.audit-danger-action{min-height:42px;padding:0 20px;border-radius:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c85a5a;background:#fff;color:#a52222;cursor:pointer}.audit-danger-action:hover:not(:disabled){background:#a52222;color:#fff}.audit-danger-action:disabled{color:#b5b5b5;border-color:#d8e0dd;background:#f6f8f7;cursor:not-allowed}.audit-manager-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(145px,.72fr)) 145px 145px auto auto;gap:10px;align-items:center;margin-bottom:14px}.audit-manager-filters .form-control,.audit-manager-filters .form-select{height:42px}.audit-manager-card{background:#fff;border:1px solid #d9e3df;border-radius:16px;padding:12px;box-shadow:0 4px 14px rgba(25,65,53,.035)}.audit-manager-scroll{max-height:620px;overflow:auto;border:1px solid #e1e8e5;border-radius:10px}.audit-manager-table{width:100%;border-collapse:collapse;min-width:1080px;table-layout:fixed}.audit-manager-table thead{position:sticky;top:0;z-index:2}.audit-manager-table th{padding:13px 12px;background:#edf3f6;color:#173f58;border-bottom:1px solid #cfdde3;text-align:left;font-size:.92rem}.audit-manager-table td{padding:11px 12px;border-bottom:1px solid #e5ece9;color:#243c34;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-manager-table tbody tr:nth-child(even){background:#f7faf9}.audit-manager-table tbody tr{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.audit-manager-table tbody tr:hover{background:#edf7f3}.audit-manager-table tbody tr.is-selected{background:#dfeee8;box-shadow:inset 4px 0 0 #268064}.audit-manager-table td:first-child strong{display:block;overflow:hidden;text-overflow:ellipsis}.audit-manager-table td:first-child small{display:block;margin-top:2px;color:#73817b}.audit-manager-table th:nth-child(1){width:22%}.audit-manager-table th:nth-child(2){width:20%}.audit-manager-table th:nth-child(3){width:10%}.audit-manager-table th:nth-child(4){width:7%}.audit-manager-table th:nth-child(5){width:17%}.audit-manager-table th:nth-child(6){width:11%}.audit-manager-table th:nth-child(7){width:7%}.audit-manager-table th:nth-child(8){width:6%}.audit-text-status,.audit-nc-state,.audit-report-state{font-weight:700;font-size:.9rem}.audit-report-pending{color:#a67300}.audit-report-sent{color:#187253}.audit-nc-none{color:#66766f}.audit-nc-with_nc{color:#b54248}.status-in_audit{color:#8c6900}.status-scheduled{color:#2450a0}.status-closed,.status-report_sent{color:#187253}.status-suspended{color:#b54248}.status-program_negotiation{color:#7b62a2}
@media(max-width:1450px){.audit-manager-filters{grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(145px,.7fr)) 140px 140px auto auto}.audit-manager-filters select[name="nc"]{grid-column:auto}}
@media(max-width:1100px){.audit-manager-filters{grid-template-columns:1fr 1fr}.audit-manager-actions{flex-wrap:wrap}.audit-manager-card{padding:8px}}

/* WEB 02.21 - Equipo auditor y coordinación */
.team-assignment-board{display:grid;gap:18px;max-width:1120px;margin:4px auto 0}.team-primary-roles{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-role-card,.team-selection-card{background:#fff;border:1px solid #cbd8de;border-radius:12px;padding:16px;box-shadow:0 5px 18px rgba(18,55,77,.06)}.team-role-card{border-top:4px solid #267b65}.team-role-card.role-religious{border-top-color:#c49b3d}.team-role-heading{display:grid;gap:3px;margin-bottom:12px}.team-role-heading strong{font-size:15px;color:#123956}.team-role-heading span{font-size:12px;color:#677b86}.team-role-card .form-select{width:100%;height:42px;border-radius:8px}.team-secondary-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-selection-card{padding:14px}.team-checklist-wrap{border:1px solid #d3dee3;border-radius:8px;background:#f8fafb;max-height:185px;overflow:auto;padding:6px 10px}.team-checklist-wrap ul{list-style:none;margin:0;padding:0}.team-checklist-wrap li{border-bottom:1px solid #e5ecef}.team-checklist-wrap li:last-child{border-bottom:0}.team-checklist-wrap label{display:flex;align-items:center;gap:9px;padding:8px 4px;font-size:13px;color:#193d54;cursor:pointer}.team-checklist-wrap input[type=checkbox]{width:16px;height:16px;accent-color:#267b65}.team-warning-note{max-width:1120px;margin:12px auto 0;padding:9px 12px;background:#fff8e8;border:1px solid #ead7a4;border-radius:7px}.close-window-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 17px;border:1px solid #aebfc8;border-radius:8px;background:#fff;color:#173b52;text-decoration:none;font-weight:700}.close-window-button:hover{background:#f3f7f8}.team-role-person{display:inline-block;max-width:100%;font-weight:700;color:#173b52;white-space:normal;line-height:1.25}.audit-manager-page .audit-manager-table td:nth-child(3),.audit-manager-page .audit-manager-table td:nth-child(4){vertical-align:middle}
@media(max-width:1050px){.team-secondary-roles{grid-template-columns:1fr 1fr}.team-selection-card:last-child{grid-column:1/-1}}@media(max-width:760px){.team-primary-roles,.team-secondary-roles{grid-template-columns:1fr}.team-selection-card:last-child{grid-column:auto}}

/* WEB 02.22 · Equipo real, dashboard coherente y directorio de empresas */
.company-manager-head{align-items:flex-end}.company-filter-bar{grid-template-columns:minmax(280px,1.6fr) minmax(150px,.65fr) minmax(170px,.75fr) auto auto}.company-directory-card{background:#fff;border:1px solid #d4e0dd;border-radius:16px;padding:14px;box-shadow:0 10px 26px rgba(18,55,48,.06)}.company-directory-head,.company-directory-row{display:grid;grid-template-columns:minmax(270px,1.7fr) minmax(130px,.7fr) minmax(160px,.9fr) minmax(130px,.7fr) minmax(145px,.75fr) minmax(190px,.9fr);gap:16px;align-items:center}.company-directory-head{padding:13px 16px;background:#eaf2f5;border-radius:10px;color:#123956;font-weight:800}.company-directory-row{padding:16px;border-bottom:1px solid #e0e8e5;min-height:78px}.company-directory-row:last-child{border-bottom:0}.company-main-cell{display:flex;flex-direction:column;gap:4px}.company-main-cell>a{color:#113b42;font-size:15px;font-weight:800;text-decoration:none}.company-main-cell>a:hover{text-decoration:underline}.company-directory-row small{display:block;color:#71827c;font-size:12px;margin-top:3px}.company-next-date{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e8f5ee;color:#176447;font-weight:800}.company-no-date{color:#9a6a00;font-weight:700}.company-action-cell{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.company-open-link{color:#2c6171;font-weight:700;text-decoration:none}.mobile-label{display:none}.team-selection-card .team-checklist-wrap:empty:before{content:'Sin personas asignadas';display:block;padding:10px;color:#77868a;font-size:13px}
@media(max-width:1180px){.company-directory-head{display:none}.company-directory-row{grid-template-columns:1.4fr 1fr 1fr}.company-action-cell{grid-column:1/-1;justify-content:flex-start}.mobile-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#77868a;margin-bottom:3px}.company-filter-bar{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.company-directory-row{grid-template-columns:1fr}.company-filter-bar{grid-template-columns:1fr}.company-action-cell{grid-column:auto}}

/* WEB 02.23 - Coordinación */
.accept-program-form{display:inline-block;margin-left:10px}.accept-program-button{border:0;border-radius:8px;background:#267b65;color:#fff;font-weight:800;padding:7px 10px;cursor:pointer;white-space:nowrap}.accept-program-button:hover{background:#1d6653}.audit-manager-page .audit-manager-table td{vertical-align:middle}.audit-manager-page .audit-manager-table td:nth-child(4),.audit-manager-page .audit-manager-table td:nth-child(5){white-space:normal}

/* Sprint 02.26M - eliminaciones visibles, confirmadas y trazables */
.audit-actions-cell{display:flex;align-items:center;gap:8px;white-space:nowrap}.audit-row-open,.audit-row-delete,.delete-visible-button,.team-delete-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:8px;font-weight:800;text-decoration:none}.audit-row-open{background:#edf5f2;color:#17634f}.audit-row-delete,.delete-visible-button,.team-delete-link{border:1px solid #d76565;background:#fff3f3;color:#a52222}.audit-row-delete:hover,.delete-visible-button:hover,.team-delete-link:hover{background:#a52222;color:#fff}.audit-team-table.has-actions{grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) minmax(100px,.7fr) 110px}.delete-confirm-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f2f6f4}.delete-confirm-card{width:min(680px,100%);background:#fff;border:1px solid #d8e2df;border-top:6px solid #b92d2d;border-radius:18px;padding:30px;box-shadow:0 18px 45px rgba(28,60,51,.14)}.delete-warning-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fee7e7;color:#b12323;font-size:30px;font-weight:900}.delete-confirm-card h1{margin:12px 0 6px;color:#173d52}.delete-object-name{font-weight:850;font-size:18px;color:#8f1f1f}.delete-warning-text{padding:13px 15px;border-radius:10px;background:#fff5e8;border:1px solid #efcf9e;color:#6f4a12}.delete-confirm-card label{display:block;margin:16px 0 7px;font-weight:800}.delete-confirm-card textarea,.delete-confirm-card input{width:100%;box-sizing:border-box;border:1px solid #bdcfca;border-radius:10px;padding:12px;font:inherit}.delete-code-box{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:15px 18px;border:2px dashed #cc7b7b;border-radius:12px;background:#fffafa}.delete-code-box strong{font-size:28px;letter-spacing:.18em;color:#a52222}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.danger-solid-button{border:0;border-radius:10px;background:#a52222;color:#fff;padding:12px 18px;font-weight:850;cursor:pointer}.danger-solid-button:disabled{opacity:.4;cursor:not-allowed}
.audit-manager-table th:last-child,.audit-manager-table td:last-child{position:sticky;right:0;z-index:2;background:#fff}.audit-manager-table th:last-child{z-index:3;background:#eaf2f5}.audit-manager-table tr.is-selected td:last-child,.audit-manager-table tr:hover td:last-child{background:#eef7f3}

/* WEB DESKTOP-PARITY 01A · módulos globales equivalentes al Gestor de escritorio */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-head h1{margin:5px 0 6px;color:#17354d}.page-head p{margin:0;color:var(--muted)}
.work-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto}.toolbar{padding:14px 16px;border-bottom:1px solid var(--line)}.toolbar-search{display:grid;grid-template-columns:minmax(240px,1fr) 210px auto;gap:10px;align-items:center;padding:14px 16px}.toolbar-search input,.toolbar-search select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #cbd9d4;border-radius:9px;background:#fff;color:#174a3c;font-weight:700;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--g2);border-color:var(--g2);color:#fff}.btn-small{min-height:34px;padding:6px 10px;font-size:13px}.empty-cell{text-align:center!important;color:var(--muted);padding:36px!important}.wrap-cell{white-space:normal;min-width:260px;max-width:560px}
.kpi-strip{display:flex;gap:24px;padding:14px 18px;border-bottom:1px solid var(--line)}.kpi-strip>div{display:flex;align-items:baseline;gap:8px}.kpi-strip strong{font-size:25px;color:#17354d}.kpi-strip span{color:var(--muted)}
.kpi-grid.compact{grid-template-columns:repeat(4,minmax(150px,1fr));display:grid;gap:12px;margin:0 0 18px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:baseline;gap:12px}.kpi-card strong{font-size:30px;color:#17354d}.kpi-card span{color:var(--muted);font-weight:600}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.action-card{display:grid;gap:7px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:#17354d;box-shadow:0 5px 18px rgba(24,55,48,.04)}.action-card:hover{border-color:#8eb9ab;transform:translateY(-1px)}.action-card strong{font-size:18px}.action-card span{color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px}.settings-card h3{margin-top:0;color:#17354d}.settings-card p{color:#566861}.nav-section-label{margin:14px 12px 5px;color:#9eb9b0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.page-head{flex-direction:column}.toolbar-search{grid-template-columns:1fr}.kpi-grid.compact,.action-grid,.settings-grid{grid-template-columns:1fr}.kpi-strip{flex-wrap:wrap}}

/* WEB PARIDAD 01 · Dashboard + Calendario equivalentes al Gestor de Escritorio */
.desktop-dashboard-page,.desktop-calendar-page{padding-bottom:34px}.desktop-dashboard-topbar{margin-bottom:18px}.desk-work-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:#fff;border:1px solid #d7e2ea;border-radius:14px;padding:18px 22px;margin-bottom:16px}.desk-work-header h2{margin:0 0 5px;color:#173b5e;font-size:24px}.desk-work-header p{margin:0 0 10px;color:#6d8092}.desk-work-header strong{color:#173b5e;font-size:15px}.desk-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-bottom:16px}.desk-metric{display:flex;align-items:center;gap:18px;min-height:86px;padding:14px 18px;background:#fff;border:1px solid #d7e2ea;border-left:5px solid #2f80b7;border-radius:12px;text-decoration:none;color:#40576d;box-shadow:0 3px 12px rgba(27,62,87,.035)}.desk-metric strong{min-width:58px;font-size:34px;line-height:1;color:#2f80b7}.desk-metric span{font-size:16px;font-weight:700}.desk-metric.metric-slate{border-left-color:#54789a}.desk-metric.metric-slate strong{color:#54789a}.desk-metric.metric-amber{border-left-color:#df8b00}.desk-metric.metric-amber strong{color:#df8b00}.desk-metric.metric-green{border-left-color:#1f9366}.desk-metric.metric-green strong{color:#1f9366}.desk-metric.metric-red{border-left-color:#d84d57}.desk-metric.metric-red strong{color:#d84d57}.desk-dashboard-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.desk-dashboard-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;background:#fff;border:1px solid #d7e2ea;border-left:5px solid #2f80b7;border-radius:14px;padding:20px;min-height:160px}.desk-dashboard-card.month-card{border-left-color:#54789a}.desk-card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e8f3fa;color:#2274a8;font-weight:850}.desk-card-content h2{margin:0 0 4px;color:#173b5e;font-size:22px}.desk-card-content>p{margin:0 0 7px;color:#667b8f}.desk-count-link{display:block;color:#1671b2;font-weight:850;font-size:16px;margin:5px 0}.desk-route-text{display:block;color:#667b8f}.desk-week-nav{display:flex;align-items:center;gap:8px;margin-top:12px}.desk-week-nav>a{display:grid;place-items:center;min-width:38px;height:34px;padding:0 10px;border:1px solid #c9d8e4;border-radius:8px;background:#fff;color:#173b5e;text-decoration:none;font-weight:800}.desk-week-nav>a.week-reset{width:auto;font-weight:600}.desk-month-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:14px}.desk-month-stats a{text-decoration:none;color:#2f80b7}.desk-month-stats a.amber{color:#df8b00}.desk-month-stats a.green{color:#198b60}.desk-recent-card{background:#fff;border:1px solid #d7e2ea;border-radius:14px;padding:18px}.desk-recent-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.desk-recent-heading h2{margin:0 0 4px;color:#173b5e;font-size:22px}.desk-recent-heading p{margin:0;color:#667b8f}.desk-recent-heading>a{color:#176b50;font-weight:800}.desk-table-scroll{overflow:auto}.desk-table{width:100%;border-collapse:separate;border-spacing:0;min-width:840px}.desk-table th{background:#edf3f7;color:#294e6e;text-align:left;padding:12px 10px;border-bottom:1px solid #d7e2ea;font-weight:800}.desk-table td{padding:11px 10px;border-bottom:1px solid #e4ebf0;color:#183d59;vertical-align:middle}.desk-table td strong{display:block}.desk-table td small{display:block;color:#71859a;margin-top:2px}.desk-click-row{cursor:pointer}.desk-click-row:hover td{background:#f7fafc}.desk-status,.desk-report,.calendar-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-weight:800;font-size:12px;white-space:nowrap}.desk-report.sent{background:#ddf5e8;color:#196b45}.desk-report.pending{background:#fff0d9;color:#9a5200}.desk-status.status-closed{background:#ddf5e8;color:#196b45}.desk-status.status-scheduled{background:#dceeff;color:#165d91}.desk-status:not(.status-closed):not(.status-scheduled){background:#fff0d9;color:#9a5200}.desk-empty{text-align:center!important;color:#71859a!important;padding:34px!important}.desk-manager-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.desk-manager-shortcuts a{display:grid;gap:4px;padding:16px 18px;border:1px solid #d7e2ea;border-radius:12px;background:#fff;text-decoration:none;color:#173b5e}.desk-manager-shortcuts span{color:#71859a}

.desk-calendar-toolbar{background:#fff;border:1px solid #d8e2ec;border-radius:12px;padding:12px 16px;margin-bottom:16px}.desk-calendar-toolbar form{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.desk-calendar-toolbar label{font-weight:750;color:#173b5e}.desk-calendar-user-filter{display:flex;align-items:center;gap:10px;margin-left:auto}.desk-calendar-user-filter span{color:#667b8f;font-size:13px;font-weight:700}.desk-calendar-user-filter select{min-width:270px;min-height:40px;border:1px solid #cbd8e2;border-radius:8px;padding:7px 10px;background:#fff}.desk-calendar-user-filter.disabled{opacity:.45}.desk-calendar-layout{display:grid;grid-template-columns:minmax(400px,.8fr) minmax(650px,1.6fr);gap:16px}.desk-calendar-card{background:#fff;border:1px solid #d8e2ec;border-radius:14px;padding:16px;min-width:0}.desk-calendar-title h2,.desk-list-heading h2{margin:0;color:#173b5e;font-size:22px}.desk-calendar-title p,.desk-list-heading p{margin:4px 0 0;color:#71859a}.desk-calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.desk-calendar-legend span{padding:5px 9px;border-radius:999px;border:1px solid;font-size:12px;font-weight:800}.legend-scheduled{background:#dceeff;color:#165d91;border-color:#88bdeb!important}.legend-pending{background:#fff0d9;color:#9a5200;border-color:#f1b96b!important}.legend-closed{background:#ddf5e8;color:#196b45;border-color:#80cba5!important}.desk-calendar-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;background:#f2f6fa;border-radius:9px;padding:7px;margin-bottom:10px}.desk-calendar-nav>a{display:grid;place-items:center;height:36px;border-radius:7px;text-decoration:none;color:#173b5e;font-size:25px;font-weight:800}.desk-calendar-nav>a:hover{background:#e2ecf5}.desk-calendar-nav>div{text-align:center}.desk-calendar-nav strong{display:block;color:#173b5e;font-size:17px}.desk-calendar-nav small{display:block;color:#71859a;margin-top:2px}.desk-month-grid{user-select:none}.desk-weekdays,.desk-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.desk-weekdays div{text-align:center;padding:7px 2px;color:#60798e;font-weight:800;font-size:12px}.desk-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid transparent;border-radius:8px;background:#fff;color:#173b5e;font:inherit;cursor:pointer}.desk-day:hover{background:#edf4f9}.desk-day.outside{color:#a8b5be;background:#fafcfd}.desk-day.today{outline:2px solid #2f80b7}.desk-day.day-scheduled{background:#dceeff;color:#165d91;border-color:#88bdeb;font-weight:850}.desk-day.day-pending{background:#fff0d9;color:#9a5200;border-color:#f1b96b;font-weight:850}.desk-day.day-closed{background:#ddf5e8;color:#196b45;border-color:#80cba5;font-weight:850}.desk-day.selected{box-shadow:0 0 0 3px rgba(47,128,183,.22);border-color:#2f80b7}.desk-day small{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.8);font-size:10px}.desk-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.desk-list-heading>span{background:#eef4f9;color:#4d6b87;border-radius:999px;padding:5px 10px;font-weight:800;white-space:nowrap}.calendar-list-scroll{max-height:650px}.calendar-audit-row{cursor:pointer}.calendar-audit-row:hover td{background:#f8fafc}.calendar-state.state-scheduled{background:#dceeff;color:#165d91}.calendar-state.state-pending{background:#fff0d9;color:#9a5200}.calendar-state.state-closed{background:#ddf5e8;color:#196b45}.calendar-no-matches{margin-top:10px;border:1px dashed #cbd7e2;border-radius:8px;background:#f7fafc}.calendar-audit-row[hidden]{display:none}
@media(max-width:1150px){.desk-metrics-grid{grid-template-columns:repeat(2,1fr)}.desk-dashboard-two-col{grid-template-columns:1fr}.desk-calendar-layout{grid-template-columns:1fr}.desk-calendar-card.calendar-panel{max-width:none}.desk-manager-shortcuts{grid-template-columns:1fr}}
@media(max-width:720px){.desk-metrics-grid{grid-template-columns:1fr}.desk-dashboard-card{grid-template-columns:auto 1fr}.desk-dashboard-card>.primary-button{grid-column:1/-1}.desk-month-stats{grid-template-columns:1fr}.desk-calendar-toolbar form{align-items:stretch}.desk-calendar-user-filter{margin-left:0;display:grid;width:100%}.desk-calendar-user-filter select{width:100%;min-width:0}.desk-day{min-height:44px}.desk-calendar-layout{display:block}.list-panel{margin-top:14px}}
