[hidden]{display:none!important}
:root{--navy:#0c2e4f;--navy2:#164f7d;--copper:#b86b31;--cream:#f7f3ee;--line:#dbe3ea;--text:#183148;--danger:#a82a2a;--success:#207a45}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:#fff}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#f7f9fb,#edf2f5)}.login-card{width:min(420px,92vw);padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 25px 70px #0c2e4f22;text-align:center}.login-logo{width:190px;height:90px;object-fit:contain}.login-card h1{margin:0;font-size:34px}.login-card p{margin:0 0 24px;color:var(--copper);font-size:19px}.login-card form{display:grid;gap:14px;text-align:left}.login-card small{display:block;margin-top:18px;color:#6f7f8d}.error{color:var(--danger);font-weight:600;padding-top:10px}.wide{width:100%}header{height:84px;padding:10px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:5}.brand{display:flex;gap:12px;align-items:center}.brand img{width:88px;height:62px;object-fit:contain}.brand b{font-size:25px;color:var(--navy)}.brand span{display:block;color:var(--copper)}.top-actions{display:flex;gap:10px;align-items:center}.user-chip{padding:7px 12px;border-left:1px solid var(--line);min-width:180px}.user-chip b,.user-chip span{display:block}.user-chip span{font-size:12px;color:#687b8c}nav{display:flex;gap:4px;padding:8px 20px;background:var(--navy);overflow:auto;position:sticky;top:84px;z-index:4}nav button{border:0;background:transparent;color:#dbe9f6;padding:10px 14px;border-radius:10px;white-space:nowrap;cursor:pointer}nav button.active{background:var(--copper);color:white}main{max-width:1400px;margin:auto;padding:24px}.page{display:none}.page.active{display:block}h1,h2{color:var(--navy)}.page-title{display:flex;justify-content:space-between;align-items:center;gap:18px}.page-title p{margin-top:-10px;color:#687b8c}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.kpi-grid article,.panel,.management-card,.catalog-row,.list-row,.table-wrap{border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 6px 18px #102a4310}.kpi-grid article{background:linear-gradient(145deg,#fff,var(--cream))}.kpi-grid span{display:block;color:#62778a}.kpi-grid strong{font-size:32px;color:var(--navy)}.panel{margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid.compact{grid-template-columns:repeat(4,1fr)}label{display:flex;flex-direction:column;gap:6px;font-weight:600}input,select,textarea{width:100%;padding:11px;border:1px solid #b8c7d4;border-radius:10px;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #8db5d4;border-color:var(--navy2)}fieldset{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:14px}.checks{display:flex;flex-wrap:wrap;gap:12px}.checks label,.switch-row{flex-direction:row;align-items:center;font-weight:400}.checks input,.switch-row input{width:auto}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 15px;background:#e8eef3;color:var(--navy);font-weight:700;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--navy);color:#fff}.btn.secondary{background:var(--copper);color:#fff}.btn.danger{background:#f7dddd;color:var(--danger)}.inline-form,.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:420px}.management-list{display:grid;gap:14px}.management-card header{position:static;height:auto;padding:0 0 10px;border:0}.management-card .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.status,.badge{padding:5px 9px;border-radius:999px;background:#e8eef3;font-size:12px;display:inline-block}.badge.active{background:#dcf3e5;color:var(--success)}.badge.inactive{background:#f6dddd;color:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.catalog-row,.list-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.photo-strip{display:flex;gap:8px;overflow:auto;margin-top:10px}.photo-strip img{width:90px;height:70px;object-fit:cover;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--navy);font-size:13px;background:#f5f8fa}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.small-btn{border:0;border-radius:8px;padding:7px 9px;cursor:pointer;background:#e8eef3;color:var(--navy);font-weight:700}.small-btn.copper{background:#f0dfd2;color:#874617}.large-dialog{max-width:1050px}dialog{border:0;border-radius:18px;max-width:560px;width:94%;box-shadow:0 20px 80px #0005;padding:0}dialog::backdrop{background:#001a2f99}dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.icon-btn{border:0;background:transparent;font-size:28px;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.permission-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permission-item{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px;font-weight:500;background:#fbfcfd}.permission-item input{width:auto}.audit-detail{max-width:440px;white-space:normal}.muted{color:#738391;font-size:12px}@media(max-width:900px){header{padding:8px 12px;height:auto;min-height:78px}.brand img{width:62px}.brand b{font-size:19px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.user-chip{min-width:130px}nav{top:78px}main{padding:14px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.compact{grid-template-columns:1fr}.management-card .meta{grid-template-columns:1fr 1fr}.inline-form>*{flex:1 1 140px}.permission-grid{grid-template-columns:1fr}.table-wrap{overflow:auto;padding:0}.page-title{align-items:flex-start}.page-title h1{font-size:25px}th,td{white-space:nowrap}}

/* Módulo 1 V4: ficha profesional de usuario */
.profile-form-layout{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;margin-bottom:20px}.photo-box{border:1px solid #dce5ec;border-radius:16px;padding:16px;text-align:center;background:#f8fafc}.photo-box img{width:130px;height:130px;object-fit:cover;border-radius:50%;border:5px solid white;box-shadow:0 6px 18px rgba(11,54,91,.14)}.photo-box small{display:block;color:#697d8d;margin-top:8px}.photo-button{display:block;margin-top:14px}.user-fields{align-items:end}.user-cell{display:flex;align-items:center;gap:12px;min-width:260px}.avatar{width:46px;height:46px;object-fit:cover;border-radius:50%;border:2px solid #e3eaf0;background:#eef3f7}.warning-text{color:#a85c15!important;margin-top:5px}.permission-grid{max-height:310px;overflow:auto;padding-right:8px}
@media(max-width:760px){.profile-form-layout{grid-template-columns:1fr}.photo-box{max-width:240px;margin:auto}.large-dialog{width:96vw}.user-cell{min-width:220px}}

/* Módulo 1 V5: configuración general y logo global */
.dialog-brand{display:flex;align-items:center;gap:14px}.dialog-brand img{width:78px;height:48px;object-fit:contain}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.settings-card{margin-top:0}.settings-logo-preview{display:block;width:min(280px,100%);height:150px;object-fit:contain;margin:12px auto;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.settings-card .form-grid{grid-template-columns:1fr 1fr}.settings-card input[type=color]{height:46px;padding:4px}.flash-success{margin-top:12px;color:var(--success);font-weight:700}.flash-error{margin-top:12px;color:var(--danger);font-weight:700}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.settings-card .form-grid{grid-template-columns:1fr}.dialog-brand img{width:58px;height:38px}}
.permission-groups{display:grid;gap:16px;max-height:430px;overflow:auto;padding:8px}.permission-group{border:1px solid #d9e3ec;border-radius:14px;padding:12px;background:#fbfcfd}.permission-group h3{margin:0 0 10px;color:var(--navy);font-size:1rem}.signature-box{margin-top:18px;border-top:1px solid #d9e3ec;padding-top:14px}.signature-box img{width:100%;height:74px;object-fit:contain;border:1px solid #d9e3ec;border-radius:10px;background:#fff}.signature-box .btn{margin-top:8px;width:100%;font-size:.9rem}.small-btn.warning{background:#fff1d6;color:#8b5500}.history-dialog{width:min(950px,94vw)}.settings-card small{display:block;margin-top:12px;color:#65788a}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* Módulo 2 — Catálogos */
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:18px;align-items:start}
.catalog-sidebar{background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 30px rgba(28,61,104,.08);position:sticky;top:88px}
.catalog-sidebar button{border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:11px;font-weight:700;color:#23415f;cursor:pointer}
.catalog-sidebar button:hover,.catalog-sidebar button.active{background:linear-gradient(135deg,var(--primary,#1f5d9b),#3d7db8);color:#fff}
.catalog-content{min-width:0}
#locationFields small{display:block;margin-top:8px;color:#60758a}
#catalogList a{color:var(--primary,#1f5d9b);font-weight:700;text-decoration:none}
.warning{background:#fff2dc!important;color:#8a4d00!important}
@media(max-width:900px){.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-sidebar{grid-template-columns:1fr}.page-title{align-items:flex-start;gap:12px}.page-title .btn{width:100%}}

.catalog-sidebar h3{margin:18px 14px 6px;color:#6b7f91;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.catalog-sidebar h3:first-child{margin-top:8px}
.span-2{grid-column:span 2}.photo-link{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.warning{background:#fff1d6;color:#8a5300}

.btn.danger{background:#b42318;color:#fff;border-color:#b42318}.evidence-thumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.evidence-thumbs img{width:64px;height:52px;object-fit:cover;border-radius:8px;border:1px solid #d7e1ea}.status-emergencia{background:#fee4e2;color:#b42318}.status-tiempo_extra_asignado{background:#f4e3d0;color:#7a421c}

/* V11 — Asignación, estimaciones y seguimiento operativo */
.status-legend{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.status-legend span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-size:13px}.compact-title{margin-bottom:10px}.compact-title h2{margin-bottom:8px}.tracking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.tracking-card{border:1px solid var(--line);border-left:6px solid #5b7083;border-radius:14px;padding:14px;background:#fff;box-shadow:0 5px 15px #102a430d}.tracking-head{display:flex;gap:10px;align-items:center}.tracking-head img{width:46px;height:46px;object-fit:cover;border-radius:50%;background:#eef3f7}.tracking-head b,.tracking-head span{display:block}.tracking-head span{font-size:13px;margin-top:3px}.tracking-task{margin:12px 0;padding:10px;border-radius:10px;background:#f6f9fb}.tracking-task span{color:#687b8c}.tracking-times{display:grid;gap:5px;font-size:13px}.available-text{color:var(--success);font-weight:700}.status-border-disponible{border-left-color:#2f9e59}.status-border-asignada{border-left-color:#5b7083}.status-border-en_ruta{border-left-color:#d7a800}.status-border-en_proceso{border-left-color:#2274b5}.status-border-almuerzo{border-left-color:#d97817}.status-border-tiempo_extra_asignado{border-left-color:#8b5a2b}.status-border-retorno{border-left-color:#7447a8}.status-border-fuera_plazo,.status-border-emergencia{border-left-color:#c92a2a}.assignment-form{padding:18px;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 25px #102a430d}.assignment-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:linear-gradient(135deg,#eef5fb,#fff7f0);padding:14px;border:1px solid #d6e2ed;border-radius:14px}.assignment-preview div{font-size:14px}.assignment-preview a{justify-self:start}.success-card{margin-top:16px;padding:15px;border:1px solid #b6dec4;border-radius:12px;background:#edf9f1;color:#185c35}.management-main{display:grid;grid-template-columns:1fr 280px;gap:14px}.eta-box{display:grid;gap:8px;padding:12px;border-radius:12px;background:#f5f8fa;border:1px solid var(--line)}.eta-box span{font-size:12px;color:#65788a}.eta-box b{display:block;color:var(--navy);font-size:13px;margin-top:3px}.late-card{border-color:#eaa3a3;background:#fffafa}.timeline{display:grid;gap:0;padding:18px}.timeline-item{position:relative;padding:0 0 18px 28px;border-left:2px solid #cbd8e2;margin-left:8px}.timeline-item:before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--copper)}.timeline-item span{font-size:12px;color:#6c7e8d}.timeline-item b{display:block;margin-top:3px}.timeline-item p{margin:4px 0 0}.status-en_ruta{background:#fff4c2;color:#6b5600}.status-en_proceso{background:#dfefff;color:#14598d}.status-almuerzo{background:#ffe8cf;color:#8c4a00}.status-retorno{background:#eee2ff;color:#5d338d}.status-fuera_plazo{background:#fee2e2;color:#a61e1e}.status-asignada{background:#e7edf2;color:#42576a}.status-llego_destino{background:#e1f6eb;color:#17643a}.status-cerrada,.status-finalizada{background:#e5f4e9;color:#1f6b3d}
@media(max-width:900px){.management-main{grid-template-columns:1fr}.assignment-preview{grid-template-columns:1fr}.tracking-grid{grid-template-columns:1fr}.span-2{grid-column:1}}
.notification-fieldset{border:1px solid #d8e2ec;border-radius:14px;padding:14px;background:#fbfdff}.recipient-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.recipient-list{margin-top:10px;max-height:190px;overflow:auto;border:1px solid #d8e2ec;border-radius:12px;padding:8px;background:white}.recipient-option{display:flex!important;align-items:flex-start;gap:9px;padding:9px;border-bottom:1px solid #edf2f7;cursor:pointer}.recipient-option:last-child{border-bottom:0}.recipient-option input{width:auto!important;margin-top:4px}.recipient-option span{display:flex;flex-direction:column;gap:2px}.recipient-option small{color:#63778b;font-weight:400}.channel-checks{display:flex;gap:20px;flex-wrap:wrap}.channel-checks label{display:flex;align-items:center;gap:7px}.channel-checks input{width:auto!important}@media(max-width:800px){.recipient-columns{grid-template-columns:1fr}.recipient-list{max-height:150px}}


/* V14 — Rutas agrupadas con múltiples gestiones */
.route-toggle{border:1px solid #cbd9e5;border-radius:13px;padding:12px;background:#f8fbfd}.route-toggle>span{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:700}.route-toggle input{width:auto}.route-toggle small{color:#65798b;font-weight:400}.route-grouping{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;padding:14px;border:1px solid #cbd9e5;border-radius:14px;background:linear-gradient(135deg,#edf6fd,#fff8f1)}.route-estimate-preview{display:grid;gap:4px;padding:10px;border-radius:10px;background:#fff;border:1px solid #d8e3ec;font-size:13px}.route-estimate-preview span{display:block;color:#5f7487}.grouped-route-list{display:grid;gap:16px}.grouped-route-card{border:1px solid #c9d8e4;border-radius:16px;padding:16px;background:#fff;box-shadow:0 7px 22px #102a4310}.route-card-head{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.route-card-head b,.route-card-head span{display:block}.route-card-head b{font-size:19px;color:var(--navy)}.route-card-head span{color:#63788a;margin-top:3px}.route-progress{text-align:right;padding:8px 12px;border-radius:12px;background:#edf5fb}.route-progress strong,.route-progress small{display:block}.route-progress strong{font-size:22px;color:var(--navy)}.route-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.route-summary span{padding:9px;border-radius:9px;background:#f6f9fb;font-size:13px}.route-stops{list-style:none;margin:0;padding:0;display:grid;gap:7px}.route-stops li{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #e0e7ed;border-radius:10px;background:#fff}.route-stops li.current{border-color:#4e8fc4;background:#edf6fd}.route-stops li.completed{border-color:#9fd4b2;background:#eff9f2}.stop-number{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--navy);color:white;font-weight:700}.route-stops li.completed .stop-number{background:#26834d}.route-stops b,.route-stops small{display:block}.route-stops small{color:#65798b;margin-top:2px}.section-heading{margin-top:28px}.route-banner{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:9px 12px;margin:-16px -16px 14px;border-radius:15px 15px 0 0;background:linear-gradient(90deg,var(--navy),#2e6f9e);color:#fff;font-size:13px}.route-banner b{font-size:14px}.grouped-management{border-left:5px solid #2e6f9e}.route-waiting{display:inline-block;padding:9px 12px;border-radius:9px;background:#f2f5f7;color:#62778a;font-weight:600}
@media(max-width:900px){.route-grouping{grid-template-columns:1fr}.route-summary{grid-template-columns:1fr 1fr}.route-card-head{align-items:flex-start}.route-progress{min-width:130px}}
@media(max-width:560px){.route-summary{grid-template-columns:1fr}.route-card-head{flex-direction:column}.route-progress{text-align:left;width:100%}}

.assignment-notification-grid{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-bottom:12px}.assignment-notification-grid small{display:block;color:var(--muted);margin-top:4px}.compact-list{max-height:155px;overflow:auto}.notification-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.notification-stats>div{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(12,46,79,.05)}.notification-stats span{display:block;color:var(--muted);margin-bottom:6px}.notification-stats b{font-size:1.35rem;color:var(--navy)}
@media(max-width:800px){.assignment-notification-grid,.notification-stats{grid-template-columns:1fr}}
.badge.danger{background:#f8dada;color:#9d1f1f}.integration-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 14px}.integration-header h2{margin:0}.integration-header p{margin:4px 0 0;color:var(--muted)}.auto-send-switch{border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:#fff;font-weight:600}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card{margin-top:0}.integration-card .form-grid.compact{grid-template-columns:1fr 1fr}.integration-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.integration-title>span{font-size:28px}.integration-title h3{margin:0;color:var(--navy)}.integration-title small{display:block;margin:3px 0 0}.integration-ready{color:var(--success);font-weight:700}.integration-pending{color:#9a5c00;font-weight:700}.integration-actions{display:flex;gap:8px;flex-wrap:wrap}.api-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.api-fields[hidden]{display:none}.integration-help{margin-top:18px}.integration-help p{color:var(--muted)}details summary{cursor:pointer;color:var(--navy);font-size:12px;margin-top:5px}details small{display:block;max-width:380px;white-space:normal;word-break:break-word;color:var(--muted);padding-top:4px}
@media(max-width:1100px){.integration-grid{grid-template-columns:1fr}.integration-card .form-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.integration-header{align-items:flex-start;flex-direction:column}.integration-card .form-grid.compact,.api-fields{grid-template-columns:1fr}.span-2{grid-column:1/-1}}

/* V17 — Mapa GPS y seguimiento en tiempo real */
.gps-toolbar{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr) auto;gap:18px;align-items:end;margin-bottom:18px}.gps-toolbar label{display:flex;flex-direction:column;gap:7px;font-weight:700}.gps-refresh-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--navy)}.gps-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:18px;margin-bottom:18px}.gps-map-panel{padding:14px}.gps-map{height:560px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#e9f1f8,#d8e6f2);border:1px solid #cfdae5;position:relative}.gps-map-loading{display:grid;place-items:center;height:100%;font-weight:700;color:#52677a}.gps-map-fallback{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff1d8;color:#744d14}.gps-side-panel{padding:18px;max-height:650px;overflow:auto}.gps-side-panel h2{margin-top:0}.gps-aux-list{display:grid;gap:12px}.gps-aux-card{border:1px solid #d8e2ec;border-radius:14px;padding:14px;background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 6px 18px rgba(12,46,79,.05)}.gps-aux-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,46,79,.12)}.gps-aux-head{display:flex;gap:10px;align-items:center}.gps-aux-head div{display:flex;flex-direction:column}.gps-aux-head small{color:#64788b}.gps-status-dot{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 4px rgba(0,0,0,.06)}.gps-aux-card p{margin:10px 0;line-height:1.45}.gps-eta{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.85rem;color:#51677a}.gps-signal{margin:10px 0 5px;padding:7px 9px;border-radius:9px;font-size:.78rem;font-weight:700}.gps-signal.online{background:#dff5e8;color:#17663d}.gps-signal.offline{background:#f4e5e5;color:#8d3232}.gps-legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:12px 5px 0;font-size:.82rem}.gps-legend span{display:flex;align-items:center;gap:6px}.gps-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.available{background:#2eaf68}.dot.route{background:#e4b11b}.dot.work{background:#2378bd}.dot.lunch{background:#e28322}.dot.extra{background:#8b5b32}.dot.return{background:#7851a9}.dot.late{background:#cc3636}.dot.emergency{background:#e00000}.gps-history-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;margin-bottom:12px}.amber-gps-marker{background:transparent;border:0}.gps-pin{width:34px;height:34px;border-radius:50% 50% 50% 8px;background:var(--pin);transform:rotate(-45deg);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 3px 9px rgba(0,0,0,.35)}.gps-pin span{transform:rotate(45deg);color:#fff;font-weight:900}.gps-popup{min-width:210px;line-height:1.5}.home-location-action{display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.home-location-fields{margin-top:18px}
@media(max-width:980px){.gps-layout{grid-template-columns:1fr}.gps-map{height:440px}.gps-side-panel{max-height:none}.gps-toolbar{grid-template-columns:1fr 1fr}.gps-refresh-info{grid-column:1/-1;align-items:flex-start}.gps-history-controls{grid-template-columns:1fr}}
@media(max-width:620px){.gps-toolbar{grid-template-columns:1fr}.gps-map{height:360px}.gps-eta{grid-template-columns:1fr}.gps-history-controls{display:flex;flex-direction:column}}

/* KPI y reportes V18 */
.report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.report-filter-panel{margin-bottom:18px}.report-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto auto;gap:12px;align-items:end}.report-filters label{display:flex;flex-direction:column;gap:6px;font-weight:600}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.report-kpi-grid article{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #d6e0ea;border-radius:18px;padding:18px;box-shadow:0 8px 20px rgba(12,46,79,.06);min-height:118px}.report-kpi-grid span{display:block;color:#5f7184;margin-bottom:8px}.report-kpi-grid strong{display:block;font-size:30px;color:var(--primary,#0c2e4f);line-height:1.1}.report-kpi-grid small{display:block;color:#6f7f8f;margin-top:8px}.mini-progress{height:8px;background:#e7edf3;border-radius:999px;overflow:hidden;margin-top:12px}.mini-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent,#b86b31),var(--primary,#0c2e4f));transition:width .35s ease}.report-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.bar-chart{display:flex;flex-direction:column;gap:14px;min-height:180px}.bar-row{display:flex;flex-direction:column;gap:6px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:14px}.bar-label span{color:#68798a;text-align:right}.bar-track{height:12px;border-radius:999px;background:#e8eef4;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary,#0c2e4f),#3d80bd);min-width:2px}.report-compliance{display:inline-flex;min-width:64px;justify-content:center;border-radius:999px;padding:5px 9px;font-weight:700}.report-compliance.good{background:#d9f3e4;color:#1d7044}.report-compliance.medium{background:#fff1cc;color:#8b5a00}.report-compliance.low{background:#f8d9da;color:#982c33}.trend-chart{overflow-x:auto;padding:10px 4px}.trend-bars{display:flex;align-items:flex-end;gap:8px;min-height:190px;min-width:max-content;border-bottom:1px solid #ccd7e2;padding:10px 6px 0}.trend-day{width:38px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.trend-day span{font-size:12px;font-weight:700;color:#46627d}.trend-day i{width:24px;background:linear-gradient(180deg,#3f82c1,var(--primary,#0c2e4f));border-radius:6px 6px 0 0;min-height:6px}.trend-day small{font-size:10px;white-space:nowrap;transform:rotate(-45deg);transform-origin:center;margin-top:10px;height:34px}.late-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto}.late-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #efd0d2;background:#fff7f7;border-radius:12px}.late-item div{display:flex;flex-direction:column;gap:4px}.late-item small{color:#6b7b8b}.late-item>span{background:#f1c9cc;color:#8c2730;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}.empty-success{padding:18px;border-radius:12px;background:#e3f5ea;color:#246a44;text-align:center;font-weight:600}.report-page .panel{margin-bottom:18px}
@media(max-width:1100px){.report-filters{grid-template-columns:repeat(3,1fr)}.report-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.report-filters,.report-kpi-grid,.report-grid-two{grid-template-columns:1fr}.report-actions{width:100%}.report-actions .btn{flex:1}.report-kpi-grid article{min-height:auto}}
@media print{body.print-reports header,body.print-reports nav,body.print-reports .page:not(#reports),body.print-reports .report-actions,body.print-reports .report-filter-panel{display:none!important}body.print-reports #reports{display:block!important;padding:0!important}body.print-reports main{padding:0!important}body.print-reports .panel,body.print-reports .report-kpi-grid article{box-shadow:none;break-inside:avoid}body.print-reports .report-grid-two{grid-template-columns:1fr 1fr}body.print-reports{background:white}}

/* V19 — tablero semanal, mensual y anual */
.report-period-toolbar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) auto auto minmax(260px,1.6fr);gap:12px;align-items:end;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.period-caption{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 14px;border-radius:12px;background:linear-gradient(135deg,var(--primary,#0c2e4f),#2b6d9f);color:#fff}.period-caption b{font-size:18px}.period-caption small{opacity:.88;margin-top:3px}.excel-dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}.indicator-board{margin-top:0}.indicator-board h2{margin:0 0 12px;text-align:center;text-transform:uppercase;font-size:17px}.compact-table{padding:0;border:0;box-shadow:none;border-radius:0;overflow:auto}.indicator-table th{background:#172b43;color:white;text-align:center}.indicator-table td:nth-child(n+2){text-align:center}.indicator-table td small{display:block;color:#748497;margin-top:3px}.indicator-state{display:inline-flex;min-width:88px;justify-content:center;padding:5px 9px;border-radius:6px;font-weight:700;font-size:12px}.indicator-state.ok{background:#e0f3e7;color:#1f7044}.indicator-state.bad{background:#f9dddd;color:#a31e2d}.indicator-state.none{background:#eef2f5;color:#6a7884}.section-banner{margin:-16px -16px 14px;padding:10px;text-align:center;text-transform:uppercase;font-size:21px;font-weight:800;color:#102d4b;background:#e4dcc0;border-radius:16px 16px 0 0}.performance-table{padding:0;border:0;box-shadow:none;border-radius:0;overflow:auto}.wide-kpi-table{min-width:1320px}.wide-kpi-table th{background:#172b43;color:#fff;text-align:center;white-space:normal}.wide-kpi-table td{text-align:center;white-space:nowrap}.wide-kpi-table td:first-child,.wide-kpi-table th:first-child{text-align:left;position:sticky;left:0;z-index:1}.wide-kpi-table td:first-child{background:#e8f1fa}.wide-kpi-table th:first-child{z-index:2}.score-cell{position:relative;min-width:95px;height:24px;background:#eed9eb;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.score-cell i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#a30086,#d84ab8);opacity:.85}.score-cell b{position:relative;z-index:1;color:#15283e}.activity-table th{min-width:105px}.activity-table th:first-child{min-width:220px}.report-kpi-grid{grid-template-columns:repeat(5,minmax(170px,1fr))}
@media(max-width:1200px){.report-period-toolbar{grid-template-columns:repeat(2,1fr)}.period-caption{grid-column:1/-1}.excel-dashboard-grid{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.report-period-toolbar,.report-kpi-grid{grid-template-columns:1fr}.report-period-toolbar .btn{width:100%}.section-banner{font-size:17px}.excel-dashboard-grid{grid-template-columns:1fr}}
@media print{body.print-reports .report-actions,body.print-reports .report-filter-panel{display:none!important}body.print-reports .excel-dashboard-grid{grid-template-columns:1.4fr 1fr}body.print-reports .performance-table{overflow:visible}body.print-reports .wide-kpi-table{font-size:8px;min-width:0}body.print-reports .wide-kpi-table th,body.print-reports .wide-kpi-table td{padding:4px}body.print-reports .report-kpi-grid{grid-template-columns:repeat(5,1fr)}}

/* V19.9 - estado visible de filtros KPI */
.report-filter-status{margin-top:12px;padding:10px 12px;border-radius:8px;background:#eef3f7;border:1px solid #d5dee7;font-size:.92rem}
.report-filter-status[data-state="loading"]{font-weight:700}
.report-filter-status[data-state="success"]{background:#edf8f0;border-color:#b9ddc2}
.report-filter-status[data-state="error"]{background:#fff0f0;border-color:#e4b5b5}


/* V19.11 — Centro de cierre y validación */
.closure-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:16px 0}.closure-summary article{background:#fff;border:1px solid #dce3ea;border-radius:14px;padding:16px;box-shadow:0 4px 12px rgba(12,46,79,.06)}.closure-summary span{display:block;color:#667786;font-size:.85rem}.closure-summary strong{display:block;margin-top:5px;font-size:1.7rem;color:var(--navy)}.closure-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.closure-filters label{min-width:220px;flex:1}.closure-table td{vertical-align:top}.validation-note{margin-top:7px;padding:8px;border-left:3px solid var(--copper);background:#fff7ef;border-radius:4px;font-size:.85rem}.closure-checks{display:grid;gap:10px;padding:12px;background:#f5f8fb;border-radius:10px;margin:10px 0}.closure-checks label{display:flex;gap:9px;align-items:center}.closure-checks input{width:auto}.info-box{padding:12px;margin-bottom:12px;background:#f2f6fa;border:1px solid #d9e2ea;border-radius:10px}@media(max-width:850px){.closure-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.closure-summary{grid-template-columns:1fr}.closure-filters{display:block}.closure-filters label{display:block;margin-bottom:10px}}


/* AMBER V19.14 - Tablero vertical en blanco azulado y naranja */
.report-page .excel-dashboard-grid{grid-template-columns:1fr;gap:20px}
.primary-indicator-board{padding:18px;background:linear-gradient(180deg,#ffffff 0%,#f2f8fc 100%);border:1px solid #cfe1ed;box-shadow:0 10px 28px rgba(22,63,92,.08)}
.primary-indicator-board h2{margin:-18px -18px 18px;padding:16px 18px;background:#edf6fc;color:#153956;border-bottom:4px solid #c56b28;border-radius:16px 16px 0 0;letter-spacing:.02em}
.vertical-indicator-list{display:flex;flex-direction:column;gap:12px}
.vertical-indicator-card{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(420px,2fr);align-items:stretch;background:#fff;border:1px solid #d8e7f1;border-left:7px solid #c56b28;border-radius:14px;overflow:hidden;box-shadow:0 5px 15px rgba(20,62,91,.07)}
.vertical-indicator-title{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#f5fafe}
.vertical-indicator-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;height:42px;border-radius:50%;background:#c56b28;color:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 10px rgba(197,107,40,.24)}
.vertical-indicator-title h3{margin:0;color:#173b59;font-size:17px;line-height:1.25}
.vertical-indicator-values{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:1px;background:#dceaf3}
.vertical-metric{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:74px;padding:10px 14px;background:#fff;text-align:center}
.vertical-metric.result{background:#eaf5fb}
.vertical-metric.target{background:#f8fbfd}
.vertical-metric.status{background:#fff8f2}
.vertical-metric span{margin-bottom:4px;color:#668197;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.vertical-metric strong{color:#153956;font-size:22px}
.vertical-state{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800}
.vertical-state.ok{background:#e8f4fb;color:#15527a;border:1px solid #a9cee4}
.vertical-state.bad{background:#fff0e5;color:#9a4a16;border:1px solid #e6ac7f}
.vertical-state.none{background:#f7fbfe;color:#587083;border:1px solid #ccdee9}
.vertical-indicator-card.state-bad{border-left-color:#d67a35}
.vertical-indicator-card.state-ok{border-left-color:#5f9fc7}
@media(max-width:900px){.vertical-indicator-card{grid-template-columns:1fr}.vertical-indicator-values{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.vertical-indicator-values{grid-template-columns:1fr}.vertical-metric{min-height:58px}.vertical-indicator-title{padding:13px}.vertical-indicator-title h3{font-size:16px}}
@media print{body.print-reports .vertical-indicator-card{break-inside:avoid;box-shadow:none}.primary-indicator-board{background:#fff}.vertical-indicator-list{gap:6px}.vertical-indicator-card{grid-template-columns:1fr 1.7fr}.vertical-metric{min-height:50px;padding:5px}}


/* AMBER V19.15 — Indicadores por tipo y tableros en blanco azulado y naranja */
.type-indicator-board,.report-result-board,.report-activity-board{background:linear-gradient(180deg,#ffffff 0%,#f1f8fc 100%);border:1px solid #cfe1ed;box-shadow:0 10px 28px rgba(22,63,92,.08);overflow:hidden}
.type-indicator-board>h2{margin:-16px -16px 18px!important;padding:16px 18px;background:#edf6fc;color:#153956;border-bottom:4px solid #c56b28;border-radius:16px 16px 0 0;letter-spacing:.02em}
.type-indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}
.type-indicator-card{background:#fff;border:1px solid #d6e7f1;border-left:7px solid #c56b28;border-radius:14px;overflow:hidden;box-shadow:0 5px 15px rgba(20,62,91,.07)}
.type-indicator-head{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#eaf5fb}
.type-indicator-head>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#c56b28;color:#fff;font-size:12px;font-weight:800;box-shadow:0 4px 9px rgba(197,107,40,.22)}
.type-indicator-head h3{margin:0;color:#173b59;font-size:17px}
.type-indicator-body{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:1px;background:#dceaf3}
.type-indicator-body>div{display:flex;min-height:82px;flex-direction:column;align-items:center;justify-content:center;padding:10px;background:#fff;text-align:center}
.type-indicator-body>div:nth-child(1){background:#f4fafe}.type-indicator-body>div:nth-child(2){background:#fff}.type-indicator-body>div:nth-child(3){background:#fff8f2}
.type-indicator-body small{color:#668197;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.type-indicator-body strong{margin-top:3px;color:#153956;font-size:22px}.type-indicator-body em{margin-top:2px;color:#6a8193;font-size:11px;font-style:normal}
.type-indicator-state{display:inline-flex;align-items:center;justify-content:center;min-width:92px;margin-top:7px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}
.type-indicator-state.ok{background:#e7f4fa;color:#15527a;border:1px solid #a9cee4}.type-indicator-state.bad{background:#fff0e5;color:#994a16;border:1px solid #e6ac7f}.type-indicator-state.none{background:#f7fbfe;color:#587083;border:1px solid #ccdee9}
.type-indicator-card.state-ok{border-left-color:#6aa7cb}.type-indicator-card.state-bad{border-left-color:#d67a35}
.report-result-board .section-banner,.report-activity-board .section-banner{background:#edf6fc;color:#153956;border-bottom:4px solid #c56b28}
.report-result-board .performance-table,.report-activity-board .performance-table{background:#fff;border:1px solid #d6e7f1;border-radius:12px}
.report-result-board .amber-performance-table th,.report-activity-board .amber-performance-table th{background:#c56b28;color:#fff;border-color:#dc9c6c}
.report-result-board .amber-performance-table tbody tr:nth-child(odd) td,.report-activity-board .amber-performance-table tbody tr:nth-child(odd) td{background:#fff}
.report-result-board .amber-performance-table tbody tr:nth-child(even) td,.report-activity-board .amber-performance-table tbody tr:nth-child(even) td{background:#edf7fc}
.report-result-board .amber-performance-table td:first-child,.report-activity-board .amber-performance-table td:first-child{background:#e5f2fa!important;color:#153956}
.report-result-board .amber-performance-table td,.report-activity-board .amber-performance-table td{border-bottom:1px solid #d9e7ef}
.report-result-board .score-cell,.report-activity-board .score-cell{background:#e7f3fa;border:1px solid #c7deeb}
.report-result-board .score-cell i,.report-activity-board .score-cell i{background:linear-gradient(90deg,#c56b28,#e39a5e);opacity:.95}
@media(max-width:900px){.type-indicator-grid{grid-template-columns:1fr}}
@media(max-width:580px){.type-indicator-body{grid-template-columns:1fr}.type-indicator-body>div{min-height:60px}}
@media print{body.print-reports .type-indicator-grid{grid-template-columns:repeat(2,1fr)}body.print-reports .type-indicator-card{break-inside:avoid;box-shadow:none}}


/* V19.16 — rediseño blanco azulado de resultado y actividades por auxiliar */
.report-result-board,.report-activity-board{
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);
  border:1px solid #c9dfed;
  border-radius:20px;
  box-shadow:0 12px 32px rgba(25,72,105,.09);
  padding:18px;
}
.report-result-board .section-banner,.report-activity-board .section-banner{
  margin:-18px -18px 18px;
  padding:16px 20px;
  background:linear-gradient(135deg,#eaf5fb 0%,#dceef8 100%);
  color:#153956;
  border:0;
  border-bottom:1px solid #bdd9e9;
  border-radius:20px 20px 0 0;
  letter-spacing:.3px;
}
.report-result-board .performance-table,.report-activity-board .performance-table{
  border:0;
  background:transparent;
  overflow:visible;
}
.report-empty-blue{
  padding:28px;
  text-align:center;
  color:#527087;
  background:#f3f9fd;
  border:1px dashed #bdd8e8;
  border-radius:14px;
}
.aux-result-grid,.activity-aux-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:18px;
}
.aux-result-card,.activity-aux-card{
  background:#fff;
  border:1px solid #cfe2ee;
  border-radius:18px;
  box-shadow:0 8px 22px rgba(27,76,109,.08);
  overflow:hidden;
}
.aux-result-header,.activity-aux-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f7fcff 0%,#e8f4fb 100%);
  border-bottom:1px solid #d5e7f1;
}
.aux-result-header span,.activity-aux-header>div:first-child>span{
  display:block;
  margin-bottom:3px;
  color:#678297;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.aux-result-header h3,.activity-aux-header h3{
  margin:0;
  color:#153956;
  font-size:22px;
}
.aux-score-badge{
  min-width:88px;
  padding:9px 13px;
  text-align:center;
  background:#dceef8;
  border:1px solid #bdd8e8;
  border-radius:14px;
}
.aux-score-badge small{display:block;color:#55758c;font-weight:700}
.aux-score-badge strong{display:block;color:#153956;font-size:22px}
.aux-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(86px,1fr));
  gap:10px;
  padding:16px 20px;
}
.aux-summary-grid>div{
  min-height:76px;
  padding:11px 8px;
  text-align:center;
  background:#f1f8fc;
  border:1px solid #d7e8f2;
  border-radius:12px;
}
.aux-summary-grid small{display:block;color:#607b90;font-size:12px;line-height:1.2}
.aux-summary-grid strong{display:block;margin-top:7px;color:#174568;font-size:24px}
.aux-metric-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 18px}
.aux-metric-list>div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 10px;
  align-items:center;
  padding:11px 12px;
  background:#fbfdff;
  border:1px solid #dbe9f1;
  border-radius:12px;
}
.aux-metric-list span{color:#3d6079;font-weight:700}
.aux-metric-list b{color:#153956}
.aux-metric-list i{
  grid-column:1/-1;
  display:block;
  height:8px;
  background:#e4f0f7;
  border-radius:999px;
  overflow:hidden;
}
.aux-metric-list i em{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#7eb7d8,#2d729f);
  border-radius:999px;
}
.aux-result-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:15px 20px 18px;
  background:#f7fbfe;
  border-top:1px solid #dceaf2;
}
.aux-result-footer span{display:flex;justify-content:space-between;gap:8px;color:#58758a}
.aux-result-footer b{color:#153956}
.aux-result-footer small{font-size:12px}
.aux-score-progress{
  grid-column:1/-1;
  height:10px;
  background:#dcecf5;
  border-radius:999px;
  overflow:hidden;
}
.aux-score-progress i{display:block;height:100%;background:linear-gradient(90deg,#8bc0de,#2d729f);border-radius:999px}
.activity-totals{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.activity-totals span{
  min-width:88px;
  padding:8px 10px;
  text-align:center;
  background:#fff;
  border:1px solid #c9dfed;
  border-radius:12px;
}
.activity-totals small{display:block;color:#648095;font-size:11px}
.activity-totals strong{display:block;color:#153956;font-size:19px;margin-top:3px}
.activity-metrics-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px;
  padding:18px 20px;
}
.activity-metric{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:62px;
  padding:12px 14px;
  background:#f5faff;
  border:1px solid #d7e8f2;
  border-radius:13px;
}
.activity-metric span{color:#496b83;font-size:13px;font-weight:700;line-height:1.25}
.activity-metric strong{
  flex:0 0 38px;
  display:grid;
  place-items:center;
  height:38px;
  color:#2f5f80;
  background:#e2f0f8;
  border-radius:11px;
  font-size:19px;
}
.activity-metric.has-value{
  background:#eaf5fb;
  border-color:#a9ccdf;
  box-shadow:inset 4px 0 0 #4f91ba;
}
.activity-metric.has-value strong{color:#fff;background:#2d729f}
.activity-score-line{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px 20px 18px;
  color:#4f6f85;
  border-top:1px solid #dceaf2;
  background:#f9fcfe;
}
.activity-score-line>div{height:10px;background:#dcecf5;border-radius:999px;overflow:hidden}
.activity-score-line>div i{display:block;height:100%;background:linear-gradient(90deg,#8bc0de,#2d729f);border-radius:999px}
.activity-score-line b{color:#153956}
@media(max-width:900px){
  .aux-summary-grid{grid-template-columns:repeat(3,1fr)}
  .aux-result-grid,.activity-aux-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .aux-result-header,.activity-aux-header{align-items:flex-start;flex-direction:column}
  .aux-summary-grid{grid-template-columns:repeat(2,1fr)}
  .aux-metric-list{grid-template-columns:1fr}
  .activity-totals{width:100%;justify-content:stretch}
  .activity-totals span{flex:1}
  .activity-metrics-grid{grid-template-columns:1fr}
}
@media print{
  body.print-reports .aux-result-grid,body.print-reports .activity-aux-grid{grid-template-columns:1fr 1fr}
  body.print-reports .aux-result-card,body.print-reports .activity-aux-card{box-shadow:none;break-inside:avoid}
}


/* AMBER V19.17 — rediseño blanco y azul: Tablero de indicadores */
.primary-indicator-board,.type-indicator-board{
  padding:18px;
  background:#fff;
  border:1px solid #bdd6e7;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(13,62,96,.10);
  overflow:hidden;
}
.primary-indicator-board h2,.type-indicator-board>h2{
  margin:-18px -18px 20px!important;
  padding:18px 22px;
  color:#fff;
  background:linear-gradient(135deg,#123e61 0%,#236f9f 100%);
  border:0;
  border-radius:20px 20px 0 0;
  text-align:left;
  font-size:19px;
  letter-spacing:.03em;
}
.indicator-modern-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(300px,1fr));
  gap:15px;
}
.indicator-modern-card{
  position:relative;
  background:#fff;
  border:1px solid #c9dfed;
  border-radius:16px;
  box-shadow:0 7px 18px rgba(26,76,108,.07);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.indicator-modern-card:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(26,76,108,.12);
}
.indicator-modern-head{
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:12px;
  min-height:70px;
  padding:13px 15px;
  background:linear-gradient(135deg,#f8fcff 0%,#eaf5fb 100%);
  border-bottom:1px solid #d5e7f1;
}
.indicator-modern-index{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#fff;
  background:#1f6592;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  box-shadow:0 4px 10px rgba(31,101,146,.20);
}
.indicator-modern-head h3{
  margin:0;
  color:#143b59;
  font-size:16px;
  line-height:1.25;
}
.indicator-modern-state,.type-modern-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.indicator-modern-state.ok,.type-modern-state.ok{color:#fff;background:#15557f;border:1px solid #15557f}
.indicator-modern-state.bad,.type-modern-state.bad{color:#fff;background:#397fa9;border:1px solid #397fa9}
.indicator-modern-state.none,.type-modern-state.none{color:#315f7d;background:#e7f3fa;border:1px solid #bed8e8}
.indicator-modern-body{
  display:grid;
  grid-template-columns:minmax(145px,.8fr) 1.2fr;
  min-height:96px;
}
.indicator-modern-result{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:15px;
  background:#edf7fc;
  border-right:1px solid #d4e6f0;
}
.indicator-modern-result small,.indicator-modern-meta small{
  color:#5f7e93;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.indicator-modern-result strong{
  margin-top:5px;
  color:#123f60;
  font-size:27px;
  line-height:1;
}
.indicator-modern-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#d9e9f3;
}
.indicator-modern-meta span{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:#fff;
}
.indicator-modern-meta b{margin-top:6px;color:#174766;font-size:18px}
.indicator-modern-progress,.type-modern-progress{
  height:8px;
  background:#e5f1f7;
  overflow:hidden;
}
.indicator-modern-progress i,.type-modern-progress i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#8ac1df 0%,#236f9f 100%);
  border-radius:0 999px 999px 0;
}

/* AMBER V19.17 — rediseño blanco y azul: Indicadores por tipo de gestión */
.type-modern-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(300px,1fr));
  gap:15px;
}
.type-modern-card{
  background:#fff;
  border:1px solid #c9dfed;
  border-radius:16px;
  box-shadow:0 7px 18px rgba(26,76,108,.07);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.type-modern-card:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(26,76,108,.12);
}
.type-modern-head{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:11px;
  min-height:66px;
  padding:12px 14px;
  background:linear-gradient(135deg,#f8fcff 0%,#eaf5fb 100%);
  border-bottom:1px solid #d5e7f1;
}
.type-modern-head>span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  color:#fff;
  background:#1f6592;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
}
.type-modern-head h3{margin:0;color:#143b59;font-size:17px}
.type-modern-body{
  display:grid;
  grid-template-columns:155px 1fr;
  align-items:center;
  gap:16px;
  padding:17px;
  background:#fff;
}
.type-modern-ring{
  --type-progress:0%;
  position:relative;
  display:grid;
  place-items:center;
  width:128px;
  height:128px;
  margin:auto;
  border-radius:50%;
  background:conic-gradient(#236f9f var(--type-progress),#e2f0f7 0);
}
.type-modern-ring::before{
  content:"";
  position:absolute;
  width:94px;
  height:94px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d3e5ef;
}
.type-modern-ring>div{position:relative;z-index:1;text-align:center}
.type-modern-ring strong{display:block;color:#123f60;font-size:25px;line-height:1}
.type-modern-ring small{display:block;margin-top:5px;color:#668297;font-size:10px;font-weight:800;text-transform:uppercase}
.type-modern-stats{display:grid;gap:9px}
.type-modern-stats span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:43px;
  padding:9px 11px;
  background:#f2f9fd;
  border:1px solid #d6e8f2;
  border-radius:11px;
}
.type-modern-stats small{color:#52758c;font-weight:700}
.type-modern-stats b{color:#123f60;font-size:16px}
@media(max-width:900px){
  .indicator-modern-grid,.type-modern-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .indicator-modern-head,.type-modern-head{grid-template-columns:42px 1fr}
  .indicator-modern-state,.type-modern-state{grid-column:1/-1;justify-self:stretch}
  .indicator-modern-body{grid-template-columns:1fr}
  .indicator-modern-result{border-right:0;border-bottom:1px solid #d4e6f0}
  .type-modern-body{grid-template-columns:1fr}
}
@media print{
  body.print-reports .indicator-modern-grid,body.print-reports .type-modern-grid{grid-template-columns:repeat(2,1fr)}
  body.print-reports .indicator-modern-card,body.print-reports .type-modern-card{box-shadow:none;break-inside:avoid}
}

/* AMBER V19.18 — varias rutas dentro de una gestión */
.route-module-help{margin:0 0 18px;padding:15px 18px;border:1px solid #b9d6ee;border-left:5px solid #1f5d9b;border-radius:14px;background:linear-gradient(135deg,#fff,#eef7ff);color:#173b5d;line-height:1.5}
.management-route-module{margin:18px 0 8px;padding:16px;border:1px solid #bfd8ec;border-radius:16px;background:#f4f9fd}
.management-route-module-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.management-route-module-head>div{display:flex;flex-direction:column;gap:3px}.management-route-module-head b{font-size:1.05rem;color:#123d64}.management-route-module-head span{color:#56738f;font-size:.88rem}
.management-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.management-route-option{position:relative;padding:14px;border:1px solid #c9dceb;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(20,65,102,.06)}
.management-route-option.recommended-route{border:2px solid #1f6fae;box-shadow:0 7px 20px rgba(31,111,174,.16)}
.management-route-option.status-en_ruta{border-color:#1976b8;background:#eef8ff}.management-route-option.status-completada{border-color:#8ebfa7;background:#f5fbf8;opacity:.92}.management-route-option.status-pendiente_culminar,.management-route-option.status-pendiente_reasignada{border-color:#d6a652;background:#fffaf0}
.route-option-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.route-option-head h4{margin:6px 0 2px;color:#123d64;font-size:1rem}.route-option-head small{color:#607b93}.route-option-number{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dceefa;color:#164d78;font-weight:800;font-size:.8rem}.recommended-badge{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;background:#1f5d9b;color:#fff;font-size:.72rem;font-weight:800}.route-option-status{padding:5px 8px;border-radius:9px;background:#eef4f9;color:#294e6d;font-size:.78rem;font-weight:800;white-space:nowrap}
.route-option-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.route-option-metrics span{display:flex;flex-direction:column;padding:8px 9px;border-radius:10px;background:#f0f7fc}.route-option-metrics small{color:#6b8194}.route-option-metrics b{color:#173f62;margin-top:2px}
.route-recommendation{margin:8px 0;padding:9px 10px;border-radius:10px;background:#e4f2fd;color:#174f79;font-size:.86rem}.route-pending-reason{margin:8px 0;padding:9px 10px;border-radius:10px;background:#fff0d4;color:#6b4a12;font-size:.86rem}.route-via-notes{margin:8px 0;color:#506b82;font-size:.86rem;white-space:pre-wrap}.route-option-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.route-option-actions .btn{font-size:.79rem;padding:7px 10px}.route-empty-state{padding:14px;border:1px dashed #b7cede;border-radius:12px;background:#fff;color:#668096;text-align:center}
.route-analysis-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0;padding:13px;border-radius:13px;background:#edf7ff;border:1px solid #bdd9ef;color:#214d70}.route-analysis-preview>b,.route-analysis-preview>small{grid-column:1/-1}.route-analysis-preview span,.route-analysis-preview strong{padding:8px;border-radius:9px;background:#fff;text-align:center}.route-analysis-preview strong{color:#0e5287}.route-analysis-preview small{color:#5e7790;line-height:1.4}
@media(max-width:720px){.management-route-module-head{align-items:stretch;flex-direction:column}.management-route-grid{grid-template-columns:1fr}.route-analysis-preview{grid-template-columns:1fr}.route-analysis-preview>b,.route-analysis-preview>small{grid-column:auto}.route-option-metrics{grid-template-columns:1fr}}


/* AMBER V19.18.1 — rutas creadas dentro de Crear / Asignar una gestión */
.assignment-multiple-routes{border:1px solid #a9cce5;background:linear-gradient(145deg,#fff,#eef7fd);border-radius:16px;padding:16px}
.assignment-multiple-routes legend{color:#123f60;font-weight:900;padding:0 8px}
.assignment-route-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.assignment-route-toolbar>div{display:flex;flex-direction:column;gap:4px}.assignment-route-toolbar b{color:#123f60;font-size:1rem}.assignment-route-toolbar small{color:#55758d;line-height:1.4}
.assignment-route-count{margin:13px 0 9px;color:#315e7e;font-size:.84rem;font-weight:800}
.assignment-route-draft-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:11px}
.assignment-route-empty{grid-column:1/-1;padding:17px;border:1px dashed #9dbed5;border-radius:12px;background:#fff;color:#688398;text-align:center}
.assignment-route-draft{padding:13px;border:1px solid #c5ddec;border-radius:13px;background:#fff;box-shadow:0 5px 14px rgba(20,65,102,.06)}
.assignment-route-draft.recommended-draft{border:2px solid #17669f;box-shadow:0 8px 18px rgba(23,102,159,.15)}
.assignment-route-draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.assignment-route-draft-head>div>span{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dfeff9;color:#154c73;font-size:.78rem;font-weight:900}.assignment-route-draft-head>div>b{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;background:#17669f;color:#fff;font-size:.7rem}.assignment-route-draft-head h4{margin:8px 0 2px;color:#123f60}.assignment-route-draft-head small{color:#668096}.assignment-route-draft-head>strong{color:#145b8d;white-space:nowrap}
.assignment-route-draft-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:11px 0}.assignment-route-draft-meta span{padding:7px;border-radius:9px;background:#eff7fc;color:#52728a;font-size:.78rem}.assignment-route-draft-meta b{color:#183f5e}
.assignment-route-draft-actions{display:flex;justify-content:flex-end;gap:7px}.assignment-route-draft-actions .btn{padding:6px 9px;font-size:.78rem}
@media(max-width:720px){.assignment-route-toolbar{align-items:stretch;flex-direction:column}.assignment-route-draft-list{grid-template-columns:1fr}.assignment-route-draft-meta{grid-template-columns:1fr}}

/* V19.19 - Mensajería documental y firma táctil */
.messaging-route-fields{border:1px solid #a8c7e8;background:#f3f8fd;border-radius:16px;padding:16px}.messaging-route-fields legend{color:#123f6d;font-weight:800;padding:0 8px}.messaging-receipt-check{background:#fff;border:1px solid #c7dced;border-radius:12px;padding:12px}.messaging-receipt-check span{display:flex;gap:8px;align-items:center;font-weight:700}.draft-messaging-detail{display:flex;flex-direction:column;margin-top:8px;padding:8px 10px;background:#eaf4fc;border-left:4px solid #1f5d9b;border-radius:8px;color:#123f6d}.messaging-badge{display:inline-flex;background:#dceefa;color:#123f6d;border:1px solid #9cc7e8;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800;margin-left:6px}.messaging-route-card{border-color:#8ebce0;background:linear-gradient(180deg,#fff,#f2f8fd)}.messaging-route-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.messaging-route-detail>div{background:#eaf4fc;border:1px solid #c5dff1;border-radius:12px;padding:10px;display:flex;flex-direction:column}.messaging-route-detail small{color:#58738c}.messaging-proof-list{display:grid;gap:8px;margin:10px 0}.messaging-proof-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #b9d6ec;border-radius:12px;padding:10px}.messaging-proof-item>div:first-child{display:flex;flex-direction:column}.messaging-proof-files{display:flex;gap:8px;flex-wrap:wrap}.messaging-proof-files a{background:#1f5d9b;color:#fff;text-decoration:none;padding:7px 10px;border-radius:8px;font-weight:700}.messaging-proof-summary{display:grid;gap:5px;background:#eaf4fc;border:1px solid #b9d6ec;border-radius:14px;padding:14px;margin-bottom:14px;color:#123f6d}.messaging-photo-field{background:#f4f9fd;border:1px dashed #8ebce0;border-radius:12px;padding:12px}.signature-fieldset{border:1px solid #9fc6e5;background:#f5faff;border-radius:14px;padding:14px}.signature-fieldset legend{font-weight:800;color:#123f6d}.signature-fieldset p{margin-top:0;color:#49677f}.signature-fieldset canvas{width:100%;height:180px;background:#fff;border:2px solid #7baed5;border-radius:12px;touch-action:none;cursor:crosshair;display:block}.signature-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}.status-pendiente_recepcion{background:#dceefa;color:#123f6d}
@media(max-width:700px){.messaging-route-detail{grid-template-columns:1fr}.messaging-proof-item{align-items:flex-start;flex-direction:column}.signature-fieldset canvas{height:160px}.signature-actions{align-items:flex-start;flex-direction:column}}


/* V19.20 — responsables y aviso de asignación por ruta */
.route-responsibility-notice{margin:0 0 16px;padding:14px 16px;border:1px solid #b8d2ec;border-left:5px solid #1d65a6;border-radius:12px;background:#f1f7fd;color:#123f6d;display:flex;flex-direction:column;gap:4px}
.route-responsibility-notice span{font-size:.9rem;color:#496b8c}
.assignment-route-draft-meta{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.route-option-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}


/* V19.21 — flujo secuencial de Aforos e Inspecciones */
.status-programada{background:#eaf3ff;color:#174f87;border:1px solid #9fc3e8}
.auxiliary-operation-panel{border-top:4px solid #2d6da8}
.auxiliary-operational-list{display:grid;gap:18px}
.auxiliary-operation-card{background:#f7fbff;border:1px solid #bdd4e8;border-radius:16px;padding:18px;box-shadow:0 8px 22px rgba(20,74,122,.08)}
.auxiliary-operation-card>header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:12px}
.auxiliary-operation-card>header div{display:flex;flex-direction:column;gap:4px}.operation-schedule{padding:10px 12px;background:#fff;border:1px solid #d8e7f4;border-radius:10px;margin-bottom:12px}
.operational-workflow{margin:18px 0;background:#f4f9fe;border:1px solid #bdd5ea;border-radius:16px;padding:16px}
.operational-workflow.compact{margin-bottom:0}.operational-workflow-head{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,280px);gap:15px;align-items:center;margin-bottom:14px}.operational-workflow-head>div:first-child{display:flex;flex-direction:column;gap:3px}.operational-workflow-head span{font-size:.86rem;color:#55738f}.workflow-progress{height:10px;background:#dcebf8;border-radius:999px;overflow:hidden}.workflow-progress i{display:block;height:100%;background:#286da8;border-radius:inherit;transition:width .25s ease}
.workflow-steps{display:grid;gap:10px}.workflow-step{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:#fff;border:1px solid #d4e4f1;border-radius:12px}.workflow-step.done{background:#edf7ff;border-color:#8ebbe0}.workflow-step.current{border:2px solid #2d6fa9;box-shadow:0 4px 14px rgba(30,97,154,.12)}.workflow-step.locked{opacity:.62}.workflow-step-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#dceaf7;color:#366989}.workflow-step.done .workflow-step-icon{background:#246da8;color:#fff}.workflow-step.current .workflow-step-icon{background:#fff;color:#22669e;border:3px solid #22669e}.workflow-step-content{display:flex;flex-direction:column;gap:3px;min-width:0}.workflow-step-content small{color:#637d94}.workflow-step-content p{margin:3px 0 0;font-size:.88rem}.workflow-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.workflow-files a{font-size:.78rem;padding:4px 7px;background:#e8f3fc;border-radius:7px}.workflow-step-button{white-space:nowrap}
.operational-step-summary{display:flex;flex-direction:column;gap:5px;background:#edf6fd;border-left:5px solid #246da8;border-radius:10px;padding:12px;margin-bottom:15px}.op-step-fields{display:grid;gap:14px}.workflow-confirm-box{display:flex;align-items:center;gap:16px;background:#f4f9fe;border:1px solid #bdd6ea;border-radius:14px;padding:18px}.workflow-big-check{font-size:2rem;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#246da8;color:#fff;font-weight:800}.workflow-confirm-box p{margin:0}.operational-step-dialog input[type=file]{padding:12px;background:#f4f9fe;border:1px dashed #7da9cc}.warning-card{padding:12px 14px;background:#fff5e9;border:1px solid #e7b879;border-radius:10px;color:#784b17}
@media(max-width:760px){.operational-workflow-head{grid-template-columns:1fr}.workflow-step{grid-template-columns:34px minmax(0,1fr)}.workflow-step-button{grid-column:1/-1;width:100%}.auxiliary-operation-card>header{flex-direction:column}}


/* V19.22 — selector inicial de cuatro tipos de gestión */
.assignment-type-chooser{max-width:1120px;margin:0 auto 24px;padding:24px;border:1px solid #bfd7ec;border-radius:22px;background:linear-gradient(145deg,#ffffff 0%,#eef7ff 100%);box-shadow:0 14px 35px rgba(24,78,126,.10)}
.assignment-type-intro{display:flex;align-items:center;gap:15px;margin-bottom:20px}.assignment-type-intro h2{margin:0;color:#123f68;font-size:1.45rem}.assignment-type-intro p{margin:5px 0 0;color:#58758e}.assignment-type-step{display:grid;place-items:center;min-width:68px;height:34px;padding:0 12px;border-radius:999px;background:#145f9c;color:#fff;font-weight:900;font-size:.82rem}
.assignment-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.assignment-type-card{appearance:none;width:100%;min-height:138px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;text-align:left;border:1px solid #b9d4e9;border-radius:18px;background:#fff;color:#133f63;box-shadow:0 8px 20px rgba(25,75,115,.07);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.assignment-type-card:hover{transform:translateY(-3px);border-color:#2b73ae;box-shadow:0 14px 26px rgba(25,75,115,.15)}.assignment-type-card:focus-visible{outline:3px solid #8cc5ed;outline-offset:3px}.assignment-type-card>span:nth-child(2){display:flex;flex-direction:column;gap:7px}.assignment-type-card b{font-size:1.18rem;color:#113e65}.assignment-type-card small{color:#58758e;line-height:1.4}.assignment-type-card i{font-style:normal;font-weight:800;color:#1c669f;white-space:nowrap}.assignment-type-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#e5f2fc;border:1px solid #b9d9ef;color:#155f98;font-size:1.6rem;font-weight:900}.assignment-type-card.restricted{opacity:.55;cursor:not-allowed;background:#f4f7fa}.assignment-type-card.restricted:hover{transform:none;box-shadow:0 8px 20px rgba(25,75,115,.07);border-color:#b9d4e9}.assignment-type-permission-note{margin-top:17px;padding:12px 14px;border-radius:12px;background:#e9f4fc;color:#315e7d;border:1px solid #c4ddef;font-size:.9rem}
.assignment-form-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:0 0 18px;padding:18px 20px;border:1px solid #bcd7ec;border-left:6px solid #1767a3;border-radius:16px;background:#f1f8fe}.assignment-form-header>div{display:flex;flex-direction:column;gap:4px}.assignment-form-header span{width:max-content;padding:4px 10px;border-radius:999px;background:#1767a3;color:#fff;font-size:.75rem;font-weight:900}.assignment-form-header h2{margin:0;color:#123f66}.assignment-form-header p{margin:0;color:#56758d}.assignment-form[hidden],.assignment-type-chooser[hidden],.assignment-form-header[hidden]{display:none!important}
@media(max-width:760px){.assignment-type-chooser{padding:17px}.assignment-type-grid{grid-template-columns:1fr}.assignment-type-card{grid-template-columns:48px minmax(0,1fr);min-height:120px;padding:16px}.assignment-type-card i{grid-column:2}.assignment-type-icon{width:46px;height:46px}.assignment-form-header{grid-template-columns:1fr}.assignment-form-header .btn{width:100%}.assignment-type-intro{align-items:flex-start;flex-direction:column}}


/* V19.22.2 - Formulario de asignación más amigable */
.assignment-interactive-guide{margin:0 0 18px;padding:18px;border:1px solid #bfd8ec;border-radius:18px;background:linear-gradient(145deg,#f4faff,#fff);box-shadow:0 9px 24px rgba(23,88,139,.08)}
.assignment-interactive-guide[hidden],.assignment-form [hidden]{display:none!important}
.assignment-guide-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}.assignment-guide-head>span{padding:5px 10px;border-radius:999px;background:#1767a3;color:#fff;font-size:.76rem;font-weight:900;white-space:nowrap}.assignment-guide-head h3{margin:0;color:#113f66}.assignment-guide-head p{margin:4px 0 0;color:#57738a;line-height:1.45}
.assignment-guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.assignment-guide-steps article{display:flex;align-items:center;gap:10px;min-height:76px;padding:12px;border:1px solid #d2e3f0;border-radius:14px;background:#fff}.assignment-guide-steps article>b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#e4f1fb;color:#155f98;font-size:1rem}.assignment-guide-steps strong,.assignment-guide-steps small{display:block}.assignment-guide-steps strong{color:#153f62}.assignment-guide-steps small{margin-top:3px;color:#607b91;font-weight:400;line-height:1.3}
.assignment-form{background:#f8fbfe}.assignment-form>label,.assignment-form>fieldset{padding:12px;border:1px solid #d9e7f1;border-radius:13px;background:#fff}.assignment-form>label:focus-within,.assignment-form>fieldset:focus-within{border-color:#5b9bc9;box-shadow:0 0 0 3px rgba(75,145,196,.12)}.assignment-form>label small{color:#678095;font-weight:400;line-height:1.35}.assignment-form.messaging-form{border-color:#a9d0ea;background:linear-gradient(180deg,#f2f9ff,#fff)}.assignment-form.messaging-form .assignment-multiple-routes{border:2px solid #8dbfe2;background:#f3faff}.assignment-form.messaging-form .assignment-route-toolbar{align-items:center}
@media(max-width:900px){.assignment-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.assignment-guide-head{flex-direction:column}.assignment-guide-steps{grid-template-columns:1fr}.assignment-form>label,.assignment-form>fieldset{padding:10px}}


/* AMBER V19.22.3 — Asistente interactivo de Mensajería */
.messaging-route-wizard{margin:18px 0 28px}.messaging-wizard-intro{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:24px;border:1px solid #c9dced;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#eef7ff 100%);box-shadow:0 14px 34px rgba(20,73,117,.10)}.messaging-wizard-symbol{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:#0f4f82;color:#fff;font-size:34px;font-weight:800}.messaging-wizard-kicker{display:inline-block;color:#21689e;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.messaging-wizard-intro h2{margin:4px 0 6px;color:#163a5f}.messaging-wizard-intro p{margin:0;color:#5c7388}.messaging-create-route-btn{min-width:170px;font-size:17px;padding:14px 22px}.messaging-wizard-flow{display:grid;gap:16px}.messaging-wizard-progress{display:grid;grid-template-columns:minmax(220px,auto) 1fr;gap:22px;align-items:center;padding:16px 20px;background:#f4f9fd;border:1px solid #d3e4f1;border-radius:18px}.messaging-wizard-progress span{display:block;color:#54738d;font-size:13px}.messaging-wizard-progress b{display:block;color:#123b61;font-size:18px;margin-top:2px}.messaging-progress-track{height:10px;background:#dbeaf5;border-radius:999px;overflow:hidden}.messaging-progress-track i{display:block;height:100%;width:16.66%;border-radius:inherit;background:linear-gradient(90deg,#1d6aa5,#0f4f82);transition:width .25s ease}.messaging-wizard-step{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px;border:1px solid #cfe0ee;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(18,73,116,.08)}.messaging-step-number{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#e7f3fc;color:#0f4f82;font-size:22px;font-weight:900;border:1px solid #c5def0}.messaging-step-content h3{margin:2px 0 4px;color:#153d62;font-size:23px}.messaging-step-content>p{margin:0 0 18px;color:#667e92}.messaging-step-content>label,.messaging-wizard-grid label{display:grid;gap:7px;color:#173c60;font-weight:700}.messaging-step-content input,.messaging-step-content select,.messaging-step-content textarea{width:100%;border:1px solid #bcd4e5;background:#f9fcff;border-radius:13px;padding:12px 14px;color:#17324d;font:inherit}.messaging-step-content input:focus,.messaging-step-content select:focus,.messaging-step-content textarea:focus{outline:3px solid rgba(30,112,170,.14);border-color:#1e70aa;background:#fff}.messaging-step-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.messaging-confirm-card{display:flex;align-items:center;gap:14px;margin-top:14px;padding:15px;border:1px solid #c8dfef;background:#edf7fe;border-radius:15px}.messaging-confirm-card>span{width:38px;height:38px;border-radius:12px;background:#17679f;color:#fff;display:grid;place-items:center;font-weight:900}.messaging-confirm-card b,.messaging-confirm-card small{display:block}.messaging-confirm-card small{color:#5f778c;margin-top:2px}.messaging-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.messaging-wizard-grid .span-2{grid-column:1/-1}.messaging-wizard-grid small{font-weight:400;color:#698094}.messaging-channel-box{margin-top:16px;border:1px solid #cbdfee;background:#f5faff;border-radius:16px;padding:15px}.messaging-channel-box legend{padding:0 8px;color:#16456d;font-weight:800}.messaging-wizard-estimate{margin-top:16px;padding:14px 16px;border-radius:15px;background:#eaf5fd;border-left:5px solid #17679f;color:#244e70;display:flex;gap:18px;flex-wrap:wrap}.messaging-wizard-estimate b{color:#123b61}.messaging-wizard-route-summary{margin-top:18px;padding:16px;border:1px solid #cddfeb;border-radius:17px;background:#f8fbfe}.messaging-wizard-route-summary>div:first-child b,.messaging-wizard-route-summary>div:first-child small{display:block}.messaging-wizard-route-summary>div:first-child small{color:#6a8092;margin-top:3px}.messaging-wizard-route-list{display:grid;gap:10px;margin-top:13px}.messaging-wizard-route-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 14px;border:1px solid #cbdfee;border-radius:14px;background:#fff}.messaging-wizard-route-card.recommended{border-color:#1f6fa7;box-shadow:0 0 0 3px rgba(31,111,167,.09)}.messaging-wizard-route-card h4{margin:3px 0;color:#153e63}.messaging-wizard-route-card small{display:block;color:#687f91}.messaging-wizard-route-card .route-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.messaging-wizard-route-card .route-tags span{padding:4px 8px;border-radius:999px;background:#eaf4fb;color:#1d5c89;font-size:12px}.messaging-wizard-route-card .recommended-tag{display:inline-block;background:#0f4f82;color:#fff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.messaging-wizard-route-card-actions{display:flex;gap:7px;align-items:center}.messaging-wizard-route-empty{padding:15px;text-align:center;color:#6e8294;border:1px dashed #bcd4e5;border-radius:13px;background:#fff}.messaging-final-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.messaging-final-actions .primary{min-width:145px}.messaging-start-note{text-align:right;margin:10px 0 0!important;font-size:12px;color:#738697!important}.messaging-receipt-check{border:1px solid #cbdfee;border-radius:14px;padding:12px;background:#f4f9fd}.messaging-receipt-check span{display:flex;gap:9px;align-items:center}.messaging-receipt-check input{width:auto!important}.messaging-wizard-step[hidden],.messaging-route-wizard[hidden],.messaging-wizard-flow[hidden],.messaging-wizard-intro[hidden]{display:none!important}
@media(max-width:820px){.messaging-wizard-intro{grid-template-columns:auto 1fr}.messaging-create-route-btn{grid-column:1/-1;width:100%}.messaging-wizard-progress{grid-template-columns:1fr}.messaging-wizard-step{grid-template-columns:1fr}.messaging-step-number{width:44px;height:44px}.messaging-wizard-grid{grid-template-columns:1fr}.messaging-wizard-grid .span-2{grid-column:auto}.messaging-wizard-route-card{grid-template-columns:1fr}.messaging-wizard-route-card-actions{justify-content:flex-end}.messaging-final-actions{display:grid;grid-template-columns:1fr}.messaging-final-actions .btn{width:100%}.messaging-start-note{text-align:left}}


/* AMBER V19.23 — Mi recorrido de hoy */
.my-today-routes-panel{background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);border:1px solid #cfe2f4;box-shadow:0 12px 30px rgba(25,82,126,.08)}
.my-route-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:12px 0 14px}
.my-route-summary article{background:#fff;border:1px solid #d5e7f6;border-radius:14px;padding:14px;box-shadow:0 6px 16px rgba(28,88,132,.06)}
.my-route-summary span{display:block;color:#55758f;font-size:.82rem;font-weight:700}.my-route-summary strong{display:block;color:#0d4f83;font-size:1.8rem;margin-top:4px}
.my-route-notice{background:#eaf5ff;border-left:5px solid #1672b8;border-radius:12px;padding:13px 15px;color:#184d72;margin-bottom:14px}
.my-today-routes-list{display:grid;gap:14px}
.my-route-card{background:#fff;border:1px solid #d5e7f6;border-radius:18px;padding:17px;box-shadow:0 8px 22px rgba(21,75,115,.08);position:relative;overflow:hidden}
.my-route-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#8fbddd}.my-route-card.recommended{border-color:#5ca6dc;box-shadow:0 10px 28px rgba(22,113,181,.15)}.my-route-card.recommended::before{background:#126eb1}
.my-route-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.my-route-card-head h3{margin:8px 0 4px;color:#0e4772;font-size:1.15rem}.my-route-card-head p{margin:0;color:#617b8f}
.my-route-label-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.my-route-label,.my-route-recommended,.my-route-kind,.my-route-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:800}
.my-route-label{background:#e7f3fc;color:#0e5f99}.my-route-recommended{background:#126eb1;color:#fff}.my-route-kind{background:#f1f7fc;color:#315f80;border:1px solid #cfe2f2}.my-route-status{background:#edf5fb;color:#215b83;white-space:nowrap}
.my-route-schedule{margin:14px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;border-radius:13px;padding:12px 14px;background:#f4f9fd;border:1px solid #d8e9f6}.my-route-schedule span small{display:block;color:#688197}.my-route-schedule span b{color:#164f78}.my-route-schedule strong{color:#0e6da9}.my-route-schedule.future{background:#fff8e9;border-color:#f1d59a}.my-route-schedule.future strong{color:#99620a}
.my-route-data{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px}.my-route-data span{background:#f8fbfe;border:1px solid #e0edf7;border-radius:12px;padding:10px}.my-route-data small{display:block;color:#6b8498;margin-bottom:4px}.my-route-data b{color:#173f5c;overflow-wrap:anywhere}
.my-route-pending{margin-top:12px;background:#fff4ec;border:1px solid #f2c9a8;border-radius:11px;padding:11px;color:#8a4e22}.my-route-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.my-route-actions .btn[disabled]{opacity:.62;cursor:not-allowed}.my-route-empty{padding:28px;text-align:center;border:2px dashed #c9dfee;border-radius:16px;color:#55758f;background:#f8fcff}
@media(max-width:900px){.my-route-summary{grid-template-columns:repeat(2,1fr)}.my-route-data{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.my-route-summary,.my-route-data{grid-template-columns:1fr}.my-route-card-head,.my-route-schedule{flex-direction:column}.my-route-actions .btn,.my-route-actions a{width:100%;text-align:center;justify-content:center}}


/* AMBER V19.24 — Centro de control operativo */
.operations-control-panel{background:linear-gradient(180deg,#f5faff 0%,#fff 100%);border:1px solid #c9e0f2;box-shadow:0 14px 34px rgba(22,78,120,.09)}
.operations-control-head-actions{display:flex;gap:10px;flex-wrap:wrap}.operations-control-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:14px 0}.operations-control-summary article{background:#fff;border:1px solid #d4e7f5;border-radius:15px;padding:14px;box-shadow:0 6px 17px rgba(21,78,119,.06)}.operations-control-summary span{display:block;color:#5e7890;font-size:.82rem;font-weight:700}.operations-control-summary strong{display:block;color:#0b568d;font-size:1.85rem;margin-top:3px}.operations-control-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr));gap:10px;margin:12px 0 14px}.operations-control-filters label{display:grid;gap:6px;color:#214d70;font-size:.82rem;font-weight:800}.operations-control-filters input,.operations-control-filters select{width:100%;border:1px solid #bed8ea;background:#fff;border-radius:11px;padding:10px 12px;color:#173f5f}.operations-control-notice{padding:12px 14px;border-radius:12px;background:#eaf5fd;border-left:5px solid #1771ad;color:#1c5278;margin-bottom:13px}.operations-control-list{display:grid;gap:13px}.operations-control-card{position:relative;background:#fff;border:1px solid #d6e7f4;border-radius:17px;padding:16px;box-shadow:0 8px 22px rgba(22,73,109,.07);overflow:hidden}.operations-control-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8ebddd}.operations-control-card.state-activa::before{background:#1d76b4}.operations-control-card.state-alerta::before{background:#c94444}.operations-control-card.state-culminada::before{background:#4f9f76}.operations-control-card.recommended{border-color:#4c9bd1;box-shadow:0 10px 26px rgba(31,112,170,.13)}.operations-control-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.operations-control-tags{display:flex;gap:7px;flex-wrap:wrap}.operations-control-tags span,.operations-control-tags b,.operations-control-tags i{font-style:normal;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800}.operations-control-tags span{background:#e7f3fb;color:#0e5f98}.operations-control-tags b{background:#0f67a3;color:#fff}.operations-control-tags i{background:#f2f8fc;color:#315f7f;border:1px solid #d2e5f2}.operations-control-card h3{margin:8px 0 4px;color:#123f64}.operations-control-card p{margin:0;color:#657e92}.operations-control-status{background:#edf6fc;color:#1d5c86;border-radius:999px;padding:7px 11px;font-size:.78rem;white-space:nowrap}.operations-control-data{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:9px;margin-top:13px}.operations-control-data span{display:block;background:#f8fbfe;border:1px solid #e1edf6;border-radius:11px;padding:9px 10px}.operations-control-data small,.operations-control-data em{display:block;color:#6a8397;font-style:normal;font-size:.75rem}.operations-control-data b{display:block;color:#173f5d;margin:3px 0;overflow-wrap:anywhere}.operations-control-warning{margin-top:11px;padding:10px 12px;border-radius:10px;background:#fff3ef;border:1px solid #efc5b8;color:#8c432f}.operations-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.operations-control-empty{padding:26px;text-align:center;border:2px dashed #c6deee;border-radius:14px;background:#f8fcff;color:#5f7b91}
@media(max-width:1000px){.operations-control-filters{grid-template-columns:repeat(2,1fr)}.operations-control-data{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.operations-control-summary,.operations-control-filters,.operations-control-data{grid-template-columns:1fr}.operations-control-card-head{flex-direction:column}.operations-control-head-actions,.operations-control-actions{display:grid;grid-template-columns:1fr;width:100%}.operations-control-head-actions .btn,.operations-control-actions .btn,.operations-control-actions a{width:100%;text-align:center;justify-content:center}}


/* AMBER V19.25 — Aplicación móvil simple y monitor de rutas */
.mobile-route-task{display:grid;grid-template-columns:48px 1fr;gap:13px;background:#fff;border:1px solid #cfe0ee;border-radius:18px;padding:15px;box-shadow:0 8px 22px rgba(17,65,100,.07)}.mobile-route-task.completed{opacity:.86;background:#f6fbff}.mobile-route-task.blocked{background:#f5f7f9}.mobile-task-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0f5f99;color:#fff;font-size:1.1rem;font-weight:900}.mobile-route-task.completed .mobile-task-number{background:#2f8b66}.mobile-task-head{display:flex;justify-content:space-between;gap:15px}.mobile-task-head span{display:inline-block;color:#0f5f99;font-size:.78rem;font-weight:900;text-transform:uppercase}.mobile-task-head h3{margin:4px 0;color:#123f61}.mobile-task-head p{margin:0;color:#687f91}.mobile-task-head>strong{align-self:flex-start;background:#e9f4fc;color:#174f77;padding:7px 10px;border-radius:999px;white-space:nowrap}.mobile-route-progress{display:flex;align-items:center;gap:7px;margin:13px 0}.mobile-route-progress span{width:24px;height:24px;border-radius:6px;background:#dce6ee;border:1px solid #c6d4df;display:grid;place-items:center;color:#fff;font-size:.78rem;font-weight:900}.mobile-route-progress span.done{background:#35b77d;border-color:#239865}.mobile-route-progress b{font-size:.82rem;color:#355c77;margin-left:4px}.mobile-task-info{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:13px}.mobile-task-info span{background:#f6fafd;border:1px solid #dceaf4;border-radius:10px;padding:9px}.mobile-task-info small,.mobile-task-info b{display:block}.mobile-task-info small{color:#6b8192;font-size:.72rem}.mobile-task-info b{color:#183f5b;margin-top:3px}.mobile-main-action{width:100%;min-height:56px;border:0;border-radius:14px;background:#0e67a5;color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(14,103,165,.2)}.mobile-main-action:active{transform:translateY(1px)}.mobile-main-action.complete{background:#2d8b65}.mobile-main-action.waiting{background:#dfe8ef;color:#496477;box-shadow:none;cursor:not-allowed}.mobile-route-more{margin-top:10px}.mobile-route-more summary{cursor:pointer;color:#315f7e;font-weight:800}.mobile-route-more>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.route-monitor-panel{background:#fff;border:1px solid #cbddeb}.route-monitor-legend{display:flex;gap:18px;flex-wrap:wrap;background:#f4f9fd;border:1px solid #d9e8f2;border-radius:12px;padding:10px 12px;margin-bottom:12px;color:#345b76}.route-monitor-legend span{display:flex;align-items:center;gap:7px}.route-monitor-legend i{width:17px;height:17px;border-radius:4px;background:#dce6ee;display:inline-block}.route-monitor-legend i.done{background:#35b77d}.route-monitor-legend b{background:#0f5f99;color:#fff;border-radius:5px;padding:2px 6px;font-size:.72rem}.route-monitor-table{overflow:auto}.route-monitor-header,.route-monitor-row{display:grid;grid-template-columns:1.05fr 1.2fr 1.45fr 1fr 1fr;gap:12px;align-items:center;min-width:920px;padding:12px}.route-monitor-header{background:#17334f;color:#fff;border-radius:11px 11px 0 0}.route-monitor-row{border-bottom:1px solid #dce6ee;background:#fff}.route-monitor-row:nth-child(odd){background:#f6fafd}.route-monitor-row small{display:block;color:#698093;margin-top:3px}.route-monitor-aux b{color:#123f62}.route-monitor-row .mobile-route-progress{margin:0}.monitor-status{display:inline-flex;border-radius:999px;padding:6px 9px;background:#e8f3fb;color:#165b88;font-weight:800;font-size:.78rem}.route-monitor-empty{padding:24px;text-align:center;color:#61798c}.auxiliary-quick-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:700px){.my-today-routes-panel .page-title{align-items:flex-start}.my-route-summary{grid-template-columns:repeat(2,1fr)}.mobile-route-task{grid-template-columns:36px 1fr;padding:12px}.mobile-task-number{width:34px;height:34px}.mobile-task-head{display:block}.mobile-task-head>strong{display:inline-flex;margin-top:8px}.mobile-task-info{grid-template-columns:1fr 1fr}.mobile-route-progress{gap:4px}.mobile-route-progress span{width:21px;height:21px}.mobile-route-more>div{display:grid;grid-template-columns:1fr}.mobile-route-more .btn,.mobile-route-more a{width:100%;justify-content:center;text-align:center}}
@media(max-width:430px){.mobile-task-info{grid-template-columns:1fr}.mobile-route-task{grid-template-columns:1fr}.mobile-task-number{margin-bottom:-4px}.my-route-summary{grid-template-columns:1fr 1fr}.mobile-main-action{font-size:1rem}}
.auxiliary-status-tools{margin:0 0 14px;background:#f7fbfe;border:1px solid #d7e7f2;border-radius:12px;padding:10px 12px}.auxiliary-status-tools summary{cursor:pointer;color:#315f7d;font-weight:800}.auxiliary-status-tools .auxiliary-quick-status{margin-top:10px}


/* AMBER V19.26 — Monitor moderno de estados por auxiliar */
.route-monitor-panel{background:linear-gradient(180deg,#f7fbff 0%,#eef6fc 100%);border:1px solid #bfd5e6;border-radius:22px;overflow:hidden}
.route-monitor-panel .page-title{padding:4px 2px 12px}.route-monitor-panel .page-title h2{color:#0b416e;font-size:1.55rem}.route-monitor-panel .page-title p{color:#668097}
.route-monitor-legend{display:none}.route-monitor-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;overflow:visible}
.route-monitor-card{position:relative;background:#fff;border:1px solid #cfe0ed;border-radius:20px;padding:17px;box-shadow:0 12px 30px rgba(20,72,109,.09);overflow:hidden;transition:.2s ease}
.route-monitor-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(20,72,109,.14)}
.route-monitor-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#2f82bd}
.route-monitor-card.special-emergencia:before{background:#d73b3b}.route-monitor-card.special-fuera-plazo:before{background:#ef8c22}.route-monitor-card.special-tiempo-extra:before{background:#7553b8}.route-monitor-card.special-almuerzo:before{background:#d89c2d}.route-monitor-card.special-retorno:before{background:#3673b8}
.route-monitor-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #e3edf5}
.route-monitor-person{display:flex;align-items:center;gap:11px}.route-monitor-person h3{margin:0;color:#123e5f;font-size:1.05rem}.route-monitor-person small{color:#71889a}.route-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#0f5f99,#2e88c4);color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:.04em;box-shadow:0 7px 16px rgba(15,95,153,.22)}
.route-state-pill,.route-current-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;background:#e7f3fb;color:#135b8b;font-size:.78rem;font-weight:900;white-space:nowrap}.route-state-pill i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(19,91,139,.11)}
.stage-en-ruta{background:#e8f4ff!important;color:#0c68aa!important}.stage-llegada-destino{background:#e8f8ff!important;color:#087d9d!important}.stage-en-tramite{background:#e9f7f2!important;color:#157a5b!important}.stage-tramite-finalizado{background:#edf8e9!important;color:#3b7f2a!important}.stage-salida-lugar{background:#edf2ff!important;color:#4d60a8!important}.stage-disponible{background:#edf5f8!important;color:#506c7d!important}.special-almuerzo{background:#fff5dc!important;color:#9a6a08!important}.special-retorno{background:#e9f1ff!important;color:#2d5f9e!important}.special-tiempo-extra{background:#f2ecff!important;color:#6647a5!important}.special-fuera-plazo{background:#fff0df!important;color:#b45a08!important}.special-emergencia{background:#ffe8e8!important;color:#b42020!important}
.route-monitor-main{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin:14px 0}.route-monitor-main>div{background:#f5faff;border:1px solid #dfebf4;border-radius:13px;padding:10px 11px}.route-monitor-main small,.route-monitor-main b,.route-monitor-main span{display:block}.route-monitor-main small{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7b91a2}.route-monitor-main b{color:#153f5e;margin:4px 0}.route-monitor-main span{font-size:.82rem;color:#677e90}
.route-stage-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin:15px 2px 11px}.route-stage-timeline:before{content:"";position:absolute;left:8%;right:8%;top:16px;height:3px;background:#dbe8f2;border-radius:4px}.route-stage-node{position:relative;z-index:1;text-align:center}.route-stage-node span{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;background:#e8f0f6;border:3px solid #fff;box-shadow:0 0 0 1px #cfdeea;color:#7290a6;font-weight:900}.route-stage-node small{display:block;color:#778c9c;font-size:.67rem;line-height:1.2;padding:0 2px}.route-stage-node.done span{background:#2d85bd;color:#fff;box-shadow:0 0 0 1px #2d85bd}.route-stage-node.done small{color:#245f83;font-weight:800}.route-stage-node.active span{background:#fff;color:#0d68a5;box-shadow:0 0 0 3px #4da3d8;animation:routePulse 1.7s infinite}.route-stage-node.active small{color:#0d5f95;font-weight:900}.route-stage-timeline.has-special{opacity:.55}
@keyframes routePulse{0%,100%{box-shadow:0 0 0 3px #4da3d8,0 0 0 7px rgba(77,163,216,.08)}50%{box-shadow:0 0 0 3px #4da3d8,0 0 0 12px rgba(77,163,216,.16)}}
.route-special-alert{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:12px;padding:10px 12px;margin:8px 0}.route-special-alert span{font-size:.78rem}.route-monitor-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #e4edf4;padding-top:11px;color:#557084;font-size:.8rem}.route-monitor-note{background:#fff5e8;border-radius:8px;padding:6px 8px;color:#8b5a1c}
.mobile-route-task{border-radius:22px;box-shadow:0 12px 28px rgba(18,68,104,.09)}.mobile-task-head>strong.route-current-status{margin-top:0}.mobile-route-task .route-stage-timeline{margin:17px 0 15px}.mobile-main-action{background:linear-gradient(135deg,#0d5e9b,#2387c5);box-shadow:0 10px 22px rgba(18,111,171,.24)}
.auxiliary-status-tools{border:1px solid #cfe0ed;border-radius:14px;background:#f7fbff;padding:10px 13px;margin:12px 0}.auxiliary-status-tools summary{color:#1c5b86;font-weight:900;cursor:pointer}.auxiliary-quick-status .btn{border-radius:999px}
@media(max-width:760px){.route-monitor-table{grid-template-columns:1fr}.route-monitor-card{padding:14px}.route-monitor-card header{align-items:flex-start}.route-monitor-main{grid-template-columns:1fr}.route-stage-node small{font-size:.58rem}.route-stage-node span{width:29px;height:29px}.route-stage-timeline:before{top:14px}.route-monitor-card footer{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.route-monitor-card header{display:grid}.route-state-pill{justify-self:start}.route-stage-timeline{overflow-x:auto;grid-template-columns:repeat(5,minmax(66px,1fr));padding-bottom:5px}.route-monitor-card{border-radius:16px}.route-monitor-main{margin:10px 0}}

/* AMBER V19.26.1 — Estado de rutas compacto (aprox. 50% menos espacio) */
.route-monitor-panel.compact-monitor,.route-monitor-panel{border-radius:15px}
.route-monitor-panel .page-title{padding:1px 0 6px}
.route-monitor-panel .page-title h2{font-size:1.12rem;margin-bottom:2px}
.route-monitor-panel .page-title p{font-size:.76rem;margin:0}
.route-monitor-table{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:8px}
.route-monitor-card{border-radius:13px;padding:9px;box-shadow:0 5px 14px rgba(20,72,109,.07)}
.route-monitor-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,72,109,.11)}
.route-monitor-card:before{width:3px}
.route-monitor-card header{gap:7px;padding-bottom:7px}
.route-monitor-person{gap:7px}.route-monitor-person h3{font-size:.84rem}.route-monitor-person small{font-size:.65rem}
.route-avatar{width:30px;height:30px;border-radius:9px;font-size:.7rem;box-shadow:0 3px 8px rgba(15,95,153,.17)}
.route-state-pill,.route-current-status{gap:4px;padding:4px 7px;font-size:.61rem}
.route-state-pill i{width:5px;height:5px;box-shadow:0 0 0 2px rgba(19,91,139,.10)}
.route-monitor-main{grid-template-columns:1.15fr 1fr;gap:5px;margin:7px 0}
.route-monitor-main>div{border-radius:8px;padding:5px 7px}
.route-monitor-main small{font-size:.53rem}.route-monitor-main b{font-size:.73rem;margin:1px 0}.route-monitor-main span{font-size:.62rem;line-height:1.2}
.route-stage-timeline{margin:8px 0 5px}
.route-stage-timeline:before{left:8%;right:8%;top:10px;height:2px}
.route-stage-node span{width:21px;height:21px;border-width:2px;margin-bottom:3px;font-size:.58rem}
.route-stage-node small{font-size:.49rem;line-height:1.05;padding:0 1px}
.route-special-alert{border-radius:8px;padding:5px 7px;margin:4px 0;font-size:.66rem}.route-special-alert span{font-size:.58rem}
.route-monitor-card footer{gap:5px;padding-top:6px;font-size:.61rem}
.route-monitor-note{border-radius:6px;padding:3px 5px;font-size:.57rem}
@keyframes routePulseCompact{0%,100%{box-shadow:0 0 0 2px #4da3d8,0 0 0 3px rgba(77,163,216,.06)}50%{box-shadow:0 0 0 2px #4da3d8,0 0 0 6px rgba(77,163,216,.13)}}
.route-stage-node.active span{box-shadow:0 0 0 2px #4da3d8;animation:routePulseCompact 1.7s infinite}
@media(max-width:760px){.route-monitor-table{grid-template-columns:1fr;gap:7px}.route-monitor-card{padding:8px}.route-monitor-main{grid-template-columns:1fr 1fr}.route-stage-node span{width:20px;height:20px}.route-stage-timeline:before{top:9px}}
@media(max-width:430px){.route-monitor-card header{display:flex}.route-state-pill{justify-self:auto}.route-monitor-main{grid-template-columns:1fr 1fr;margin:6px 0}.route-stage-timeline{grid-template-columns:repeat(5,1fr);overflow:visible;padding-bottom:0}.route-stage-node small{font-size:.45rem}.route-monitor-card{border-radius:12px}}

/* AMBER V19.27 — Alertas automáticas y semáforo operativo */
.route-alert-summary{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:6px;margin:0 0 8px}
.route-alert-summary article{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #d4e4f0;border-radius:9px;padding:6px 9px;box-shadow:0 3px 9px rgba(20,72,109,.04)}
.route-alert-summary span{color:#56758b;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.route-alert-summary strong{color:#0e5d96;font-size:.92rem}
.route-alert-summary article:last-child strong{color:#c22d2d}
.route-monitor-card.has-operational-alert{border-color:#efc38c;background:linear-gradient(180deg,#fff 0%,#fffaf4 100%)}
.route-monitor-card.has-operational-alert:before{background:#ee8b22}
.route-monitor-state-group{display:flex;align-items:flex-end;flex-direction:column;gap:3px}.route-alert-count{display:inline-flex;border-radius:999px;padding:2px 6px;background:#fff0df;color:#a65108;font-size:.52rem;font-weight:900}
.route-alert-list{display:grid;gap:4px;margin:5px 0}.route-alert-item{display:flex;align-items:center;justify-content:space-between;gap:7px;border-radius:7px;padding:4px 6px;border:1px solid #d7e5ef;background:#f7fbfe}
.route-alert-item.medium{border-color:#f0d199;background:#fff9ec}.route-alert-item.high{border-color:#efb36e;background:#fff3e2}.route-alert-item.critical{border-color:#e9a1a1;background:#fff0f0}
.route-alert-item span{min-width:0}.route-alert-item b,.route-alert-item small{display:block}.route-alert-item b{font-size:.59rem;color:#244d69}.route-alert-item small{font-size:.52rem;color:#6b7f8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:350px}
.route-alert-item button,.route-alert-item em{flex:0 0 auto;border:0;border-radius:999px;padding:3px 6px;font-size:.5rem;font-weight:900}.route-alert-item button{cursor:pointer;background:#145f94;color:#fff}.route-alert-item em{font-style:normal;background:#e6f4ec;color:#28704d}
@media(max-width:760px){.route-alert-summary{grid-template-columns:repeat(2,1fr)}.route-alert-item small{max-width:220px}}
@media(max-width:430px){.route-alert-summary{gap:4px}.route-alert-summary article{padding:5px 6px}.route-alert-summary span{font-size:.5rem}.route-alert-summary strong{font-size:.78rem}.route-alert-item{align-items:flex-start}.route-alert-item small{max-width:180px}}


/* V19.28 - Centro de copias de seguridad */
.backup-center-card{grid-column:1/-1;background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%);border:1px solid #c9dff3}
.backup-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.backup-card-head h2{margin:0 0 5px;color:#123a62}.backup-card-head p{margin:0;color:#5b7188}.backup-auto-badge{background:#e8f4ff;color:#145b93;border:1px solid #b9d9f1;border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}
.backup-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;margin:12px 0}.backup-summary span{background:#fff;border:1px solid #d6e7f6;border-radius:12px;padding:11px 13px;min-width:0}.backup-summary small{display:block;color:#688097;text-transform:uppercase;font-size:.68rem;letter-spacing:.05em}.backup-summary b{display:block;color:#153c62;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.backup-list{display:grid;gap:8px;margin:12px 0}.backup-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid #d7e7f4;border-radius:13px;padding:10px 12px;box-shadow:0 3px 12px rgba(25,75,115,.05)}.backup-file-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#e6f2fc;color:#145b93;font-size:.73rem;font-weight:900}.backup-file-info{min-width:0}.backup-file-info b,.backup-file-info span,.backup-file-info small{display:block}.backup-file-info b{color:#143d64}.backup-file-info span{color:#3f607c;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-file-info small{color:#7890a5;margin-top:2px}.backup-item-actions{display:flex;gap:7px}.backup-empty{padding:22px;text-align:center;border:1px dashed #b9d4e9;border-radius:12px;color:#667f96;background:#f7fbff}
@media(max-width:760px){.backup-card-head{display:block}.backup-auto-badge{display:inline-block;margin-top:10px}.backup-summary{grid-template-columns:1fr}.backup-item{grid-template-columns:40px minmax(0,1fr)}.backup-item-actions{grid-column:1/-1;justify-content:flex-end}.backup-actions .btn,.backup-actions a.btn{flex:1 1 45%;text-align:center}}

/* V19.29 - Exportación profesional */
.report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.report-actions a.btn{white-space:nowrap}@media(max-width:760px){.report-actions{width:100%}.report-actions .btn{flex:1 1 46%;text-align:center}}


/* AMBER V19.30 - Auditoría y trazabilidad avanzada */
.audit-page{--audit-blue:#155a96;--audit-soft:#eef7ff;--audit-border:#c9dff1}
.audit-title-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.audit-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.8rem;margin:1rem 0}
.audit-summary article{background:linear-gradient(145deg,#fff,#eef7ff);border:1px solid var(--audit-border);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 8px 22px rgba(20,71,113,.07)}
.audit-summary span{display:block;color:#55728a;font-size:.82rem;font-weight:700}.audit-summary strong{display:block;color:#0f4f85;font-size:1.8rem;margin-top:.25rem}
.audit-filter-panel{background:#f7fbff;border:1px solid var(--audit-border)}
.audit-filters{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:.75rem;align-items:end}
.audit-filters label{font-weight:700;color:#173b5c}.audit-filters input,.audit-filters select{background:#fff;border:1px solid #bcd4e8}
.audit-search-field{grid-column:span 2}.audit-filter-actions{display:flex;gap:.55rem;align-items:end}.audit-filter-status{margin-top:.75rem;padding:.65rem .8rem;border-radius:10px;background:#eaf5ff;color:#285b82;font-size:.88rem}
.audit-list{display:grid;gap:.7rem;margin-top:1rem}
.audit-event{display:grid;grid-template-columns:170px minmax(0,1fr) 170px;gap:1rem;align-items:center;background:#fff;border:1px solid #d7e6f2;border-left:5px solid #4b91c8;border-radius:14px;padding:.9rem 1rem;box-shadow:0 5px 16px rgba(18,65,103,.06)}
.audit-event.severity-warning{border-left-color:#e99b2f}.audit-event.severity-critical{border-left-color:#c83e4d;background:#fffafb}
.audit-event-time strong{display:block;color:#143d60;font-size:.88rem}.audit-event-time span{display:block;color:#7890a4;font-size:.76rem;margin-top:.2rem}
.audit-event-head{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.audit-event-main h3{margin:.4rem 0 .25rem;color:#123d62;font-size:1rem}.audit-event-main p{margin:0;color:#3e566a;line-height:1.4}.audit-event-main small{display:block;margin-top:.45rem;color:#7890a4}
.audit-category,.audit-severity{display:inline-flex;align-items:center;border-radius:999px;padding:.24rem .55rem;font-size:.7rem;font-weight:800}.audit-category{background:#e5f3ff;color:#135a91}.audit-severity{background:#edf1f4;color:#516878}.severity-critical .audit-severity{background:#fde3e6;color:#9e2331}.severity-warning .audit-severity{background:#fff0d5;color:#9b5b00}
.audit-event-device{font-size:.76rem;color:#617b91}.audit-event-device summary{cursor:pointer;color:#17639d;font-weight:800}.audit-event-device span{display:block;margin-top:.35rem;overflow-wrap:anywhere}
.empty-state{text-align:center;padding:2rem;background:#f4f9fd;border:1px dashed #b8d2e6;border-radius:14px;color:#547086}
@media(max-width:1100px){.audit-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.audit-event{grid-template-columns:145px minmax(0,1fr)}.audit-event-device{grid-column:1/-1}}
@media(max-width:700px){.audit-summary{grid-template-columns:repeat(2,1fr)}.audit-filters{grid-template-columns:1fr 1fr}.audit-search-field{grid-column:1/-1}.audit-filter-actions{grid-column:1/-1}.audit-event{grid-template-columns:1fr;padding:.8rem}.audit-event-time{display:flex;justify-content:space-between;gap:.5rem}.audit-title-actions{width:100%}.audit-title-actions .btn{flex:1}}

.version-chip{font-size:12px;font-weight:800;color:#19558d;background:#eaf4ff;border:1px solid #b9d9f5;border-radius:999px;padding:7px 10px;white-space:nowrap}


/* AMBER V19.30.5 — Decisión al salir del lugar */
.mobile-route-final-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:3px}
.mobile-route-choice{min-height:54px;border:0;border-radius:14px;padding:10px 12px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(20,83,128,.16);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.mobile-route-choice:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(20,83,128,.2)}
.mobile-route-choice:active{transform:translateY(1px)}
.mobile-route-choice.home{background:#6a55a5;color:#fff}.mobile-route-choice.office{background:#176da8;color:#fff}.mobile-route-choice.next{background:#27835f;color:#fff}
.mobile-route-choice:disabled{background:#dfe8ef;color:#667d8e;box-shadow:none;cursor:not-allowed;transform:none}
.mobile-route-final-help{margin:7px 2px 0;color:#637c90;font-size:.78rem;text-align:center}
@media(max-width:760px){.mobile-route-final-choices{grid-template-columns:1fr}.mobile-route-choice{min-height:50px}.mobile-route-final-help{text-align:left}}


/* AMBER V19.30.6 — Confirmación manual de llegada a oficina */
.manual-arrival-action{margin-top:10px;background:linear-gradient(135deg,#176ca8,#2493cc);}
.manual-arrival-help{margin:7px 4px 0;text-align:center;font-size:12px;color:#4c6780;font-weight:600;}
@media (max-width:700px){.manual-arrival-help{font-size:11px;line-height:1.35;padding:0 8px;}}


/* AMBER V19.30.7 — Selector de siguiente ruta */
.next-route-selector-dialog{width:min(680px,94vw);border:0;border-radius:20px;padding:0;box-shadow:0 24px 70px rgba(7,42,70,.28)}
.next-route-selector-dialog::backdrop{background:rgba(5,28,47,.58);backdrop-filter:blur(2px)}
.next-route-selector-dialog form{padding:22px}.next-route-selector-dialog .dialog-head p{margin:5px 0 0;color:#5d768b}
.next-route-selector-list{display:grid;gap:10px;max-height:55vh;overflow:auto;margin:18px 0;padding:2px}
.next-route-option-card{position:relative;display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;gap:11px;align-items:center;border:2px solid #d7e7f3;border-radius:15px;padding:12px;background:#f8fbfe;cursor:pointer;transition:.16s ease}
.next-route-option-card:hover{border-color:#83b8dc;transform:translateY(-1px)}.next-route-option-card:has(input:checked){border-color:#1873ad;background:#eaf6ff;box-shadow:0 7px 18px rgba(24,102,155,.13)}
.next-route-option-card input{width:19px;height:19px;accent-color:#176da8}.next-route-option-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#176da8;color:#fff;font-weight:900}
.next-route-option-info{min-width:0}.next-route-option-info b,.next-route-option-info strong,.next-route-option-info small{display:block}.next-route-option-info b{color:#0b5c93;font-size:.78rem;text-transform:uppercase}.next-route-option-info strong{color:#153b5d;font-size:1rem;margin:2px 0}.next-route-option-info small{color:#657f93;line-height:1.35}
.next-route-option-card em{font-style:normal;font-size:.7rem;font-weight:900;color:#217355;background:#dcf5e9;border-radius:999px;padding:5px 8px}
@media(max-width:600px){.next-route-selector-dialog form{padding:16px}.next-route-option-card{grid-template-columns:auto 34px minmax(0,1fr);padding:10px}.next-route-option-number{width:32px;height:32px}.next-route-option-card em{grid-column:2/-1;justify-self:start}.next-route-selector-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.next-route-selector-dialog .dialog-actions .btn{width:100%}}


/* AMBER V19.30.9 — Confirmación Sí / No del avance del auxiliar */
.amber-route-confirm-dialog{width:min(520px,92vw);border:0;border-radius:22px;padding:0;background:transparent;box-shadow:none}
.amber-route-confirm-dialog::backdrop{background:rgba(5,27,46,.66);backdrop-filter:blur(3px)}
.amber-route-confirm-card{background:#fff;border:1px solid #c8dff1;border-radius:22px;padding:26px;text-align:center;box-shadow:0 24px 70px rgba(4,36,63,.34)}
.amber-route-confirm-icon{width:58px;height:58px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#176da8,#2795cb);color:#fff;font-size:1.75rem;font-weight:900;box-shadow:0 9px 22px rgba(23,109,168,.25)}
.amber-route-confirm-card h2{margin:0;color:#134f7d;font-size:1.35rem}.amber-route-confirm-card>p{margin:11px 0 7px;color:#183d5b;font-size:1.07rem;font-weight:850}.amber-route-confirm-card>small{display:block;color:#647e92;line-height:1.45}
.amber-route-confirm-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:22px}.amber-route-confirm-actions .btn{min-height:48px;border-radius:13px;font-weight:900;font-size:1rem}.amber-confirm-no{background:#e8eff4;color:#34536b}.amber-confirm-yes{background:linear-gradient(135deg,#176da8,#268fc5);color:#fff}
@media(max-width:520px){.amber-route-confirm-card{padding:21px 16px}.amber-route-confirm-actions{grid-template-columns:1fr}.amber-route-confirm-actions .amber-confirm-yes{grid-row:1}.amber-route-confirm-actions .amber-confirm-no{grid-row:2}}


/* AMBER V19.30.9 — Motivo obligatorio al seleccionar No */
.amber-route-confirm-icon.decline{background:linear-gradient(135deg,#d86b19,#f29a38);box-shadow:0 9px 22px rgba(216,107,25,.28)}
.amber-route-decline-panel{margin-top:18px;text-align:left;background:#fff8ef;border:1px solid #f3c999;border-radius:15px;padding:15px}
.amber-route-decline-panel label{display:block;color:#7a3d0c;font-weight:900;margin-bottom:8px;line-height:1.35}
.amber-route-decline-panel textarea{width:100%;min-height:105px;resize:vertical;border:1px solid #dba76f;border-radius:11px;padding:12px;font:inherit;color:#183d5b;background:#fff;box-sizing:border-box;outline:none}
.amber-route-decline-panel textarea:focus{border-color:#d46b1b;box-shadow:0 0 0 3px rgba(212,107,27,.14)}
.amber-route-decline-error{display:block;min-height:20px;margin-top:7px;color:#b42318;font-weight:800;font-size:.88rem}
.amber-route-decline-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:15px}.amber-route-decline-actions .btn{min-height:48px;border-radius:13px;font-weight:900;font-size:1rem}
.amber-route-decline-actions .warning{background:linear-gradient(135deg,#ce6318,#ec8d2e);color:#fff;border:0}
@media(max-width:520px){.amber-route-decline-actions{grid-template-columns:1fr}.amber-route-decline-actions .warning{grid-row:1}.amber-route-decline-panel{padding:13px}}

/* AMBER V19.30.10 — Estados especiales siempre visibles */
.auxiliary-status-always-visible{display:block}
.auxiliary-status-title{color:#1c5b86;font-weight:900;margin-bottom:8px}
.auxiliary-status-always-visible .auxiliary-quick-status{display:flex;gap:9px;flex-wrap:wrap;margin-top:0}
.auxiliary-status-always-visible .auxiliary-quick-status .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px}
@media (max-width:700px){.auxiliary-status-always-visible .auxiliary-quick-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auxiliary-status-always-visible .auxiliary-quick-status .btn{width:100%;padding:10px 8px}}


/* AMBER V19.30.11 — Documentos múltiples de Mensajería */
.messaging-documents-builder{border:1px solid #b9d6ef;border-radius:16px;background:#f8fbff;padding:16px;display:grid;gap:12px}
.messaging-documents-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.messaging-documents-title b{display:block;color:#0d4f88;font-size:1rem}
.messaging-documents-title small{display:block;color:#607d98;margin-top:3px}
.messaging-document-entry{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) auto;gap:10px;align-items:end}
.messaging-document-entry label{margin:0}
.messaging-document-entry .btn{height:44px;white-space:nowrap}
.messaging-documents-list{display:grid;gap:8px}
.messaging-document-empty{border:1px dashed #b9d6ef;border-radius:12px;padding:13px;text-align:center;color:#607d98;background:#fff}
.messaging-document-row{display:grid;grid-template-columns:42px minmax(220px,1.3fr) minmax(180px,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid #d2e3f2;border-radius:12px;padding:10px 12px}
.messaging-document-row .doc-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#176aa5;color:#fff;font-weight:800}
.messaging-document-row b{color:#123f68}
.messaging-document-row span{color:#4f708c;overflow-wrap:anywhere}
.messaging-document-row .small-btn{margin:0}
.messaging-documents-compact{display:grid;gap:5px;margin-top:7px}
.messaging-documents-compact span{display:block;border-left:3px solid #2a85be;padding:4px 8px;background:#f3f9fe;border-radius:4px;color:#244d70}
@media(max-width:820px){.messaging-document-entry{grid-template-columns:1fr}.messaging-document-entry .btn{width:100%}.messaging-document-row{grid-template-columns:36px 1fr auto}.messaging-document-row span{grid-column:2/4}.messaging-document-row .small-btn{grid-column:3;grid-row:1}}

/* AMBER V19.30.20 — Flujo de Mensajería de once pasos */
.messaging-wizard-step[data-msg-step="4"] .messaging-documents-builder{margin-top:4px}
.messaging-wizard-step[data-msg-step="6"] #msgSector,.messaging-wizard-step[data-msg-step="7"] #msgDestinationLocation{min-width:220px}

/* AMBER V19.30.20 — Revisión final de Mensajería */
.messaging-review-alert{display:flex;flex-direction:column;gap:4px;margin:4px 0 18px;padding:17px 19px;border-left:5px solid #17679f;border-radius:14px;background:#eaf5fd;color:#163f63}.messaging-review-alert b{font-size:19px}.messaging-review-alert span{color:#52728d}.messaging-final-review{display:grid;gap:9px}.messaging-review-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #d2e2ee;border-radius:14px;background:#f9fcff}.messaging-review-row>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#dceefa;color:#0f4f82;font-weight:900}.messaging-review-row b{color:#173f63}.messaging-review-row p{margin:3px 0 0;color:#5a748a;line-height:1.35}.messaging-review-operational{margin-top:18px;padding:17px;border:1px solid #cbdfee;border-radius:16px;background:#f5faff}.messaging-review-operational h4{margin:0;color:#173f63;font-size:18px}.messaging-review-operational>p{margin:4px 0 15px;color:#667f93}@media(max-width:700px){.messaging-review-row{grid-template-columns:36px 1fr}.messaging-review-row .btn{grid-column:1/-1;width:100%}}

/* AMBER V19.30.20 — Revisión final separada del resumen */
.messaging-review-intro-step .messaging-step-content{max-width:100%}
.messaging-review-alert-alone{min-height:150px;justify-content:center;padding:28px 32px;margin:10px 0 22px}
.messaging-review-alert-alone b{font-size:25px}
.messaging-review-alert-alone span{font-size:20px}
@media(max-width:700px){.messaging-review-alert-alone{min-height:120px;padding:22px}.messaging-review-alert-alone b{font-size:21px}.messaging-review-alert-alone span{font-size:17px}}


/* AMBER V19.30.20 — fecha y hora protegidas por autorización */
.schedule-locked-note{margin-top:10px;padding:10px 12px;border:1px solid #c7d9ec;border-radius:10px;background:#eef6ff;color:#174f82;font-weight:700}
.schedule-readonly-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#e8eef5;color:#36536f;font-size:.78rem;font-weight:800;white-space:nowrap}
#msgAssignedDate:disabled,#msgAssignedTime:disabled,#assignForm [name=assigned_date]:disabled,#assignForm [name=assigned_time]:disabled{background:#edf2f7;color:#41566d;cursor:not-allowed;opacity:1}


/* AMBER V19.30.20 — advertencia visible y cambio controlado de sector/destino */
.messaging-review-change-warning{display:block;margin-top:14px;padding:15px 18px;border:2px solid #e5a100;border-radius:14px;background:#fff4cf;color:#8b2f00!important;font-size:22px!important;font-weight:800;line-height:1.35;box-shadow:0 5px 16px rgba(150,84,0,.13)}
.messaging-review-change-warning strong{color:#a12800;font-weight:950;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.route-destination-change-dialog{width:min(760px,94vw);border:0;border-radius:20px;padding:0;box-shadow:0 24px 70px rgba(13,54,89,.32)}
.route-destination-change-dialog::backdrop{background:rgba(5,28,48,.58)}
.route-destination-change-dialog form{padding:22px}
.route-change-current{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px}
.route-change-current span{display:flex;flex-direction:column;padding:12px 14px;border:1px solid #c9deef;border-radius:13px;background:#f3f9fe}
.route-change-current small{color:#607d95}.route-change-current b{margin-top:3px;color:#114f82;font-size:17px}
.route-change-warning{margin-top:14px;padding:11px 13px;border-left:4px solid #d98200;border-radius:9px;background:#fff6df;color:#714200;font-weight:750}
@media(max-width:700px){.messaging-review-change-warning{font-size:18px!important;padding:13px}.route-change-current{grid-template-columns:1fr}.route-destination-change-dialog form{padding:16px}.route-destination-change-dialog .form-grid{grid-template-columns:1fr}.route-destination-change-dialog .span-2{grid-column:auto}}


/* AMBER V19.30.24 — Entrega posterior de documentos en oficina */
.messaging-delivery-place{margin:18px 0;padding:18px;border:1px solid #9cc8eb;border-radius:18px;background:#f3f9ff}.messaging-delivery-place legend{font-weight:800;color:#0d4679;padding:0 8px}.messaging-delivery-place>p{margin:0 0 12px}.messaging-delivery-place-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.messaging-delivery-place-options label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #bed7ec;border-radius:14px;background:#fff;cursor:pointer}.messaging-delivery-place-options input{margin-top:4px;transform:scale(1.2)}.messaging-delivery-place-options span{display:flex;flex-direction:column;gap:4px}.messaging-delivery-place-options b{color:#0c3d68}.messaging-delivery-place-options small{color:#58738c;line-height:1.35}.messaging-delivery-place-options label:has(input:checked){border-color:#1c75b9;box-shadow:0 0 0 2px rgba(28,117,185,.12)}.messaging-office-pending-help,.office-summary-warning{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff1cf;color:#704b00;font-weight:700}.office-pending-summary{border-color:#efc36a!important;background:#fff8e7!important}.office-pending-summary strong{color:#9b6200!important}.office-pending-documents-panel{margin:14px 0 18px;padding:16px;border:1px solid #efc36a;border-radius:16px;background:#fff9e9}.office-pending-documents-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.office-pending-documents-head h3{margin:0;color:#704b00}.office-pending-documents-head p{margin:4px 0 0;color:#755f35}.office-pending-documents-head>span{white-space:nowrap;background:#f4b942;color:#4d3200;border-radius:999px;padding:7px 12px;font-weight:800}.office-pending-document-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;background:#fff;border:1px solid #f0d79d;border-radius:13px;margin-top:9px}.office-pending-document-item>div{display:flex;flex-direction:column;gap:4px}.office-pending-document-item span{color:#324e67}.office-pending-document-item small{color:#6d7f8e}.office-delivery-pending-banner{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid #efc36a;border-radius:13px;background:#fff7df;color:#6c4800}.office-delivery-button,.mobile-main-action.office-delivery{background:#b7740c!important;border-color:#b7740c!important}.mobile-office-banner{margin-bottom:12px}@media(max-width:760px){.messaging-delivery-place-options{grid-template-columns:1fr}.office-pending-documents-head,.office-pending-document-item{align-items:stretch;flex-direction:column}.office-pending-document-item .btn{width:100%}}

/* AMBER V19.30.28 — Panel de documentos pendientes de entrega en oficina */
.nav-counter{display:inline-flex;min-width:22px;height:22px;padding:0 6px;align-items:center;justify-content:center;margin-left:5px;border-radius:999px;background:#f4b942;color:#4b3100;font-size:.76rem;font-weight:900}.office-document-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.office-document-summary article{padding:16px 18px;border:1px solid #c7dced;border-radius:16px;background:#f7fbff;display:flex;flex-direction:column;gap:5px}.office-document-summary article span{color:#5b748b}.office-document-summary article strong{font-size:1.65rem;color:#0b4578}.office-document-summary article.overdue{border-color:#e4a39a;background:#fff3f1}.office-document-summary article.overdue strong{color:#b42318}.office-document-control-panel{border-color:#efc36a!important;background:#fffdf7!important}.office-document-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,260px);gap:12px;margin:0 0 14px}.office-document-filters label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#173f62}.office-document-filters input,.office-document-filters select{width:100%}.office-document-table td{vertical-align:top}.office-document-table small{color:#647b8e}.office-status-badge{display:inline-flex;margin-top:6px;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:850}.office-status-badge.pendiente{background:#fff0c9;color:#7b5200}.office-status-badge.fuera_plazo{background:#ffe1dc;color:#a22417}.office-status-badge.entregado{background:#daf3e5;color:#17633e}.office-status-fuera_plazo{background:#fffafa}.office-delivered-proof{display:flex;flex-direction:column;gap:5px}.office-delivered-proof span{font-size:.86rem}.office-delivered-proof a{font-weight:700}.office-document-table .office-delivery-button{max-width:260px;white-space:normal}
@media(max-width:900px){.office-document-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.office-document-filters{grid-template-columns:1fr}.office-document-table{min-width:950px}}
@media(max-width:560px){.office-document-summary{grid-template-columns:1fr 1fr}.office-document-summary article{padding:12px}.office-document-summary article strong{font-size:1.35rem}}


/* AMBER V19.30.29 — Alertas automáticas de documentos pendientes en oficina */
.office-document-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.office-document-summary article.soon-due{border-color:#e9c66c;background:#fff9e8}.office-document-summary article.soon-due strong{color:#9a6500}
.office-status-badge.proximo_vencer{background:#fff0bd;color:#7a5000}.office-status-proximo_vencer{background:#fffdf6}
.office-alert-note{display:block;margin-top:7px;padding:7px 9px;border-left:3px solid #d28a00;border-radius:7px;background:#fff7df;color:#704900;font-weight:700;line-height:1.35}
.office-document-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.office-reminder-button{max-width:260px;white-space:normal}
@media(max-width:1100px){.office-document-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.office-document-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* AMBER V19.30.30 — Plazo por cierre de jornada y subsanación autorizada */
.office-status-badge.esperando_fin_jornada,.office-status-badge.programado_dia_siguiente,.office-status-badge.esperando_gestion_prioritaria{background:#e8f1fa;color:#225d88}
.office-status-esperando_fin_jornada,.office-status-programado_dia_siguiente,.office-status-esperando_gestion_prioritaria{background:#f9fcff}
.office-status-badge.subsanado,.office-status-badge.entregado_subsanado{background:#e0f3e9;color:#1f6b46}.office-status-badge.entregado_fuera_plazo{background:#fde6df;color:#a13b21}
.office-clock-reason{display:block;margin-top:6px;max-width:330px;line-height:1.35;color:#526e84!important}
.office-justification,.office-regularized{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:8px 10px;border-radius:9px;line-height:1.3}
.office-justification{border-left:4px solid #d17b19;background:#fff5e7;color:#704415}.office-regularized{border-left:4px solid #27835f;background:#eaf7f0;color:#205f46}
.office-justification b,.office-regularized b{font-size:.78rem}.office-justification span,.office-regularized span{font-size:.8rem}.office-regularize-button{background:#27835f!important;border-color:#27835f!important}
.office-mobile-actions{display:flex;flex-direction:column;gap:7px}.office-mobile-actions .btn{width:100%}
@media(max-width:760px){.office-clock-reason{max-width:none}.office-document-actions .btn{width:100%;max-width:none}}

/* AMBER V19.30.31 — plazo documental pausado durante almuerzo */
.office-status-badge.pausado_almuerzo,.office-status-badge.pausado-almuerzo,.office-status-pausado_almuerzo .office-status-badge{background:#fff3cd;color:#6b5200;border-color:#e0bd52}
.office-status-pausado_almuerzo{background:rgba(255,243,205,.25)}


/* AMBER V19.30.33 — notificación dinámica de documentos pendientes en Dashboard */
.dashboard-office-documents-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 18px;padding:17px 18px;border:1px solid #e6bd63;border-left:6px solid #c27b0a;border-radius:16px;background:linear-gradient(135deg,#fff9e7,#fffdf8);box-shadow:0 10px 28px rgba(107,73,0,.12)}
.dashboard-office-documents-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#c27b0a;color:#fff;font-size:25px;font-weight:950}
.dashboard-office-documents-copy{min-width:0}.dashboard-office-documents-copy>span{display:block;margin-bottom:3px;color:#8b5b00;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dashboard-office-documents-copy strong{display:block;color:#5f4100;font-size:1.08rem}.dashboard-office-documents-copy p{margin:4px 0 0;color:#6c5a32;line-height:1.4}
.dashboard-office-documents-actions{display:flex;align-items:center;gap:12px}.dashboard-office-documents-actions>b{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:999px;background:#f4b942;color:#4b3100;font-size:1.15rem;font-weight:950}
.dashboard-office-documents-notice.state-critical{border-color:#e2a096;border-left-color:#b42318;background:linear-gradient(135deg,#fff0ed,#fffafa)}.dashboard-office-documents-notice.state-critical .dashboard-office-documents-symbol{background:#b42318}.dashboard-office-documents-notice.state-critical .dashboard-office-documents-copy>span,.dashboard-office-documents-notice.state-critical .dashboard-office-documents-copy strong{color:#8f1d14}.dashboard-office-documents-notice.state-critical .dashboard-office-documents-actions>b{background:#ffd8d2;color:#8f1d14}
.dashboard-office-documents-notice.state-soon{border-left-color:#d38a00}.dashboard-office-documents-notice.state-paused{border-color:#d7bd73;border-left-color:#907018;background:linear-gradient(135deg,#fff7d9,#fffdf6)}.dashboard-office-documents-notice.state-paused .dashboard-office-documents-symbol{background:#907018}.dashboard-office-documents-notice.state-waiting{border-color:#a9c9e4;border-left-color:#276b9e;background:linear-gradient(135deg,#eef7ff,#fbfdff)}.dashboard-office-documents-notice.state-waiting .dashboard-office-documents-symbol{background:#276b9e}.dashboard-office-documents-notice.state-waiting .dashboard-office-documents-copy>span,.dashboard-office-documents-notice.state-waiting .dashboard-office-documents-copy strong{color:#174f79}.dashboard-office-documents-notice.state-waiting .dashboard-office-documents-actions>b{background:#d9ecfb;color:#174f79}
@media(max-width:760px){.dashboard-office-documents-notice{grid-template-columns:auto minmax(0,1fr);align-items:start}.dashboard-office-documents-actions{grid-column:1/-1;justify-content:space-between}.dashboard-office-documents-actions .btn{flex:1}.dashboard-office-documents-copy strong{font-size:1rem}}


/* AMBER V19.30.33 — detalle y actualización automática de documentos en el Dashboard */
.dashboard-office-documents-actions{flex-wrap:wrap;justify-content:flex-end}
.dashboard-office-documents-detail{grid-column:1/-1;border-top:1px solid rgba(120,82,10,.18);padding-top:13px}
.dashboard-office-documents-detail-list{display:grid;gap:8px}
.dashboard-office-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid #ead7a7;border-radius:11px;background:rgba(255,255,255,.72)}
.dashboard-office-document-row>div:first-child{display:grid;gap:2px;min-width:0}.dashboard-office-document-row b{color:#4f3a0a}.dashboard-office-document-row span{color:#675a3e}.dashboard-office-document-row small{color:#7a6d52}
.dashboard-office-document-row>div:last-child{display:grid;justify-items:end;gap:3px;text-align:right}.dashboard-office-document-row>div:last-child strong{color:#5e4305}.dashboard-office-document-row>div:last-child span{font-size:.78rem;font-weight:900;text-transform:uppercase}
.dashboard-office-document-row.state-fuera_plazo{border-color:#e7aaa2;background:#fff4f2}.dashboard-office-document-row.state-fuera_plazo>div:last-child strong,.dashboard-office-document-row.state-fuera_plazo>div:last-child span{color:#a1261d}
.dashboard-office-document-row.state-proximo_vencer{border-color:#efc46e;background:#fffaf0}.dashboard-office-document-row.state-pausado_almuerzo{border-color:#d8c47f;background:#fffbea}.dashboard-office-document-row.state-esperando_fin_jornada,.dashboard-office-document-row.state-programado_dia_siguiente,.dashboard-office-document-row.state-esperando_gestion_prioritaria{border-color:#b7d3e8;background:#f4faff}
.dashboard-office-documents-more{padding:7px 10px;color:#6e5d38;font-weight:800;text-align:center}
.dashboard-office-documents-detail-footer{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:#75694f}.dashboard-office-documents-detail-footer span{font-size:.78rem}
@media(max-width:760px){.dashboard-office-documents-actions{justify-content:stretch}.dashboard-office-documents-actions .btn{min-width:0}.dashboard-office-document-row{grid-template-columns:1fr}.dashboard-office-document-row>div:last-child{justify-items:start;text-align:left}.dashboard-office-documents-detail-footer{display:grid}.dashboard-office-documents-detail-footer span{font-size:.74rem}}


/* AMBER V19.30.34 — centro de alertas y seguimiento documental */
.office-alert-center{border:1px solid #d9e2ec;background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%)}
.office-alert-center[hidden]{display:none!important}
.office-alert-center-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:14px 0}
.office-alert-center-summary article{border:1px solid #dfe7ef;border-radius:14px;padding:14px;background:#fff;display:grid;gap:3px}
.office-alert-center-summary article span{font-weight:700;color:#34495e}.office-alert-center-summary article strong{font-size:28px;line-height:1}.office-alert-center-summary article small{color:#66788a}
.office-alert-center-summary article.critical{border-left:5px solid #b42318}.office-alert-center-summary article.soon{border-left:5px solid #d97706}.office-alert-center-summary article.action{border-left:5px solid #7c3aed}.office-alert-center-summary article.waiting{border-left:5px solid #2563eb}
.office-alert-center-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,280px);gap:12px;margin-bottom:14px}.office-alert-center-filters label{display:grid;gap:6px;font-weight:700}.office-alert-center-filters input,.office-alert-center-filters select{width:100%}
.office-document-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}
.office-document-alert-card{border:1px solid #dfe7ef;border-left:6px solid #64748b;border-radius:14px;padding:15px;background:#fff;box-shadow:0 7px 20px rgba(30,55,80,.06);display:flex;flex-direction:column;gap:9px}
.office-document-alert-card.priority-critica{border-left-color:#b42318}.office-document-alert-card.priority-proxima{border-left-color:#d97706}.office-document-alert-card.priority-accion{border-left-color:#7c3aed}.office-document-alert-card.priority-activa{border-left-color:#0f766e}.office-document-alert-card.priority-seguimiento{border-left-color:#2563eb}
.office-document-alert-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.office-alert-priority{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;border-radius:999px;background:#eef3f8}.office-document-alert-head strong{font-size:14px}.office-document-alert-card h3{margin:0;font-size:17px}.office-document-alert-card p{margin:0;color:#455a6f}.office-document-alert-meta{display:flex;flex-wrap:wrap;gap:7px 14px;font-size:13px;color:#52677a}.office-alert-justification{padding:9px 10px;border-radius:9px;background:#f7f2ff;color:#5b2b82;font-size:13px}.office-document-alert-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.office-document-alert-actions .btn{padding:8px 10px;font-size:12px}.office-alert-empty{padding:18px;border:1px dashed #b9c7d5;border-radius:12px;text-align:center;color:#617386;background:#fff}.office-row-focus{animation:officeRowFocus 2.4s ease}@keyframes officeRowFocus{0%,100%{box-shadow:none}20%,75%{box-shadow:inset 0 0 0 3px rgba(37,99,235,.35);background:#eef6ff}}
@media(max-width:900px){.office-alert-center-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}.office-alert-center-filters{grid-template-columns:1fr}.office-document-alert-list{grid-template-columns:1fr}}
@media(max-width:520px){.office-alert-center-summary{grid-template-columns:1fr 1fr}.office-document-alert-head{align-items:flex-start;flex-direction:column}.office-document-alert-actions .btn{width:100%}}


/* AMBER V19.30.35 — Estado automático de auxiliares */
.auxiliary-status-overview{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fff);box-shadow:0 8px 24px #102a430d}.auxiliary-status-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.auxiliary-status-overview-head h2{margin:0 0 5px}.auxiliary-status-overview-head p{margin:0;color:#687b8c}.auxiliary-status-overview-head small{white-space:nowrap;color:#687b8c;font-weight:700}.auxiliary-status-summary-grid{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:10px}.auxiliary-status-summary-grid article{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.auxiliary-status-summary-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#5b7083}.auxiliary-status-summary-grid span{display:block;color:#66798a;font-size:12px}.auxiliary-status-summary-grid strong{display:block;margin-top:4px;font-size:26px;color:var(--navy)}.aux-summary-disponible:before{background:#2f9e59!important}.aux-summary-en-ruta:before{background:#d7a800!important}.aux-summary-en-gestion:before{background:#2274b5!important}.aux-summary-almuerzo:before{background:#d97817!important}.aux-summary-retorno:before{background:#7447a8!important}.aux-summary-fuera-plazo:before,.aux-summary-emergencia:before{background:#c92a2a!important}.tracking-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr);gap:12px;margin:0 0 14px}.tracking-toolbar label{font-size:12px;font-weight:700;color:#526a7d}.tracking-toolbar input,.tracking-toolbar select{margin-top:5px}.tracking-card-modern{display:flex;flex-direction:column;gap:11px;min-height:270px}.tracking-card-alert{box-shadow:0 0 0 2px #c92a2a18,0 8px 22px #c92a2a12}.tracking-head{position:relative}.tracking-person{min-width:0;flex:1}.tracking-person small{display:block;color:#687b8c;margin-top:2px}.tracking-state-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;background:#eef3f7;color:#42576a}.tracking-state-pill i{width:9px;height:9px;border-radius:50%;background:#5b7083}.tracking-state-pill.state-disponible i{background:#2f9e59}.tracking-state-pill.state-en_ruta i{background:#d7a800}.tracking-state-pill.state-en_gestion i{background:#2274b5}.tracking-state-pill.state-almuerzo i{background:#d97817}.tracking-state-pill.state-tiempo_extra i{background:#8b5a2b}.tracking-state-pill.state-retorno i{background:#7447a8}.tracking-state-pill.state-fuera_plazo,.tracking-state-pill.state-emergencia{background:#fee2e2;color:#9f1c1c}.tracking-state-pill.state-fuera_plazo i,.tracking-state-pill.state-emergencia i{background:#c92a2a}.tracking-status-line{display:grid;gap:3px;padding:10px 11px;border-radius:11px;background:#f7fafc}.tracking-status-line b{font-size:13px}.tracking-status-line span{font-size:12px;color:#687b8c}.tracking-card-modern .tracking-task{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.tracking-card-modern .tracking-task>div{display:grid;gap:3px;padding:8px;border-radius:9px;background:#fff;border:1px solid #e1e9ef}.tracking-card-modern .tracking-task small{color:#687b8c}.tracking-card-modern .tracking-task b,.tracking-card-modern .tracking-task span{overflow:hidden;text-overflow:ellipsis}.tracking-card-modern .tracking-task span{font-size:12px;color:#66798a}.tracking-card-modern .tracking-times{display:flex;flex-wrap:wrap;gap:7px}.tracking-card-modern .tracking-times span{padding:6px 8px;border-radius:8px;background:#eef4f8}.tracking-available{display:grid;gap:4px;padding:18px;border:1px dashed #9dcaae;border-radius:12px;background:#f1faf4;color:#22663d}.tracking-available span{font-size:12px}.tracking-foot{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:9px;border-top:1px solid var(--line);font-size:11px;color:#607486}.tracking-foot span,.tracking-foot strong{padding:5px 7px;border-radius:7px;background:#f4f7f9}.tracking-foot strong{background:#fee2e2;color:#a61e1e}.tracking-empty{grid-column:1/-1;padding:24px;text-align:center;color:#687b8c;border:1px dashed var(--line);border-radius:14px}.status-border-en_gestion{border-left-color:#2274b5}.status-border-tiempo_extra{border-left-color:#8b5a2b}.status-border-emergencia{border-left-color:#c92a2a}
@media(max-width:1200px){.auxiliary-status-summary-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.auxiliary-status-overview-head{display:block}.auxiliary-status-overview-head small{display:block;margin-top:8px}.auxiliary-status-summary-grid{grid-template-columns:repeat(2,1fr)}.tracking-toolbar{grid-template-columns:1fr}.tracking-card-modern .tracking-task{grid-template-columns:1fr}.tracking-head{align-items:flex-start;flex-wrap:wrap}.tracking-state-pill{margin-left:56px}}


/* AMBER V19.30.36 — Mapa GPS y alertas en el Dashboard */
.dashboard-gps-tracking-panel{margin-top:18px;overflow:hidden}.dashboard-gps-actions{display:flex;gap:9px;flex-wrap:wrap}.dashboard-gps-summary{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:12px;margin:14px 0}.dashboard-gps-summary article{padding:13px 15px;border:1px solid #d9e3eb;border-radius:13px;background:#f8fbfd}.dashboard-gps-summary span{display:block;color:#637486;font-size:.79rem;font-weight:800;text-transform:uppercase}.dashboard-gps-summary strong{display:block;margin-top:4px;color:#173652;font-size:1.65rem}.dashboard-gps-summary .dashboard-gps-alert-summary{border-color:#e7b6ad;background:#fff5f3}.dashboard-gps-summary .dashboard-gps-alert-summary strong{color:#a42a20}.dashboard-gps-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;align-items:stretch}.dashboard-gps-map-wrap{position:relative;min-width:0}.dashboard-gps-map{height:430px;border:1px solid #cbd9e4;border-radius:15px;overflow:hidden;background:#eef4f8}.dashboard-gps-updated{display:block;margin-top:7px;color:#6b7b89}.dashboard-gps-layout aside{min-width:0}.dashboard-gps-alerts-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:10px}.dashboard-gps-alerts-head h3{margin:0;color:#183953}.dashboard-gps-alerts-head span{color:#71808d;font-size:.76rem;text-align:right}.dashboard-gps-alerts{display:grid;gap:9px;max-height:430px;overflow:auto;padding-right:4px}.dashboard-gps-alert-card{padding:11px 12px;border:1px solid #dbe4ea;border-left:5px solid #2d8b5f;border-radius:12px;background:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.dashboard-gps-alert-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,48,72,.1)}.dashboard-gps-alert-card.state-warning{border-left-color:#d39a18}.dashboard-gps-alert-card.state-medium{border-left-color:#b57d13}.dashboard-gps-alert-card.state-high{border-left-color:#cf5b30;background:#fffaf7}.dashboard-gps-alert-card.state-critical{border-left-color:#b42318;background:#fff5f3}.dashboard-gps-alert-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.dashboard-gps-alert-card-head>div{display:grid;min-width:0}.dashboard-gps-alert-card-head b{color:#173752}.dashboard-gps-alert-card-head small{color:#6b7b88}.dashboard-gps-alert-card-head strong{color:#7c3d1e;font-size:.74rem;text-align:right}.dashboard-gps-alert-card p{margin:8px 0 6px;color:#40566a;line-height:1.35}.dashboard-gps-alert-card p span{color:#6f7f8d;font-size:.82rem}.dashboard-gps-signal{padding:6px 8px;border-radius:8px;font-size:.78rem;font-weight:800}.dashboard-gps-signal.online{background:#e7f5ed;color:#21734b}.dashboard-gps-signal.offline{background:#fde9e5;color:#a22b20}.dashboard-gps-alert-card ul{margin:7px 0 0;padding-left:20px;color:#9b2b22;font-size:.8rem}.dashboard-gps-card-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.dashboard-gps-card-actions a,.dashboard-gps-card-actions .link-button{border:0;background:none;padding:0;color:#1e6595;font:inherit;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer}.dashboard-gps-empty{display:grid;place-items:center;min-height:170px;padding:22px;border:1px dashed #c6d3dc;border-radius:12px;color:#687985;text-align:center}.dashboard-gps-map .leaflet-control-attribution{font-size:9px}
@media(max-width:1050px){.dashboard-gps-layout{grid-template-columns:1fr}.dashboard-gps-alerts{max-height:none}.dashboard-gps-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.dashboard-gps-summary{grid-template-columns:1fr 1fr}.dashboard-gps-map{height:340px}.dashboard-gps-alert-card-head{grid-template-columns:auto minmax(0,1fr)}.dashboard-gps-alert-card-head strong{grid-column:2;text-align:left}.dashboard-gps-card-actions{display:grid}.dashboard-gps-actions .btn{flex:1}}

/* AMBER V19.30.37 — Historial y reportes de recorridos GPS */
.gps-history-report{margin-top:18px}.gps-history-report .gps-history-controls{display:grid;grid-template-columns:minmax(280px,1fr) repeat(4,auto);gap:9px;align-items:center}.gps-report-panel{margin-top:16px;border-top:1px solid #dbe5ec;padding-top:16px}.gps-report-meta{display:grid;gap:3px;padding:13px 15px;border:1px solid #cfe0eb;border-radius:13px;background:linear-gradient(135deg,#f4f9fd,#fff)}.gps-report-meta b{color:#123f62;font-size:1.05rem}.gps-report-meta span{color:#435f75}.gps-report-meta small{color:#718493}.gps-report-cards{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px;margin:13px 0}.gps-report-cards article{position:relative;overflow:hidden;padding:12px 14px;border:1px solid #d8e3eb;border-radius:12px;background:#fff}.gps-report-cards article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2b779e}.gps-report-cards span{display:block;color:#687b8c;font-size:.75rem;font-weight:800;text-transform:uppercase}.gps-report-cards strong{display:block;margin-top:4px;color:#173b58;font-size:1.32rem}.gps-report-cards .report-warning{background:#fffaf0;border-color:#ecd7a6}.gps-report-cards .report-warning:before{background:#d99a19}.gps-report-cards .report-danger{background:#fff5f3;border-color:#e8bdb7}.gps-report-cards .report-danger:before{background:#b42318}.gps-report-section{margin-top:12px;padding:14px;border:1px solid #dbe4eb;border-radius:14px;background:#f8fbfd}.gps-report-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.gps-report-section-head h3{margin:0;color:#173b58}.gps-report-section-head span{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#667a8b;font-size:.75rem}.report-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:4px}.report-dot.stop{background:#d97817}.report-dot.gap{background:#6b55a3}.report-dot.deviation{background:#b42318}.gps-report-timeline{display:grid;gap:8px}.gps-report-event{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.5fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #dce5eb;border-left:5px solid #7a8c99;border-radius:11px;background:#fff}.gps-report-event>div{display:grid;gap:2px}.gps-report-event b{color:#173b58}.gps-report-event span{color:#718493;font-size:.76rem}.gps-report-event p{margin:0;color:#43596d;line-height:1.35}.gps-report-event strong{white-space:nowrap;color:#40566a}.gps-report-event.tone-stop{border-left-color:#d97817}.gps-report-event.tone-gap{border-left-color:#6b55a3}.gps-report-event.tone-deviation{border-left-color:#b42318;background:#fff8f6}.gps-report-empty{padding:18px;border:1px dashed #bdccd7;border-radius:11px;background:#fff;color:#687b8c;text-align:center}.gps-report-note{margin:11px 2px 0;color:#6b7e8d;font-size:.78rem}.gps-map .leaflet-interactive{transition:stroke-width .15s ease}.gps-map .leaflet-interactive:hover{stroke-width:5}
@media(max-width:1050px){.gps-history-report .gps-history-controls{grid-template-columns:1fr 1fr}.gps-history-report .gps-history-controls select{grid-column:1/-1}.gps-report-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.gps-history-report .gps-history-controls{grid-template-columns:1fr}.gps-history-report .gps-history-controls select{grid-column:auto}.gps-report-cards{grid-template-columns:1fr 1fr}.gps-report-event{grid-template-columns:1fr}.gps-report-event strong{justify-self:start}.gps-report-section-head{align-items:flex-start;flex-direction:column}}


/* AMBER V19.30.38 — Validación de llegada por geocerca */
.arrival-verification-badge{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:9px 12px;border-radius:10px;border:1px solid #d6dde5;background:#f7f9fb;font-size:.86rem}.arrival-verification-badge span{color:#52606d}.arrival-verification-badge.ok{border-color:#9dd7b2;background:#effaf3;color:#17683a}.arrival-verification-badge.warn{border-color:#efc87b;background:#fff8e8;color:#8a5700}.arrival-verification-badge.danger{border-color:#eba3a3;background:#fff1f1;color:#9b1c1c}.arrival-exceptions-panel{margin-top:18px}.arrival-exception-list{display:grid;gap:12px}.arrival-exception-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;border:1px solid #edc46c;border-left:5px solid #d58b00;border-radius:12px;background:#fffaf0}.arrival-exception-card.rejected{border-color:#e7a1a1;border-left-color:#b42318;background:#fff4f4}.arrival-exception-card h3{margin:4px 0 8px}.arrival-exception-card p{margin:4px 0;color:#3f4c59}.arrival-exception-card blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid #c98912;background:rgba(255,255,255,.72)}.arrival-exception-actions{display:flex;flex-direction:column;gap:8px;min-width:150px;justify-content:center}@media(max-width:760px){.arrival-exception-card{grid-template-columns:1fr}.arrival-exception-actions{flex-direction:row;flex-wrap:wrap;min-width:0}.arrival-verification-badge{align-items:flex-start;flex-direction:column;gap:3px}}


/* AMBER V19.30.39 — Control de permanencia en el destino */
.destination-stay-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border-radius:14px;border:1px solid #b9d7e7;background:#eef8fc;color:#123b4c}
.destination-stay-banner span{display:grid;gap:2px}.destination-stay-banner small{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.72}.destination-stay-banner b{font-size:14px}.destination-stay-banner em{font-size:12px;font-style:normal;opacity:.85}
.destination-stay-banner button{border:0;border-radius:10px;padding:9px 12px;font-weight:800;background:#8b1e2d;color:#fff;cursor:pointer;white-space:nowrap}
.destination-stay-banner.warning{background:#fff6db;border-color:#e3bd45;color:#614800}.destination-stay-banner.critical{background:#fff0f1;border-color:#e08b96;color:#7b1724}.destination-stay-banner.justified{background:#f2edff;border-color:#bba7e8;color:#463078}.destination-stay-banner.complete{background:#ebf8ef;border-color:#8bc59d;color:#1f5c32}
@media(max-width:720px){.destination-stay-banner{align-items:stretch;flex-direction:column}.destination-stay-banner button{width:100%}}

/* AMBER V19.30.41 — control de inicio, retorno y cierre de jornada */
.workday-control-panel{background:linear-gradient(145deg,#fff,#f4f8fb);border-color:#cddce8}.workday-own-status{display:grid;gap:12px}.workday-card{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(125px,.7fr)) auto;gap:12px;align-items:center;padding:14px;border:1px solid #d6e1ea;border-radius:14px;background:#fff}.workday-card-main{display:flex;flex-direction:column;gap:4px}.workday-card-main strong{font-size:18px;color:var(--navy)}.workday-card-main small{color:#66798b}.workday-card-main .workday-start-line{color:#2f6b53;font-weight:700}.workday-status-pill{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#e8eef3;color:#284761}.workday-status-pill.status-sin_iniciar{background:#fff0cf;color:#875300}.workday-status-pill.status-lista_cierre{background:#def3e7;color:#19653d}.workday-status-pill.status-cerrada{background:#d9f0e2;color:#17643b}.workday-status-pill.status-cerrada_con_pendientes{background:#fff0cf;color:#875300}.workday-status-pill.status-en_operacion,.workday-status-pill.status-retorno_oficina,.workday-status-pill.status-retorno_casa{background:#e2ecfa;color:#245a91}.workday-status-pill.status-pendiente_rutas{background:#f8dfdf;color:#9b2830}.workday-metric{padding:10px;border-radius:10px;background:#f6f9fb}.workday-metric span{display:block;font-size:11px;color:#687b8c}.workday-metric b{display:block;margin-top:3px;color:var(--navy)}.workday-warning{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#fff6df;color:#795000}.workday-ok{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#eaf6ee;color:#246944}.workday-supervision-head{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.workday-supervision-list{display:grid;gap:9px}.workday-supervision-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.8fr) repeat(3,minmax(90px,.5fr));gap:10px;align-items:center;padding:11px;border-bottom:1px solid #e3e9ef}.workday-supervision-row b{color:var(--navy)}.workday-supervision-row small{display:block;color:#718292}.workday-close-summary{padding:12px;margin:10px 0 16px;border:1px solid #d6e2ea;border-radius:12px;background:#f5f9fc}.workday-close-summary strong{display:block;color:var(--navy);margin-bottom:5px}.workday-gps-note{margin-top:12px;padding:10px;border-radius:10px;background:#eef4f8;color:#526d83;font-size:13px}
@media(max-width:980px){.workday-card{grid-template-columns:1fr 1fr}.workday-card-main,.workday-warning,.workday-ok{grid-column:1/-1}.workday-supervision-row{grid-template-columns:1fr 1fr}.workday-supervision-row>*:nth-child(n+3){text-align:left}}
@media(max-width:620px){.workday-card,.workday-supervision-row{grid-template-columns:1fr}.workday-card .btn{width:100%}.workday-supervision-head{align-items:flex-start;flex-direction:column;gap:4px}}

/* AMBER V19.30.43 — control de puntualidad y calendario laboral */
.workday-punctuality-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:14px 0}.workday-punctuality-summary article{padding:12px;border:1px solid #d8e3eb;border-radius:12px;background:#fff}.workday-punctuality-summary span{display:block;font-size:12px;color:#65798a}.workday-punctuality-summary strong{display:block;margin-top:4px;font-size:22px;color:var(--navy)}
.workday-punctuality-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.workday-punctuality-line small{color:#66798b}.punctuality-pill{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#edf1f4;color:#405465}.punctuality-pill.punctuality-a_tiempo{background:#ddf2e5;color:#17633b}.punctuality-pill.punctuality-pendiente{background:#edf1f4;color:#4b5f70}.punctuality-pill.punctuality-inicio_pendiente,.punctuality-pill.punctuality-atraso_sin_justificacion{background:#ffe1e1;color:#9a2525}.punctuality-pill.punctuality-atraso_pendiente_revision{background:#fff0cb;color:#835500}.punctuality-pill.punctuality-atraso_justificado{background:#e9e1f8;color:#563781}.punctuality-pill.punctuality-atraso_no_justificado,.punctuality-pill.punctuality-sin_registro{background:#f6d9dc;color:#8d2630}
.workday-late-note{grid-column:1/-1;padding:9px 12px;border-radius:10px;background:#fff8e5;color:#76510c}.workday-late-alert{color:#9a2525}.workday-supervision-statuses{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.workday-review-btn{padding:6px 9px;font-size:12px}.workday-supervision-justification{margin-top:5px;padding:6px 8px;border-left:3px solid #d5a42e;background:#fff9e9;color:#66501f!important}
@media(max-width:980px){.workday-punctuality-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.workday-punctuality-summary{grid-template-columns:1fr}.workday-supervision-statuses{width:100%}.workday-review-btn{width:100%}}
.punctuality-pill.punctuality-sin_evaluar{background:#e8eef3;color:#536878}

/* AMBER V19.30.43 — horarios y calendario laboral configurable */
.work-schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:16px}.work-schedule-summary article{padding:14px;border:1px solid #d8e3eb;border-radius:14px;background:#fff}.work-schedule-summary span{display:block;font-size:12px;color:#66798b}.work-schedule-summary strong{display:block;margin-top:4px;font-size:24px;color:var(--navy)}.work-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.work-schedule-exception-card{grid-column:1/-1}.work-schedule-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.work-schedule-card-head h2{margin:0}.work-schedule-card-head p{margin:4px 0 0;color:#66798b}.work-schedule-general-list,.work-schedule-individual-list,.work-schedule-exception-list{display:grid;gap:9px}.work-schedule-general-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(120px,.8fr) repeat(3,minmax(105px,.7fr)) auto;gap:9px;align-items:end;padding:11px;border:1px solid #dfe7ed;border-radius:12px;background:#f9fbfc}.work-schedule-general-row>div{align-self:center}.work-schedule-general-row b{display:block;color:var(--navy)}.work-schedule-general-row small{display:block;color:#758696}.work-schedule-general-row label:not(.switch-row){font-size:11px;color:#627687}.work-schedule-general-row input{margin-top:4px}.work-schedule-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px;border:1px solid #dfe7ed;border-radius:12px;background:#fff}.work-schedule-item b,.work-schedule-item span,.work-schedule-item small{display:block}.work-schedule-item b{color:var(--navy)}.work-schedule-item span{margin-top:3px;color:#516d83}.work-schedule-item small{margin-top:4px;color:#7a6a4c}.work-schedule-item.exception{background:#fffdf7}.work-schedule-empty{padding:12px;border-radius:10px;background:#f4f7f9;color:#66798b}.punctuality-pill.punctuality-no_laborable{background:#e8eef3;color:#536878}.punctuality-pill.punctuality-permiso_autorizado{background:#e9e1f8;color:#563781}.punctuality-pill.punctuality-inicio_extraordinario{background:#e4edf9;color:#245a91}
@media(max-width:1050px){.work-schedule-grid{grid-template-columns:1fr}.work-schedule-exception-card{grid-column:auto}.work-schedule-general-row{grid-template-columns:1fr 1fr 1fr}.work-schedule-general-row>div{grid-column:1/-1}.work-schedule-general-row .btn{width:100%}}
@media(max-width:650px){.work-schedule-summary,.work-schedule-general-row{grid-template-columns:1fr}.work-schedule-item{align-items:flex-start;flex-direction:column}.work-schedule-item .small-btn{width:100%}}


/* AMBER V19.30.44 — asistencia y novedades del personal */
.attendance-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:11px;margin-bottom:16px}.attendance-summary article{padding:14px;border:1px solid #d8e4ec;border-radius:14px;background:#fff}.attendance-summary article.attention{background:#fff8ed;border-color:#efcf9a}.attendance-summary span{display:block;color:#687c8e;font-size:12px}.attendance-summary strong{display:block;margin-top:4px;color:var(--navy);font-size:25px}.attendance-filter-panel{margin-bottom:16px}.attendance-filter-actions{display:flex;gap:8px;align-items:end}.attendance-table-panel{padding:0;overflow:hidden}.attendance-table{min-width:1050px}.attendance-table td{vertical-align:top}.attendance-table td b,.attendance-table td span,.attendance-table td small,.attendance-table td em{display:block}.attendance-table td small{margin-top:4px;color:#758696}.attendance-table td em{margin-top:5px;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase}.attendance-pill{display:inline-flex!important;width:max-content;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#e9f1f7;color:#275675}.attendance-presente-a-tiempo{background:#def3e5;color:#17663a}.attendance-presente-atraso,.attendance-ausencia-pendiente{background:#ffe5d7;color:#9a3e17}.attendance-falta-justificada,.attendance-incapacidad,.attendance-permiso,.attendance-calamidad{background:#e9e1f8;color:#563781}.attendance-jornada-extraordinaria,.attendance-salida-autorizada{background:#e4edf9;color:#245a91}.attendance-feriado,.attendance-vacaciones,.attendance-no-laborable{background:#eef1f4;color:#566a78}.attendance-review-pending{margin-top:6px!important;color:#a85c11!important;font-weight:800}.novelty-pendiente{color:#a85c11}.novelty-aprobada{color:#187245}.novelty-rechazada{color:#a83232}.attendance-actions{display:flex;gap:6px;flex-wrap:wrap}.muted{color:#8a98a5}.attendance-row.status-ausencia-pendiente{background:#fffaf4}.attendance-row.status-presente-atraso{background:#fffdf8}
@media(max-width:1100px){.attendance-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.attendance-summary{grid-template-columns:repeat(2,1fr)}.attendance-filter-actions{grid-column:1/-1}.attendance-filter-actions .btn{flex:1}}


/* AMBER V19.30.45 — reporte mensual de asistencia y puntualidad */
.attendance-monthly-panel{margin-bottom:16px}.attendance-monthly-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}.attendance-monthly-head h2{margin:0;color:var(--navy);font-size:19px}.attendance-monthly-head p{margin:4px 0 0;color:#708391;font-size:13px}.attendance-monthly-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.attendance-monthly-filters label{min-width:150px}.attendance-monthly-summary{display:grid;grid-template-columns:repeat(8,minmax(95px,1fr));gap:9px;margin-bottom:14px}.attendance-monthly-summary article{padding:11px 12px;border:1px solid #dce6ed;border-radius:12px;background:#f8fafb}.attendance-monthly-summary article.attention{background:#fff7ed;border-color:#efcf9a}.attendance-monthly-summary span{display:block;color:#6c7e8c;font-size:11px}.attendance-monthly-summary strong{display:block;margin-top:4px;color:var(--navy);font-size:20px}.attendance-monthly-table{min-width:1040px}.attendance-monthly-table td{text-align:center;vertical-align:middle}.attendance-monthly-table td:first-child{text-align:left}.attendance-monthly-table td b,.attendance-monthly-table td small{display:block}.attendance-monthly-table td small{margin-top:3px;color:#768795}.monthly-row-attention{background:#fffaf4}.monthly-progress{display:block;width:92px;height:6px;margin:5px auto 0;border-radius:999px;background:#e6edf2;overflow:hidden}.monthly-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d97706,#17324d)}
@media(max-width:1250px){.attendance-monthly-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.attendance-monthly-head{display:block}.attendance-monthly-filters{margin-top:12px}.attendance-monthly-filters label{flex:1;min-width:130px}.attendance-monthly-summary{grid-template-columns:repeat(2,1fr)}}


/* AMBER V19.30.46 — KPI mensual integral de auxiliares */
.integral-kpi-panel{margin-bottom:16px;border-top:4px solid var(--copper)}.integral-kpi-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}.integral-kpi-kicker{display:inline-block;color:#b45309;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.integral-kpi-head h2{margin:3px 0;color:var(--navy);font-size:22px}.integral-kpi-head p{margin:0;color:#667b89}.integral-kpi-head small{display:block;margin-top:5px;color:#486171;font-weight:700}.integral-kpi-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.integral-kpi-filters label{min-width:145px}.integral-kpi-summary{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;margin-bottom:14px}.integral-kpi-summary article{padding:12px;border:1px solid #dce6ed;border-radius:12px;background:#f8fafb}.integral-kpi-summary article.attention{background:#fff7ed;border-color:#efcf9a}.integral-kpi-summary span,.integral-kpi-summary small{display:block;color:#6c7e8c;font-size:11px}.integral-kpi-summary strong{display:block;margin:4px 0;color:var(--navy);font-size:22px}.integral-kpi-table{min-width:1320px}.integral-kpi-table th,.integral-kpi-table td{text-align:center;vertical-align:middle}.integral-kpi-table td:nth-child(2){text-align:left}.integral-kpi-table td b,.integral-kpi-table td small{display:block}.integral-kpi-table td small{margin-top:3px;color:#738694;font-size:10px}.integral-kpi-row.improve{background:#fff5f5}.integral-kpi-row.observation{background:#fffaf0}.integral-kpi-progress{display:block;width:72px;height:5px;margin:5px auto 0;background:#e4ebef;border-radius:999px;overflow:hidden}.integral-kpi-progress i{display:block;height:100%;background:linear-gradient(90deg,#d97706,#17324d);border-radius:inherit}.integral-kpi-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.integral-kpi-state.excellent{background:#dcfce7;color:#166534}.integral-kpi-state.meets{background:#e0f2fe;color:#075985}.integral-kpi-state.observation{background:#fef3c7;color:#92400e}.integral-kpi-state.improve{background:#fee2e2;color:#991b1b}.integral-kpi-state.empty{background:#eef2f4;color:#62727c}.integral-kpi-footnote{margin-top:9px;color:#708391;font-size:11px}
@media(max-width:1200px){.integral-kpi-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.integral-kpi-head{display:block}.integral-kpi-filters{margin-top:12px}.integral-kpi-filters label{flex:1;min-width:130px}.integral-kpi-summary{grid-template-columns:repeat(2,1fr)}}

/* AMBER V19.30.47 — Planes de mejora y seguimiento */
.improvement-page{max-width:1500px}.improvement-summary{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin:16px 0}.improvement-summary article{background:#fff;border:1px solid #d9e2e8;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(23,50,77,.07)}.improvement-summary span{display:block;color:#607587;font-size:.82rem}.improvement-summary strong{display:block;margin-top:5px;font-size:1.85rem;color:#17324d}.improvement-summary article.attention{border-color:#f2b66d;background:#fff9ef}.improvement-summary article.attention strong{color:#b45309}.improvement-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.improvement-create-panel{margin-top:16px}.improvement-plan-list{display:grid;gap:16px;margin-top:18px}.improvement-card{background:#fff;border:1px solid #d7e1e8;border-left:7px solid #7990a1;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(23,50,77,.08)}.improvement-card.active{border-left-color:#2563eb}.improvement-card.tracking{border-left-color:#0f766e}.improvement-card.pending-close{border-left-color:#7c3aed}.improvement-card.completed{border-left-color:#15803d}.improvement-card.cancelled{border-left-color:#64748b;opacity:.88}.improvement-card.overdue{border-left-color:#dc2626;background:#fffafa}.improvement-card>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e7edf1;padding-bottom:13px}.improvement-card h3{margin:7px 0 4px;color:#17324d;font-size:1.2rem}.improvement-card header p{margin:0;color:#627687}.improvement-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#e8eef3;color:#435b6e}.improvement-status.active{background:#dbeafe;color:#1d4ed8}.improvement-status.tracking{background:#ccfbf1;color:#115e59}.improvement-status.pending-close{background:#ede9fe;color:#6d28d9}.improvement-status.completed{background:#dcfce7;color:#166534}.improvement-status.cancelled{background:#e2e8f0;color:#475569}.improvement-status.overdue{background:#fee2e2;color:#b91c1c}.improvement-due{text-align:right;min-width:190px}.improvement-due b,.improvement-due small{display:block}.improvement-due b{color:#17324d}.improvement-due small{margin-top:4px;color:#64788a}.improvement-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.improvement-body section{background:#f7f9fb;border:1px solid #e3eaf0;border-radius:12px;padding:12px}.improvement-body h4{margin:0 0 6px;color:#37546a;font-size:.82rem;text-transform:uppercase}.improvement-body p{margin:0;line-height:1.45;color:#243b4c}.improvement-progress>div{display:flex;justify-content:space-between;margin-bottom:5px}.improvement-progress>i{display:block;height:10px;background:#e5ebef;border-radius:999px;overflow:hidden}.improvement-progress>i>em{display:block;height:100%;background:linear-gradient(90deg,#1d4ed8,#0f766e);border-radius:inherit}.improvement-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.improvement-history{margin-top:14px;border-top:1px dashed #bdcad4;padding-top:12px}.improvement-history h4{margin:0 0 10px}.improvement-history ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.improvement-history li{background:#f7f9fb;border-radius:10px;padding:9px 11px;display:grid;grid-template-columns:150px 180px 1fr auto;gap:8px;align-items:start}.improvement-history li p{margin:0}.improvement-history li span,.improvement-history li small{color:#687d8d;font-size:.78rem}.improvement-empty{background:#fff;border:1px dashed #aebdc8;border-radius:16px;padding:28px;text-align:center;color:#627687}.nav-counter.improvement-counter{background:#dc2626;color:#fff}
@media(max-width:1000px){.improvement-summary{grid-template-columns:repeat(3,1fr)}.improvement-body{grid-template-columns:1fr}.improvement-history li{grid-template-columns:1fr}.improvement-filter-panel{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.improvement-summary{grid-template-columns:repeat(2,1fr)}.improvement-filter-panel{grid-template-columns:1fr}.improvement-card>header{display:block}.improvement-due{text-align:left;margin-top:10px}.improvement-actions .btn{flex:1 1 100%}}


/* AMBER V19.30.48 — Tablero y alertas de planes de mejora */
.dashboard-improvement-notice{display:grid;grid-template-columns:auto minmax(260px,1fr) auto auto;gap:16px;align-items:center;margin:14px 0;padding:16px 18px;border:1px solid #efc078;border-left:7px solid #d97706;border-radius:16px;background:linear-gradient(120deg,#fffaf0,#fff);box-shadow:0 10px 28px rgba(135,76,13,.11)}.dashboard-improvement-notice[hidden]{display:none}.dashboard-improvement-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d97706;color:#fff;font-size:1.35rem;font-weight:900}.dashboard-improvement-copy span{display:block;color:#a35408;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dashboard-improvement-copy strong{display:block;margin:3px 0;color:#17324d;font-size:1.08rem}.dashboard-improvement-copy p{margin:0;color:#5f7180}.dashboard-improvement-metrics{display:flex;gap:8px}.dashboard-improvement-metrics span{padding:8px 10px;border:1px solid #ead6b9;border-radius:10px;background:#fff;color:#6b7280;font-size:.75rem}.dashboard-improvement-metrics b{display:block;color:#9a3412;font-size:1.1rem;text-align:center}.dashboard-improvement-actions{display:flex;gap:7px}.dashboard-improvement-detail{grid-column:2/-1;border-top:1px solid #ecd8bb;padding-top:12px}.dashboard-improvement-detail>small{display:block;margin-top:8px;color:#7a8791}.improvement-dashboard-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;margin:7px 0;border:1px solid #e4e9ed;border-left:5px solid #d97706;border-radius:11px;background:#fff;cursor:pointer}.improvement-dashboard-row.priority-critica{border-left-color:#dc2626;background:#fff7f7}.improvement-dashboard-row.priority-alta{border-left-color:#ea580c}.improvement-dashboard-row.priority-media{border-left-color:#d97706}.improvement-dashboard-row b,.improvement-dashboard-row span,.improvement-dashboard-row small{display:block}.improvement-dashboard-row span,.improvement-dashboard-row small{margin-top:2px;color:#647788;font-size:.78rem}.improvement-dashboard-row>strong{align-self:center;color:#9a3412;font-size:.8rem}.improvement-dashboard-more{padding:8px;color:#637787;font-size:.8rem;text-align:center}
.improvement-attention-board{margin-top:16px;border-top:4px solid #d97706}.improvement-attention-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.improvement-attention-head>div>span{color:#b45309;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.improvement-attention-head h2{margin:3px 0;color:#17324d}.improvement-attention-head p{margin:0;color:#667b89}.improvement-attention-counters{display:flex;gap:8px;flex-wrap:wrap}.improvement-attention-counters>b{padding:8px 10px;border-radius:10px;background:#f5f7f9;color:#5e7383;font-size:.74rem}.improvement-attention-counters strong{display:block;text-align:center;color:#17324d;font-size:1.1rem}.improvement-attention-toolbar{display:flex;gap:12px;margin:15px 0}.improvement-attention-toolbar label{min-width:190px}.improvement-attention-list{display:grid;gap:9px}.improvement-attention-card{display:grid;grid-template-columns:86px minmax(240px,1fr) 130px auto;gap:12px;align-items:center;padding:13px;border:1px solid #dfe7ec;border-left:6px solid #d97706;border-radius:13px;background:#fff}.improvement-attention-card.priority-critica{border-left-color:#dc2626;background:#fff8f8}.improvement-attention-card.priority-alta{border-left-color:#ea580c}.improvement-attention-card.priority-media{border-left-color:#d97706}.improvement-attention-priority{padding:5px 7px;border-radius:999px;background:#fff1df;color:#9a3412;font-size:.7rem;font-weight:900;text-align:center;text-transform:uppercase}.priority-critica .improvement-attention-priority{background:#fee2e2;color:#b91c1c}.improvement-attention-card b,.improvement-attention-card span,.improvement-attention-card small{display:block}.improvement-attention-card span,.improvement-attention-card small{margin-top:3px;color:#647788}.improvement-attention-progress{text-align:right}.improvement-attention-progress strong{display:block;color:#17324d;font-size:1.25rem}.improvement-attention-progress span{font-size:.75rem}.improvement-attention-actions{display:flex;gap:6px}.improvement-highlight{animation:improvementPulse 1s ease 2}@keyframes improvementPulse{50%{box-shadow:0 0 0 6px rgba(217,119,6,.22)}}
@media(max-width:1050px){.dashboard-improvement-notice{grid-template-columns:auto 1fr}.dashboard-improvement-metrics,.dashboard-improvement-actions{grid-column:2}.improvement-attention-head{display:block}.improvement-attention-counters{margin-top:12px}.improvement-attention-card{grid-template-columns:80px 1fr}.improvement-attention-progress,.improvement-attention-actions{grid-column:2;text-align:left}}
@media(max-width:650px){.dashboard-improvement-notice{grid-template-columns:1fr}.dashboard-improvement-symbol{display:none}.dashboard-improvement-metrics,.dashboard-improvement-actions,.dashboard-improvement-detail{grid-column:1}.dashboard-improvement-actions .btn{flex:1}.improvement-attention-toolbar{display:block}.improvement-attention-toolbar label{display:block;margin-top:8px}.improvement-attention-card{grid-template-columns:1fr}.improvement-attention-progress,.improvement-attention-actions{grid-column:1}.improvement-attention-actions{display:grid}.improvement-attention-actions .btn{width:100%}}


/* AMBER V19.30.49 — reporte ejecutivo de planes de mejora */
.improvement-executive-report{border-top:4px solid var(--navy);overflow:hidden}
.improvement-executive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.improvement-executive-head>div:first-child>span{display:block;color:var(--copper);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.improvement-executive-head h2{margin:0 0 5px;color:var(--navy)}
.improvement-executive-head p{margin:0;color:#66727d}
.improvement-executive-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.improvement-executive-controls label{min-width:145px;font-size:.78rem;color:#52606d;font-weight:700}
.improvement-executive-controls input,.improvement-executive-controls select{margin-top:4px}
.improvement-executive-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-bottom:16px}
.improvement-executive-summary article{padding:13px 14px;border:1px solid #dfe5e9;border-radius:12px;background:#f8fafb}
.improvement-executive-summary article.attention{background:#fff5f1;border-color:#efc8b5}
.improvement-executive-summary span{display:block;color:#66727d;font-size:.76rem;font-weight:700;margin-bottom:4px}
.improvement-executive-summary strong{font-size:1.35rem;color:var(--navy)}
.improvement-executive-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr);gap:16px;align-items:start}
.improvement-executive-grid h3{margin:0 0 10px;color:var(--navy);font-size:1rem}
.improvement-report-table table{width:100%;border-collapse:collapse}
.improvement-report-table th,.improvement-report-table td{padding:9px 8px;border-bottom:1px solid #e5eaed;text-align:center;font-size:.79rem}
.improvement-report-table th{background:var(--navy);color:white;font-weight:800;position:sticky;top:0}
.improvement-report-table td:first-child,.improvement-report-table th:first-child{text-align:left}
.improvement-report-table td small{display:block;color:#7a8791;margin-top:2px}
.improvement-report-table tr.report-row-alert{background:#fff4ef}
.improvement-responsible-list{display:grid;gap:8px}
.improvement-responsible-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:11px;border:1px solid #e0e6ea;border-radius:10px;background:#f8fafb}
.improvement-responsible-list article.has-overdue{border-left:4px solid #b5472f;background:#fff5f1}
.improvement-responsible-list b,.improvement-responsible-list span{display:block}.improvement-responsible-list span{font-size:.75rem;color:#6a7680;margin-top:3px}
.improvement-responsible-list strong{font-size:1.05rem;color:var(--navy)}.improvement-responsible-list small{grid-column:1/-1;color:#a13f2a;font-weight:700}
.improvement-report-updated{display:block;margin-top:12px;color:#77838d;text-align:right}
@media(max-width:1100px){.improvement-executive-head{display:block}.improvement-executive-controls{justify-content:flex-start;margin-top:12px}.improvement-executive-summary{grid-template-columns:repeat(3,1fr)}.improvement-executive-grid{grid-template-columns:1fr}}
@media(max-width:650px){.improvement-executive-summary{grid-template-columns:repeat(2,1fr)}.improvement-executive-controls>*{width:100%}.improvement-report-table{overflow-x:auto}.improvement-report-table table{min-width:760px}}


/* AMBER V19.30.50 — Dashboard ejecutivo general */
.executive-dashboard{border-top:5px solid var(--navy);background:linear-gradient(145deg,#fff,#f7fafc);overflow:hidden}.executive-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.executive-dashboard-head>div:first-child>span{display:block;color:var(--copper);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.executive-dashboard-head h2{margin:4px 0;color:var(--navy)}.executive-dashboard-head p{margin:0;color:#667785}.executive-dashboard-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.executive-dashboard-controls label{min-width:150px;font-size:.76rem;font-weight:800;color:#526675}.executive-dashboard-controls input{margin-top:4px}.executive-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:17px}.executive-dashboard-summary article{padding:13px 14px;border:1px solid #dce5eb;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(23,50,77,.04)}.executive-dashboard-summary article.attention{background:#fff9ef;border-color:#efd7aa}.executive-dashboard-summary article.critical{background:#fff4f4;border-color:#efbaba}.executive-dashboard-summary span,.executive-dashboard-summary small{display:block}.executive-dashboard-summary span{font-size:.76rem;color:#637586;font-weight:800}.executive-dashboard-summary strong{display:block;margin:3px 0;color:var(--navy);font-size:1.45rem}.executive-dashboard-summary article.attention strong{color:#a95a08}.executive-dashboard-summary article.critical strong{color:#b42318}.executive-dashboard-summary small{font-size:.72rem;color:#788895}.executive-dashboard-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px}.executive-dashboard-body>section,.executive-dashboard-body>aside{border:1px solid #dfe7ec;border-radius:14px;background:#fff;padding:14px}.executive-subhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.executive-subhead h3{margin:0;color:var(--navy)}.executive-subhead small{color:#778894}.executive-subhead>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.executive-operational-bars{display:grid;gap:9px}.executive-operational-bars button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.executive-operational-bars button>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}.executive-operational-bars b{color:#304c62}.executive-operational-bars em{font-style:normal;color:#71818d;font-size:.78rem}.executive-operational-bars i{display:block;height:9px;background:#e7edf1;border-radius:999px;overflow:hidden}.executive-operational-bars u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy),var(--copper));text-decoration:none;min-width:2px}.executive-ranking-title{margin:17px 0 8px;color:var(--navy);font-size:.93rem}.executive-kpi-ranking{display:grid;gap:7px}.executive-kpi-ranking button{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid #e1e7eb;border-radius:10px;background:#f9fbfc;padding:9px;text-align:left;cursor:pointer}.executive-kpi-ranking button>strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff}.executive-kpi-ranking b,.executive-kpi-ranking small{display:block}.executive-kpi-ranking small{color:#748592;margin-top:2px}.executive-kpi-ranking em{font-style:normal;font-weight:900;color:var(--copper)}.executive-priority-list{display:grid;gap:8px;max-height:455px;overflow:auto;padding-right:3px}.executive-priority-card{display:block;width:100%;border:1px solid #e0e7eb;border-left:5px solid #d59b31;border-radius:11px;background:#fff;padding:10px 11px;text-align:left;cursor:pointer}.executive-priority-card.high{border-left-color:#e56a18;background:#fffaf5}.executive-priority-card.critical{border-left-color:#c9362b;background:#fff6f5}.executive-priority-card>span{display:block;color:#8c5b17;font-size:.68rem;font-weight:900;letter-spacing:.07em}.executive-priority-card b{display:block;margin:3px 0;color:#253f54}.executive-priority-card p{margin:0;color:#687b89;font-size:.78rem;line-height:1.35}.executive-priority-card small{display:block;margin-top:5px;color:#89969f}.executive-empty{padding:20px;text-align:center;border:1px dashed #bdcbd4;border-radius:10px;color:#6d7e8b}.executive-empty.success{background:#f2fbf5;border-color:#a9d7b6;color:#347047}
@media(max-width:1100px){.executive-dashboard-head{display:block}.executive-dashboard-controls{justify-content:flex-start;margin-top:12px}.executive-dashboard-summary{grid-template-columns:repeat(2,1fr)}.executive-dashboard-body{grid-template-columns:1fr}}
@media(max-width:650px){.executive-dashboard-summary{grid-template-columns:1fr 1fr}.executive-dashboard-controls>*{width:100%}.executive-dashboard-body>section,.executive-dashboard-body>aside{padding:11px}}


/* V19.30.53 — credenciales y documentos habilitantes */
.credential-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:14px 0}.credential-summary article{background:#eef7fc;border:1px solid #bedcef;border-radius:14px;padding:14px}.credential-summary span{display:block;color:#527089;font-size:.84rem}.credential-summary strong{display:block;color:#073b66;font-size:1.65rem;margin-top:4px}.credential-summary .soon{background:#fff7dc;border-color:#ead28a}.credential-summary .overdue{background:#fff0ee;border-color:#e3a39d}.credential-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}.credential-form-panel,.credential-type-panel{padding:18px}.credential-toolbar{display:flex;gap:12px;margin-bottom:14px}.credential-toolbar input{flex:1}.credential-toolbar select{min-width:210px}.credential-table td small{display:block;color:#678198;margin-top:4px}.credential-state{display:inline-flex;border-radius:999px;padding:5px 10px;font-weight:700;font-size:.78rem}.credential-state.valid{background:#dff5e8;color:#17633b}.credential-state.soon{background:#fff2c8;color:#855b00}.credential-state.expired{background:#ffe0dd;color:#992d24}.credential-type-list{display:grid;gap:8px;margin-top:12px}.credential-type-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f4f9fc;border:1px solid #cbe1ee;border-radius:12px;padding:10px 12px}.credential-type-item div{display:grid}.credential-type-item span{color:#678198;font-size:.8rem}.credential-type-item.inactive{opacity:.55}.credential-notice,.dashboard-credential-notice{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e2b761;background:#fff7dc;border-radius:16px;padding:14px 16px;margin:12px 0}.credential-notice div,.dashboard-credential-notice>div:first-child{display:grid;gap:3px}.dashboard-credential-notice>div:last-child{display:flex;align-items:center;gap:12px}.dashboard-credential-notice b{font-size:1.35rem;color:#8a5800}.dashboard-credential-notice span{font-size:.78rem;text-transform:uppercase;color:#7a5c19;font-weight:800}.dashboard-credential-notice strong{color:#163e5f}.dashboard-credential-notice p{margin:0;color:#5d6f7e}
@media(max-width:900px){.credential-summary{grid-template-columns:repeat(2,1fr)}.credential-layout{grid-template-columns:1fr}.credential-toolbar{flex-direction:column}.credential-toolbar select{min-width:0}.dashboard-credential-notice{align-items:flex-start;flex-direction:column}}

/* V19.30.53 · Capacitaciones y competencias */
#training .credential-summary{grid-template-columns:repeat(6,minmax(110px,1fr))}
#training .credential-table{min-width:1450px}
@media(max-width:900px){#training .credential-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}


/* V19.30.55 · Control de EPP, herramientas y equipos */
.equipment-summary{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
#equipment .credential-table td:nth-child(3),#equipment .credential-table td:nth-child(6){min-width:120px}
#dashboardEquipmentNotice{border-left-color:#b86b31}

.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}


/* V19.30.56 · Combustible y gastos de movilización */
.expense-items-detail{display:grid;gap:6px;margin-top:8px;min-width:520px}.expense-item-row{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;border:1px solid #dce5ed;border-radius:8px;background:#f8fafc;font-size:.84rem}.expense-item-row a{font-weight:700}.link-danger{border:0;background:transparent;color:#a12b2b;font-weight:700;cursor:pointer}.expense-table details summary{cursor:pointer;color:#0c4d78;font-weight:700;margin-top:6px}.expense-table td small{display:block;color:#667785;margin-top:3px}


/* AMBER V19.30.57 — Anticipos y caja chica */
.dashboard-cash-notice{margin:16px 0;padding:18px 20px;border:1px solid #e4c786;border-left:6px solid #b7791f;border-radius:16px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 24px rgba(71,52,21,.08)}
.dashboard-cash-notice[hidden]{display:none}.dashboard-cash-notice span{display:block;color:#8a5a17;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dashboard-cash-notice strong{display:block;margin:3px 0;font-size:1.08rem;color:#4a3210}.dashboard-cash-notice p{margin:0;color:#6b5840}.dashboard-cash-notice>div:last-child{display:flex;align-items:center;gap:12px}.dashboard-cash-notice b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#b7791f;color:white;font-size:1.15rem}
.cash-summary article:first-child{background:linear-gradient(145deg,#0c2e4f,#174b75);color:white}.cash-summary article:first-child span,.cash-summary article:first-child strong{color:white}.cash-advance-table td small{display:block;margin-top:4px;color:#6b7280}.cash-movement{display:inline-block;padding:5px 9px;border-radius:999px;font-weight:800;font-size:.78rem}.cash-movement.positive{background:#e8f7ee;color:#17643a}.cash-movement.negative{background:#fff1f0;color:#a12b25}
@media(max-width:760px){.dashboard-cash-notice{align-items:flex-start;flex-direction:column}.dashboard-cash-notice>div:last-child{width:100%;justify-content:flex-end}}


/* AMBER V19.30.58 — Control presupuestario por ruta y cliente */
.dashboard-budget-notice{margin:16px 0;padding:18px 20px;border:1px solid #b9d5c5;border-left:6px solid #26724a;border-radius:16px;background:#f1fbf5;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 24px rgba(20,83,45,.07)}
.dashboard-budget-notice[hidden]{display:none}.dashboard-budget-notice span{display:block;color:#26724a;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dashboard-budget-notice strong{display:block;margin:3px 0;font-size:1.08rem;color:#163f2b}.dashboard-budget-notice p{margin:0;color:#4f6b5c}.dashboard-budget-notice>div:last-child{display:flex;align-items:center;gap:12px}.dashboard-budget-notice b{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#26724a;color:#fff;font-size:1.15rem}
.budget-summary article:first-child{background:linear-gradient(145deg,#0c2e4f,#174b75);color:#fff}.budget-summary article:first-child span,.budget-summary article:first-child strong{color:#fff}.budget-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.budget-form-actions strong{margin-left:auto;color:#0c2e4f}.budget-table td small{display:block;margin-top:4px;color:#6b7280}.budget-table details{margin-top:7px}.budget-table details small{line-height:1.7}.budget-progress{height:8px;min-width:105px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-bottom:4px}.budget-progress span{display:block;height:100%;background:#26724a;border-radius:inherit}.budget-progress.near span{background:#b7791f}.budget-progress.over span{background:#b42318}.negative-value{color:#b42318;font-weight:800}.positive-value{color:#17643a;font-weight:800}
@media(max-width:760px){.dashboard-budget-notice{align-items:flex-start;flex-direction:column}.dashboard-budget-notice>div:last-child{width:100%;justify-content:flex-end}.budget-form-actions strong{width:100%;margin-left:0}}


/* AMBER V19.30.59 — Control de rentabilidad por ruta y cliente */
.dashboard-profitability-notice{border-left-color:#0f766e;background:linear-gradient(135deg,#ecfdf5,#f0fdfa)}
.profitability-summary article:nth-child(3),.profitability-summary article:nth-child(4){background:linear-gradient(145deg,#f0fdfa,#ffffff)}
.profitability-cost-preview{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc;color:#334155}
.profitability-cost-preview:empty{display:none}
.profitability-table td small{display:block;margin-top:4px;line-height:1.35}


/* AMBER V19.30.60 — Facturación y cobranza */
.dashboard-billing-notice{border-left-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#f8fafc)}
.billing-summary article:nth-child(3),.billing-summary article:nth-child(4){background:linear-gradient(145deg,#eff6ff,#ffffff)}
.billing-table td small{display:block;margin-top:4px;line-height:1.35}
.billing-table details{margin-top:6px}


/* AMBER V19.30.62 — Asistente de Aforos e Inspecciones como Mensajería */
.operational-route-wizard .messaging-wizard-symbol{background:linear-gradient(145deg,var(--navy),#197278);color:#fff}
.operational-route-wizard .messaging-wizard-kicker{color:#197278}
.operational-route-wizard .messaging-progress-track i{background:linear-gradient(90deg,var(--navy),#197278)}
.operational-route-wizard .messaging-step-number{background:#e8f5f3;color:#0f5f63;border-color:#9fd0ca}
.operational-entities{border:1px solid #d7e4e5;border-radius:14px;padding:14px;background:#f8fbfb}
.operational-entities .checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin-top:8px}
.operational-entities .checks label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d8e5e6;border-radius:10px;background:#fff}
@media(max-width:760px){.operational-entities .checks{grid-template-columns:1fr}}

/* V19.30.62: el asistente operativo conserva solamente campos esenciales. */


/* AMBER V19.30.64 — selector único de referencias al final de la asignación */
.operational-reference-section{margin-top:20px;padding:18px;border:1px solid #9ec7e5;border-radius:18px;background:#f5faff}
.operational-reference-section legend{padding:0 8px;font-size:1.08rem;font-weight:900;color:#0b477a}
.operational-reference-help{margin:0 0 13px;color:#4f708c}
.operational-reference-mode-field{display:flex;flex-direction:column;gap:7px;font-weight:850;color:#0c3d68}
.operational-reference-mode-field select{width:100%;min-height:50px;border:1px solid #bed7ec;border-radius:12px;background:#fff;padding:0 14px;font-size:1rem;color:#123b5f}
.operational-reference-mode-field small{font-weight:500;color:#58738c;line-height:1.35}
.operational-reference-builder{margin-top:14px}
.operational-no-reference-note{margin-top:14px;padding:13px 15px;border-radius:12px;background:#eef6fb;color:#274f6d;font-weight:800}
#operationalAssignBtn:disabled{opacity:.5;cursor:not-allowed}

.management-reference-list{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:4px}.management-reference-list i{font-style:normal;background:#eef7fd;border:1px solid #c9e1f1;border-radius:7px;padding:2px 6px}.reference-none{color:#607d98;font-weight:700}


/* AMBER V19.30.65 — documentos de referencia como paso 6 */
.operational-reference-step-fieldset{margin-top:18px}
.operational-reference-review{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;margin:18px 0;padding:16px 18px;border:1px solid #b9d8ef;border-radius:14px;background:#eef8ff}
.operational-reference-review b{color:#063c68}
.operational-reference-review p{grid-column:1;margin:0;color:#46657f;white-space:pre-wrap}
.operational-reference-review .btn{grid-column:2;grid-row:1/3}
@media(max-width:720px){.operational-reference-review{grid-template-columns:1fr}.operational-reference-review p,.operational-reference-review .btn{grid-column:1;grid-row:auto}.operational-reference-review .btn{width:100%}}

/* AMBER V19.30.66 — Entrega y visualización de documentos para aforo */
.operational-aux-documents-step{display:grid;gap:18px}.operational-upload-box{border:1px dashed #98c5e1;background:#f4faff;border-radius:16px;padding:18px;display:grid;gap:14px}.operational-upload-box>div>p{margin:5px 0 0;color:#58748d}.operational-upload-control{display:grid;gap:8px;font-weight:800}.operational-upload-control input[type=file]{background:#fff;border:1px solid #b9d5e7;border-radius:12px;padding:12px}.operational-upload-preview{display:grid;gap:8px}.operational-upload-file{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid #c9deeb;border-radius:12px;padding:10px}.operational-upload-file>span,.operational-document-file-card>span{display:grid;place-items:center;background:#0e679b;color:#fff;border-radius:9px;min-height:38px;font-size:11px;font-weight:900}.operational-upload-file div{display:grid}.operational-upload-file small{color:#607d93}.operational-advisor-document-notice{display:grid;gap:4px;padding:14px;border-left:5px solid #c88719;border-radius:10px;background:#fff4d9;color:#714600}.operational-advisor-document-notice b{font-size:16px}.operational-workflow-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workflow-documents-action{margin-top:8px}.operational-documents-view-btn{white-space:nowrap}.operational-documents-file-list{display:grid;gap:10px;margin:14px 0}.operational-document-file-card{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:#073c61;border:1px solid #c4deed;border-radius:13px;padding:11px;background:#f7fbfe}.operational-document-file-card:hover{border-color:#287baa;background:#eef8fd}.operational-document-file-card div{display:grid;gap:3px}.operational-document-file-card small{color:#607d93}.operational-documents-empty{display:grid;gap:6px;border:1px dashed #b7cedd;border-radius:13px;padding:18px;color:#5d778b;background:#f8fbfd}.operational-documents-dialog form{display:grid;gap:12px}@media(max-width:720px){.operational-upload-file,.operational-document-file-card{grid-template-columns:44px 1fr}.operational-upload-file button,.operational-document-file-card>strong{grid-column:1/-1}.operational-workflow-head-actions{align-items:stretch}.operational-workflow-head-actions .workflow-progress{width:100%}}


/* AMBER V19.30.68 — carga progresiva de documentos uno por uno */
.operational-document-slots{display:grid;grid-template-columns:1fr;gap:12px}.operational-document-slot{display:grid;gap:8px;padding:12px;border:1px solid #c3ddea;border-radius:13px;background:#fff}.operational-document-slot.has-file{border-color:#2b85b7;background:#f2faff}.operational-document-slot.next-document-slot{border-style:dashed;background:#fbfdff}.operational-document-slot label{display:grid;gap:7px}.operational-document-slot input[type=file]{width:100%;padding:8px;border:1px solid #c8dce8;border-radius:9px;background:#fff}.operational-document-slot-status{display:flex;align-items:center;gap:8px;min-height:38px;flex-wrap:wrap}.operational-document-slot-status>span{display:grid;place-items:center;min-width:42px;min-height:32px;padding:4px 6px;border-radius:8px;background:#0e679b;color:#fff;font-size:10px;font-weight:900}.operational-document-slot-status>div{display:grid;min-width:0;flex:1}.operational-document-slot-status strong{overflow-wrap:anywhere;color:#073c61}.operational-document-slot-status small{color:#607d93}.operational-add-document-btn{justify-self:start}.operational-upload-help{color:#5c7689}.operational-upload-file-actions{display:flex;gap:7px;flex-wrap:wrap}.operational-upload-file-actions .btn{white-space:nowrap}@media(max-width:820px){.operational-document-slots{grid-template-columns:1fr}.operational-upload-file{grid-template-columns:44px 1fr}.operational-upload-file-actions{grid-column:1/-1}.operational-add-document-btn{width:100%}}

/* AMBER V19.30.69 — Acciones claras para documentos del aforo. */
.operational-document-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.operational-document-slot-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}
.operational-document-slot-actions .btn{white-space:nowrap}
.operational-document-slot-status>div{display:grid;gap:2px;min-width:0;flex:1}
@media(max-width:720px){.operational-document-slot-actions{display:grid;grid-template-columns:1fr}.operational-document-slot-actions .btn{width:100%}}


/* AMBER V19.30.70 — Lista acumulativa de documentos del aforo. */
.operational-added-documents{display:grid;gap:10px;border-top:1px solid #c9deeb;padding-top:14px}
.operational-added-documents-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#073c61}
.operational-added-documents-head span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 9px;border-radius:999px;background:#dff1fb;color:#0a5686;font-size:.82rem;font-weight:900}
.operational-added-documents-list{display:grid;gap:9px}
.operational-added-document{display:grid;grid-template-columns:34px 44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #bdd9e9;border-radius:12px;background:#fff}
.operational-added-document-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e3f2fa;color:#07527f;font-weight:900}
.operational-added-document-icon{display:grid;place-items:center;min-height:34px;border-radius:8px;background:#0e679b;color:#fff;font-size:10px;font-weight:900}
.operational-added-document>div:nth-child(3){display:grid;gap:2px;min-width:0}
.operational-added-document strong{overflow-wrap:anywhere;color:#073c61}
.operational-added-document small{color:#607d93}
.operational-added-document-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.operational-document-slot-actions .btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.operational-added-document{grid-template-columns:34px 44px minmax(0,1fr)}.operational-added-document-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}.operational-added-document-actions .btn{width:100%}}

/* AMBER V19.30.71 — campos de tipo y número de referencia en Aforos e Inspecciones */
.operational-reference-entry{align-items:end}
.operational-reference-entry label{min-width:0}
.operational-reference-entry select,.operational-reference-entry input{width:100%}
.operational-reference-guidance{margin:.45rem 0 .65rem;padding:.55rem .75rem;border-left:4px solid #2476ad;background:#eef8ff;color:#315f7d;border-radius:8px;font-size:.9rem}
@media(max-width:760px){.operational-reference-entry{grid-template-columns:1fr}.operational-reference-entry .btn{width:100%}}


/* AMBER V19.30.72 — campo MRN adicional en el paso 6 */
.operational-mrn-reference-block,.operational-other-reference-block{margin:.75rem 0;padding:.8rem;border:1px solid #c3deed;border-radius:12px;background:#f8fcff}
.operational-reference-subtitle{display:flex;flex-direction:column;gap:2px;margin-bottom:.65rem;color:#073c61}
.operational-reference-subtitle small{font-weight:400;color:#607d93}
.operational-mrn-reference-entry input[readonly]{background:#e9f5fb;color:#073c61;font-weight:800;cursor:default}


/* AMBER V19.30.76 — Datos esenciales visibles en cada paso actual de Aforo e Inspección. */
.workflow-operation-data{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;margin-top:8px}
.workflow-operation-data span{display:grid;gap:2px;padding:8px 10px;border:1px solid #c8ddea;border-radius:9px;background:#f5faff;min-width:0}
.workflow-operation-data small{font-size:.72rem;color:#607d93;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.workflow-operation-data b{color:#073c61;overflow-wrap:anywhere;font-size:.9rem}
.workflow-complete-message{padding:14px;border:1px dashed #9dc6df;border-radius:10px;background:#f4faff;color:#315f7d;text-align:center;font-weight:700}
@media(max-width:900px){.workflow-operation-data{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:560px){.workflow-operation-data{grid-template-columns:1fr}}

/* AMBER V19.30.81 — documentos fijos para aforo e inspección */
.operational-fixed-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.operational-fixed-document-card{height:100%;align-content:start}
.operational-fixed-document-card.required-document-card{border:2px solid #d78a12;background:#fffaf0}
.operational-fixed-document-card .operational-document-slot-head>div{display:grid;gap:3px}
.operational-fixed-document-card .operational-document-slot-head small{color:#607d93}
.operational-required-badge,.operational-optional-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:900;white-space:nowrap}
.operational-required-badge{background:#fff0c7;color:#8a4d00;border:1px solid #e6ad42}
.operational-optional-badge{background:#e7f3fa;color:#14577c;border:1px solid #bdd9e9}
.operational-fixed-document-card .operational-added-documents{margin-top:4px}
@media(max-width:900px){.operational-fixed-document-grid{grid-template-columns:1fr}}


/* AMBER V19.30.84 — selección y vista individual de Gestiones para auxiliares. */
.aux-management-selector{display:grid;gap:14px}
.aux-management-selector-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border:1px solid #b9d8ee;border-radius:18px;background:#eef8ff}
.aux-management-selector-head h3{margin:0 0 4px;color:var(--navy)}
.aux-management-selector-head p{margin:0;color:#54728c}
.aux-management-selector-head>span{display:inline-flex;min-width:42px;height:34px;align-items:center;justify-content:center;border-radius:18px;background:var(--navy);color:#fff;font-weight:800;padding:0 12px}
.aux-management-selector-card{display:flex;justify-content:space-between;align-items:stretch;gap:18px;padding:16px;border:1px solid #b9d8ee;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(12,46,79,.06)}
.aux-management-selector-main{flex:1;min-width:0}
.aux-management-selector-main h3{margin:5px 0 12px;color:var(--navy);font-size:1.1rem}
.aux-management-type{display:inline-flex;border-radius:999px;background:#e6f3fb;color:#0b5f91;padding:5px 10px;font-size:.78rem;font-weight:800}
.aux-management-selector-data{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}
.aux-management-selector-data span{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:12px;background:#f5faff;border:1px solid #d6e8f4;min-width:0}
.aux-management-selector-data small{color:#56768e;text-transform:uppercase;font-size:.65rem;font-weight:800}
.aux-management-selector-data b{color:#0c2e4f;overflow-wrap:anywhere}
.aux-management-selector-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;min-width:145px}
.focused-management-view{display:grid;gap:14px}
.focused-management-toolbar{display:flex;align-items:center;gap:18px;padding:14px 16px;border:1px solid #b9d8ee;border-radius:16px;background:#eef8ff;position:sticky;top:0;z-index:8;box-shadow:0 4px 14px rgba(12,46,79,.08)}
.focused-management-toolbar>div{display:flex;flex-direction:column;gap:2px}
.focused-management-toolbar small{color:#56768e;text-transform:uppercase;font-size:.68rem;font-weight:800}
.focused-management-toolbar b{color:var(--navy)}
.focused-management-toolbar span{color:#45657e}
.focused-management-footer{display:flex;justify-content:flex-start;padding:2px 0 12px}
@media(max-width:900px){.aux-management-selector-card,.focused-management-toolbar{flex-direction:column;align-items:stretch}.aux-management-selector-actions{flex-direction:row;align-items:center;min-width:0}.aux-management-selector-data{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:560px){.aux-management-selector-data{grid-template-columns:1fr}.aux-management-selector-head{align-items:flex-start}.aux-management-selector-actions{flex-direction:column;align-items:stretch}.focused-management-toolbar{position:static}}

/* AMBER V19.30.85 — el auxiliar visualiza únicamente el paso operativo actual. */
#routes.aux-focused-step-mode>.page-title,
#routes.aux-focused-step-mode>.toolbar,
#routes.aux-focused-step-mode>.route-module-help,
#routes.aux-focused-step-mode>.panel,
#routes.aux-focused-step-mode>.section-heading{display:none!important}
#routes.aux-focused-step-mode{padding-top:10px}
#routes.aux-focused-step-mode #managementList{margin-top:0}
.focused-operational-step-only{display:block}
.focused-operational-step-only .operational-workflow{margin:0;box-shadow:0 8px 24px rgba(12,46,79,.08)}
.focused-operational-step-only .operational-workflow-head{margin-bottom:10px}
.focused-operational-step-only .workflow-steps{display:block}
.focused-operational-step-only .workflow-step{margin:0}
.operational-back-to-managements{white-space:nowrap}
@media(max-width:760px){.focused-operational-step-only .operational-workflow{padding:12px}.operational-back-to-managements{width:100%}}

/* AMBER V19.30.87 — captura directa de fotografías desde teléfono */
.mobile-camera-field{display:grid;gap:10px;border:1px dashed #9fc8e8;border-radius:14px;padding:12px;background:#f7fbff}.camera-field-label{font-weight:800;color:#123f6b}.camera-capture-list{display:grid;gap:10px}.camera-capture-item{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid #c8dff0;border-radius:12px;background:#fff}.camera-capture-preview{width:86px;height:64px;object-fit:cover;border-radius:9px;border:1px solid #c8dff0}.camera-capture-info{display:grid;gap:3px;min-width:0}.camera-capture-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-capture-info small{color:#58738c}.camera-capture-button{justify-self:start}.camera-native-input{display:none!important}@media(max-width:680px){.camera-capture-item{grid-template-columns:72px minmax(0,1fr)}.camera-capture-preview{width:72px;height:58px}.camera-remove-button{grid-column:1/-1;width:100%}.camera-capture-button{width:100%;min-height:48px;font-size:16px}}


/* AMBER V19.30.89 — visualización inmediata y revisión final */
.operational-registered-records{display:grid;gap:10px;margin-top:14px;border-top:1px solid #c7ddeb;padding-top:14px}.operational-registered-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.operational-registered-head span{color:#55738f;font-size:.84rem}.operational-record-card{display:grid;gap:9px;padding:12px;border:1px solid #bcd7e9;border-radius:12px;background:#fff}.operational-record-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.operational-record-title>div{display:grid;gap:2px}.operational-record-title small,.operational-record-title span{color:#607b91;font-size:.78rem}.operational-record-card p{margin:0;padding:8px 10px;border-left:4px solid #2371aa;background:#eef7fd;border-radius:7px}.operational-record-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.operational-record-file{display:grid;gap:5px}.operational-record-file a{display:grid;gap:5px;text-decoration:none;color:#15496f}.operational-record-file img{width:100%;height:110px;object-fit:cover;border:1px solid #c7ddeb;border-radius:9px;background:#edf5fa}.operational-record-file span{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operational-live-preview{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid #9bc7e4;border-radius:12px;background:#eef8ff}.operational-live-preview>span{display:block;color:#315d7b}.operational-final-review-content{display:grid;gap:12px;max-height:58vh;overflow:auto;padding-right:4px}.operational-final-review-content .operational-registered-records{margin:0;border:0;padding:0}.focused-messaging-step-only{max-width:1040px;margin:0 auto}.focused-messaging-card{display:grid;gap:14px;padding:16px;border:1px solid #a9cee7;border-radius:16px;background:#f2f9fe;box-shadow:0 8px 24px rgba(12,46,79,.08)}.focused-messaging-card>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.focused-messaging-card h3{margin:4px 0}.focused-messaging-record{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;border:1px solid #bed8e9;border-radius:12px;background:#fff}.focused-messaging-record>b{grid-column:1/-1}.focused-messaging-record>span{display:grid;gap:2px;padding:8px;background:#eef7fd;border-radius:8px}.focused-messaging-record small{color:#58758d}.focused-messaging-record .messaging-proof-list{grid-column:1/-1}.focused-messaging-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:680px){.operational-record-title,.operational-registered-head,.focused-messaging-card>header{align-items:stretch;flex-direction:column}.operational-record-title .btn,.focused-messaging-actions>*{width:100%}.operational-record-files{grid-template-columns:1fr}.operational-record-file img{height:180px}}

/* AMBER V19.30.90 — reinicio de datos de prueba desde el programa. */
.test-data-reset-card{grid-column:1/-1;border:2px solid #d43b31;background:linear-gradient(145deg,#fff,#fff7f6)}.test-reset-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.test-reset-head h2{margin:0 0 6px;color:#8f1f18}.test-reset-head p{margin:0;color:#5d6f7e}.test-reset-badge{background:#fee4e2;color:#b42318;border-radius:999px;padding:7px 11px;font-weight:800;white-space:nowrap}.test-reset-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.test-reset-summary span{padding:12px;border:1px solid #efb7b2;border-radius:12px;background:#fff}.test-reset-summary small,.test-reset-summary b{display:block}.test-reset-summary b{font-size:24px;color:#8f1f18;margin-top:3px}.test-reset-warning{padding:13px;border-left:5px solid #d43b31;border-radius:10px;background:#fff0ef;line-height:1.55}.test-reset-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:16px}.test-reset-form .btn{height:45px}.test-reset-form .btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:850px){.test-reset-summary{grid-template-columns:1fr 1fr}.test-reset-form{grid-template-columns:1fr}.test-reset-badge{white-space:normal}}

/* AMBER V19.30.92 — referencias faltantes completadas por el auxiliar. */
.operational-reference-completion-option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:4px 10px;margin:12px 0;padding:12px;border:1px solid #a9cee7;border-radius:12px;background:#eef8ff;font-weight:800;color:#123f6b}.operational-reference-completion-option input{margin-top:3px}.operational-reference-completion-option small{grid-column:2;color:#54738d;font-weight:500}.op-missing-reference-fields{display:grid;gap:12px;margin-top:14px;padding:14px;border:2px solid #d49a36;border-radius:14px;background:#fff9ea}.op-missing-reference-head{display:grid;gap:4px}.op-missing-reference-head b{color:#824b00}.op-missing-reference-head span{color:#6a5a3d}.op-missing-reference-fields .form-grid{margin:0}@media(max-width:680px){.operational-reference-completion-option{grid-template-columns:auto 1fr}.op-missing-reference-fields .form-grid{grid-template-columns:1fr}}

/* AMBER V19.30.93 — navegación del flujo operativo. */
.operational-navigation-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.operational-back-button{font-weight:800}@media(max-width:700px){.operational-navigation-actions{width:100%;justify-content:stretch}.operational-navigation-actions .btn{flex:1;min-width:0}}

/* AMBER V19.30.99 — confirmaciones internas del funcionario únicamente para Aforos. */
.aforo-official-process{display:grid;gap:12px}
.aforo-official-stage{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #c6d8e8;border-radius:13px;background:#f7fbff}
.aforo-official-stage.done{border-color:#79b58c;background:#f1faf4}
.aforo-official-stage.current{border-color:#2b74ad;background:#edf6fd;box-shadow:0 0 0 2px rgba(43,116,173,.08)}
.aforo-official-stage.locked{opacity:.68;background:#f5f6f7}
.aforo-official-stage-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#d8e7f3;color:#174f80;font-weight:800}
.aforo-official-stage.done .aforo-official-stage-number{background:#2f855a;color:#fff}
.aforo-official-stage-copy{display:grid;gap:4px}
.aforo-official-stage-copy b{font-size:1rem}
.aforo-official-stage-copy span{color:#50677b;font-size:.92rem}
.aforo-official-stage-time{font-weight:700;color:#246da8}
.aforo-official-edit-note{padding:11px 13px;border-radius:10px;background:#fff7e8;border:1px solid #e9c27f;color:#714b13}
@media(max-width:760px){.aforo-official-stage{grid-template-columns:40px minmax(0,1fr)}.aforo-official-stage .btn{grid-column:1/-1;width:100%}}


/* AMBER V19.30.100 — notificaciones agradables para las tres confirmaciones del funcionario. */
.amber-toast-container{position:fixed;inset:20px 20px auto auto;z-index:2147483647;display:grid;gap:12px;width:min(390px,calc(100vw - 32px));margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none;color:inherit}.amber-toast-container:popover-open{display:grid}.amber-toast-container.amber-toast-in-dialog{top:var(--amber-toast-top,20px);right:var(--amber-toast-right,20px);left:auto;bottom:auto}
.amber-toast{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 30px;gap:12px;align-items:start;overflow:hidden;padding:15px 14px 13px;border:1px solid #bad8c4;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 16px 42px rgba(12,46,79,.22);opacity:0;transform:translateY(-12px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:auto;backdrop-filter:blur(8px)}
.amber-toast.visible{opacity:1;transform:translateY(0) scale(1)}
.amber-toast.closing{opacity:0;transform:translateX(24px) scale(.98)}
.amber-toast-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5f5ea;color:#1f7a45;font-size:1.35rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(31,122,69,.12)}
.amber-toast-copy{display:grid;gap:3px;min-width:0;padding-top:1px}
.amber-toast-copy b{color:#143d60;font-size:1rem;line-height:1.25}
.amber-toast-copy span{color:#425f75;line-height:1.4;font-size:.91rem;white-space:pre-line;overflow-wrap:anywhere}
.amber-toast-copy small{color:#718698;font-size:.74rem;font-weight:700;margin-top:2px}
.amber-toast-close{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#60778a;font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.amber-toast-close:hover{background:#edf3f7;color:#173f60}
.amber-toast-progress{position:absolute;left:0;bottom:0;height:4px;width:100%;background:#2f9b5e;transform-origin:left;animation:amberToastProgress linear forwards}
.amber-toast-warning{border-color:#ecc986}.amber-toast-warning .amber-toast-icon{background:#fff4d7;color:#956100}.amber-toast-warning .amber-toast-progress{background:#d99a18}
.amber-toast-error{border-color:#efaaa5}.amber-toast-error .amber-toast-icon{background:#fee8e6;color:#b42318}.amber-toast-error .amber-toast-progress{background:#d43b31}
.amber-toast-info{border-color:#9fc9e8}.amber-toast-info .amber-toast-icon{background:#e8f4fc;color:#17689e}.amber-toast-info .amber-toast-progress{background:#247ab2}
@keyframes amberToastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:680px){.amber-toast-container:not(.amber-toast-in-dialog){inset:12px 12px auto 12px;width:auto}.amber-toast-container.amber-toast-in-dialog{top:var(--amber-toast-top,12px);right:12px;left:12px;bottom:auto;width:auto}.amber-toast{grid-template-columns:42px minmax(0,1fr) 28px;padding:13px 12px}.amber-toast-icon{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.amber-toast,.amber-toast-progress{transition:none;animation:none}}


/* AMBER V19.30.101 — instituciones presentes durante el aforo. */
.aforo-institution-panel{margin:18px 0;padding:18px;border:1px solid #9dcced;border-radius:18px;background:#f5faff}
.aforo-institution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.aforo-institution-head h3{margin:0 0 5px;color:#0b467a;font-size:1.12rem}
.aforo-institution-head p{margin:0;color:#42566a;line-height:1.45}
.aforo-institution-list{display:grid;gap:11px}
.aforo-institution-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;padding:15px;border:1px solid #cbd8e5;border-radius:15px;background:#fff;transition:.18s ease}
.aforo-institution-card.current{border-color:#2672ad;box-shadow:0 0 0 3px rgba(38,114,173,.10)}
.aforo-institution-card.done{border-color:#8fc5a1;background:#f4fbf6}
.aforo-institution-card.locked{opacity:.58;background:#f3f5f7}
.aforo-institution-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e7eef5;color:#174b78;font-weight:800;font-size:1.1rem}
.aforo-institution-card.done .aforo-institution-number{background:#17623b;color:#fff}
.aforo-institution-copy{display:grid;gap:5px;min-width:0}
.aforo-institution-copy>b{font-size:1.03rem;color:#162c40}
.aforo-institution-copy>span{color:#52667a}
.aforo-institution-controls{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(260px,1fr) auto;align-items:end;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid #dce6ef}
.aforo-institution-controls label{display:grid;gap:5px;font-weight:700;color:#19364f}
.aforo-institution-controls textarea{min-height:64px}
.aforo-institution-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:12px 14px;border-radius:12px;background:#eaf4fc;color:#164f7d}
.aforo-institution-status span{font-size:.94rem}
.aforo-institution-empty{display:grid;gap:4px;padding:18px;border:1px dashed #d09a65;border-radius:13px;background:#fff8f0;color:#7d4c1c}
@media(max-width:800px){.aforo-institution-head{display:grid}.aforo-institution-head .btn{width:100%}.aforo-institution-controls{grid-template-columns:1fr}.aforo-institution-controls .btn{width:100%}.aforo-institution-status{display:grid}.aforo-institution-card{grid-template-columns:42px minmax(0,1fr);padding:13px}}

/* AMBER V19.30.102 — alertas generales convertidas en notificaciones no bloqueantes. */


/* AMBER V19.30.103 — las notificaciones usan la capa superior y permanecen visibles sobre los modales. */

/* AMBER V19.30.104 — continuidad del modal operativo y navegación Atrás sin cerrar el flujo. */
/* AMBER V19.30.104 — el asistente permanece visible y sus controles de navegación quedan accesibles. */
.operational-step-dialog,.operational-final-review-dialog{max-height:94vh;overflow:auto;overscroll-behavior:contain}
.operational-step-dialog .dialog-actions,.operational-final-review-dialog .dialog-actions{position:sticky;bottom:0;z-index:8;background:linear-gradient(180deg,#ffffffee,#fff 28%);border-top:1px solid var(--line);padding:14px 0 6px;box-shadow:0 -10px 22px #0c2e4f0d}
@media(max-width:600px){.operational-step-dialog .dialog-actions,.operational-final-review-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}.operational-step-dialog .dialog-actions .btn,.operational-final-review-dialog .dialog-actions .btn{width:100%}.operational-step-dialog .dialog-actions .btn.primary{grid-column:1/-1}}


/* AMBER V19.30.105 — confirmación visual antes de avanzar al siguiente procedimiento. */
.amber-advance-confirmation-dialog{width:min(650px,calc(100vw - 28px));max-width:650px;padding:0;border:0;border-radius:22px;background:transparent;color:#17364f;box-shadow:none;overflow:visible}
.amber-advance-confirmation-dialog::backdrop{background:rgba(6,27,45,.48);backdrop-filter:blur(3px)}
.amber-advance-confirmation-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:24px;border:1px solid #a9cce7;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(4,31,55,.32)}
.amber-advance-confirmation-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e8f4fc;color:#176ba4;font-size:2rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(23,107,164,.12)}
.amber-advance-confirmation-copy{display:grid;gap:7px;align-content:start}
.amber-advance-confirmation-kicker{color:#286d9f;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.amber-advance-confirmation-copy h2{margin:0;color:#0d4776;font-size:1.45rem}
.amber-advance-confirmation-copy p{margin:0;color:#3e566a;line-height:1.6;font-size:1rem}
.amber-advance-confirmation-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;padding-top:5px}
.amber-advance-confirmation-actions .btn{min-height:48px;padding:12px 20px;font-weight:900}
.amber-advance-no{background:#edf2f6;color:#17466d;border-color:#c7d6e2}
.amber-advance-yes{min-width:170px}
@media(max-width:600px){.amber-advance-confirmation-card{grid-template-columns:50px minmax(0,1fr);gap:13px;padding:18px;border-radius:18px}.amber-advance-confirmation-icon{width:48px;height:48px;font-size:1.5rem}.amber-advance-confirmation-copy h2{font-size:1.25rem}.amber-advance-confirmation-copy p{font-size:.94rem}.amber-advance-confirmation-actions{display:grid;grid-template-columns:1fr}.amber-advance-confirmation-actions .btn{width:100%}.amber-advance-yes{grid-row:1}}
@media(prefers-reduced-motion:reduce){.amber-advance-confirmation-dialog::backdrop{backdrop-filter:none}}


/* AMBER V19.30.107 — fotografías como archivos adjuntos, sin miniaturas automáticas. */
.amber-photo-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 8px}.amber-photo-section-head>div{display:grid;gap:2px}.amber-photo-section-head b{color:#0c2e4f}.amber-photo-section-head span{color:#607b91;font-size:.8rem}.amber-photo-section-head strong{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#e6f2fa;color:#155985;font-size:.86rem}
.amber-photo-attachment{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #bfd7e8;border-radius:13px;background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 3px 10px rgba(12,46,79,.05)}
.amber-photo-attachment.compact{grid-template-columns:42px minmax(0,1fr) auto;padding:10px 12px;box-shadow:none}
.amber-photo-attachment-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e3f1fb;color:#145b8d;font-size:21px;border:1px solid #bfdbed}.amber-photo-attachment.compact .amber-photo-attachment-icon{width:38px;height:38px;font-size:18px;border-radius:10px}
.amber-photo-attachment-copy{display:grid;gap:2px;min-width:0}.amber-photo-attachment-copy small{color:#52758e;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.amber-photo-attachment-copy b{color:#123f6b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amber-photo-attachment-copy span{color:#6a7f90;font-size:.78rem}.amber-photo-attachment-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.amber-photo-view-button{background:#e2eff8;color:#124f7b;border:1px solid #b6d3e8}
.camera-capture-list{display:grid;gap:10px}.camera-capture-item{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #bfd7e8;border-radius:13px;background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 3px 10px rgba(12,46,79,.05)}.camera-capture-preview{display:none!important}.camera-capture-info small{color:#52758e!important}.camera-capture-info span{color:#6a7f90;font-size:.78rem}.camera-capture-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.camera-attachment-icon{width:44px;height:44px}
.operational-record-files{display:grid!important;grid-template-columns:1fr!important;gap:9px}.operational-record-file,.operational-record-file a{display:contents!important}.operational-record-file img{display:none!important}.operational-record-files .amber-photo-attachment{margin:0}
.workflow-files.amber-photo-compact-list{display:grid;gap:7px}.workflow-files.amber-photo-compact-list a{display:none}.workflow-files .amber-photo-attachment{max-width:760px}
.photo-strip.amber-management-attachments{display:grid;gap:8px;overflow:visible;margin-top:14px;padding:12px;border:1px solid #c8dfef;border-radius:14px;background:#f7fbfe}.photo-strip.amber-management-attachments img{display:none!important}.photo-strip.amber-management-attachments .amber-photo-attachment{max-width:840px}
.evidence-thumbs.amber-evidence-attachments{display:grid;gap:8px;min-width:280px}.evidence-thumbs.amber-evidence-attachments img{display:none!important}.amber-generic-attachment{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #c9dce9;border-radius:10px;background:#fff;text-decoration:none;color:#123f6b}.amber-generic-attachment div{display:grid;min-width:0}.amber-generic-attachment small{color:#627b8e}.amber-generic-attachment b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amber-generic-attachment strong{font-size:.8rem;color:#175d8d}
.amber-photo-viewer-dialog{width:min(1080px,96vw);max-width:1080px;padding:0;overflow:hidden;border-radius:20px}.amber-photo-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #d7e4ed;background:#f6fbfe}.amber-photo-viewer-head small{color:#5a778d;font-weight:700}.amber-photo-viewer-head h2{margin:3px 0 0;font-size:1.25rem;overflow-wrap:anywhere}.amber-photo-viewer-body{display:grid;place-items:center;min-height:300px;max-height:72vh;padding:18px;background:#eaf1f6;overflow:auto}.amber-photo-viewer-body img{display:block;max-width:100%;max-height:66vh;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 10px 35px rgba(0,0,0,.16)}.amber-photo-viewer-status{padding:18px 22px;border-radius:12px;background:#fff;color:#45657e;font-weight:700}.amber-photo-viewer-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 18px;border-top:1px solid #d7e4ed;background:#fff}
@media(max-width:680px){.amber-photo-attachment,.amber-photo-attachment.compact,.camera-capture-item{grid-template-columns:42px minmax(0,1fr)}.amber-photo-attachment-actions,.camera-capture-actions{grid-column:1/-1;width:100%;justify-content:stretch}.amber-photo-attachment-actions .btn,.camera-capture-actions .btn{flex:1}.amber-photo-attachment-copy span{display:none}.amber-photo-viewer-body{min-height:220px;padding:10px}.amber-photo-viewer-actions>*{flex:1;text-align:center}.amber-photo-section-head{align-items:flex-start}}


/* AMBER V19.30.108 — resumen de la gestión al registrar retorno y consulta completa bajo demanda. */
.workflow-steps-completed-summary{display:block!important}
.operational-return-summary{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;padding:20px;border:1px solid #8fc2e7;border-radius:19px;background:linear-gradient(145deg,#f5fbff,#eaf5fd);box-shadow:0 8px 24px rgba(10,65,105,.08)}
.operational-return-check{display:grid;place-items:center;width:52px;height:52px;margin-top:4px;border-radius:50%;background:#2579b7;color:#fff;font-size:2rem;font-weight:900;box-shadow:0 7px 18px rgba(37,121,183,.22)}
.operational-return-main{display:grid;gap:14px;min-width:0}
.operational-return-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.operational-return-head h3{margin:0 0 5px;color:#0d3e69;font-size:1.25rem}
.operational-return-head span{color:#58758d}
.operational-return-state{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid #9bc6a8;border-radius:999px;background:#eef9f1;color:#1f6b3f!important;font-size:.78rem;font-weight:900;white-space:nowrap}
.operational-return-data{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}
.operational-return-data>span{display:grid;gap:5px;min-width:0;padding:12px 13px;border:1px solid #bfd9eb;border-radius:13px;background:#f8fcff}
.operational-return-data small{color:#547691;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.operational-return-data b{color:#073a67;font-size:1rem;overflow-wrap:anywhere}
.operational-return-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px;color:#1d4b70}
.operational-return-footer>span{font-weight:700}
.operational-return-footer .btn{min-width:150px}
.operational-information-dialog{width:min(1180px,96vw);max-width:1180px;max-height:94vh;padding:0;border:0;border-radius:22px;background:#fff;overflow:auto}
.operational-information-dialog::backdrop{background:rgba(5,29,48,.55);backdrop-filter:blur(3px)}
.operational-information-shell{display:grid;min-height:320px}
.operational-information-head{position:sticky;top:0;z-index:4;margin:0;padding:19px 22px;border-bottom:1px solid #d4e2ec;background:#f7fbfe}
.operational-information-head small{color:#5c788d;font-weight:800}
.operational-information-head h2{margin:4px 0 0;color:#0d4776}
.operational-information-content{display:grid;gap:18px;padding:20px 22px 26px;background:#fff}
.operational-information-summary{display:grid;gap:14px;padding:18px;border:1px solid #a8cde8;border-radius:17px;background:linear-gradient(145deg,#f8fcff,#ecf7fe)}
.operational-information-summary-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.operational-information-summary-title small{color:#5b7890;font-weight:800}
.operational-information-summary-title h3{margin:4px 0 0;color:#0b426f}
.operational-information-summary-title>span{padding:7px 11px;border-radius:999px;background:#dff0fb;color:#155f92;font-size:.82rem;font-weight:900;white-space:nowrap}
.operational-information-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}
.operational-information-grid>span{display:grid;gap:4px;min-width:0;padding:11px 12px;border:1px solid #c4dcea;border-radius:12px;background:#fff}
.operational-information-grid small{color:#55758d;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.025em}
.operational-information-grid b{color:#0b3e68;overflow-wrap:anywhere}
.operational-information-records{display:grid;gap:11px}
.operational-information-records-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px}
.operational-information-records-head>div{display:grid;gap:3px}.operational-information-records-head b{color:#0d416d;font-size:1.08rem}.operational-information-records-head span{color:#617b90;font-size:.85rem}.operational-information-records-head>strong{display:grid;place-items:center;min-width:48px;height:36px;padding:0 10px;border-radius:999px;background:#e4f2fb;color:#155d8e}
.operational-information-step{display:grid;grid-template-columns:45px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #c9dce9;border-radius:14px;background:#fff}
.operational-information-step.done{border-color:#a9cfb5;background:#f8fcf9}
.operational-information-step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e7eef4;color:#174c77;font-weight:900}
.operational-information-step.done .operational-information-step-number{background:#17643c;color:#fff}
.operational-information-step-body{display:grid;gap:9px;min-width:0}
.operational-information-step-body>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.operational-information-step-body>header>div{display:grid;gap:2px}.operational-information-step-body small{color:#607b90;font-weight:800}.operational-information-step-body b{color:#153d5e}.operational-information-step-body>header>span{color:#5c7588;font-size:.82rem;text-align:right}.operational-information-step-body>p{margin:0;padding:10px 12px;border-radius:10px;background:#eef6fb;color:#274c67;line-height:1.5}
.operational-information-files{display:grid;gap:8px;padding-top:2px}
.operational-information-actions{position:sticky;bottom:0;z-index:4;margin:0;padding:14px 22px;border-top:1px solid #d4e2ec;background:#fff}
@media(max-width:1050px){.operational-return-data,.operational-information-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:720px){.operational-return-summary{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:14px}.operational-return-check{width:42px;height:42px;font-size:1.45rem}.operational-return-head,.operational-return-footer,.operational-information-summary-title,.operational-information-step-body>header{display:grid}.operational-return-state{justify-self:start}.operational-return-data,.operational-information-grid{grid-template-columns:1fr}.operational-return-footer .btn{width:100%}.operational-information-content{padding:14px}.operational-information-dialog{width:calc(100vw - 16px);max-height:96vh}.operational-information-step{grid-template-columns:38px minmax(0,1fr);padding:12px}.operational-information-step-number{width:34px;height:34px}.operational-information-step-body>header>span{text-align:left}.operational-information-actions .btn{width:100%}}


/* AMBER V19.30.109 — ancho completo y tarjetas operativas compactas. */
main{
  width:100%;
  max-width:none;
  margin:0;
  padding:16px 18px 28px;
}
.page,.page.active,.panel,.management-list,.table-wrap{
  width:100%;
  max-width:none;
}

/* Mayor densidad para visualizar más Aforos e Inspecciones en una sola pantalla. */
#auxiliaryOperationalWorkflows,.management-list{
  gap:9px;
}
.auxiliary-operation-card{
  padding:10px 12px;
  border-radius:13px;
  box-shadow:0 4px 12px rgba(20,74,122,.06);
}
.auxiliary-operation-card>header{
  margin-bottom:6px;
  gap:9px;
}
.auxiliary-operation-card>header div{
  gap:1px;
}
.auxiliary-operation-card>header b{
  font-size:.94rem;
}
.auxiliary-operation-card>header span{
  font-size:.78rem;
}
.operation-schedule{
  margin-bottom:7px;
  padding:6px 9px;
  font-size:.78rem;
  border-radius:8px;
}
.operational-workflow{
  margin:7px 0;
  padding:8px 10px;
  border-radius:12px;
}
.operational-workflow.compact{
  margin:5px 0 0;
}
.operational-workflow-head{
  grid-template-columns:minmax(180px,1fr) auto;
  gap:8px;
  margin-bottom:7px;
}
.operational-workflow-head>div:first-child{
  gap:1px;
}
.operational-workflow-head>div:first-child>b{
  font-size:.9rem;
}
.operational-workflow-head span{
  font-size:.72rem;
}
.operational-workflow-head-actions{
  gap:7px;
  justify-content:flex-end;
}
.operational-documents-view-btn{
  padding:6px 9px;
  font-size:.72rem;
}
.workflow-progress{
  width:120px;
  height:6px;
}
.workflow-steps{
  gap:6px;
}
.workflow-step{
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:8px;
  padding:7px 9px;
  border-radius:10px;
}
.workflow-step-icon{
  width:27px;
  height:27px;
  font-size:.78rem;
}
.workflow-step.current .workflow-step-icon{
  border-width:2px;
}
.workflow-step-content{
  gap:1px;
}
.workflow-step-content>b{
  font-size:.88rem;
  line-height:1.15;
}
.workflow-step-content>small{
  font-size:.7rem;
}
.workflow-step-content p{
  margin:2px 0 0;
  font-size:.75rem;
  line-height:1.25;
}
.workflow-operation-data{
  grid-template-columns:repeat(5,minmax(95px,1fr));
  gap:5px;
  margin-top:5px;
}
.workflow-operation-data span{
  gap:1px;
  padding:5px 7px;
  border-radius:8px;
}
.workflow-operation-data small{
  font-size:.61rem;
}
.workflow-operation-data b{
  font-size:.78rem;
  line-height:1.15;
}
.workflow-step-button{
  padding:7px 10px;
  min-height:34px;
  font-size:.76rem;
}

/* Mensajería y rutas culminadas en formato más compacto. */
.management-route-option{
  padding:10px 11px;
  border-radius:11px;
}
.management-route-option.status-completada{
  padding:8px 10px;
}
.route-option-head{
  gap:7px;
}
.route-option-head h4{
  margin:3px 0 1px;
  font-size:.9rem;
}
.route-option-head small{
  font-size:.72rem;
}
.route-option-number,.route-option-status,.messaging-badge{
  padding:3px 7px;
  font-size:.68rem;
}
.route-option-metrics{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:5px;
  margin:7px 0;
}
.route-option-metrics span{
  padding:5px 7px;
  border-radius:8px;
}
.route-option-metrics small{
  font-size:.64rem;
}
.route-option-metrics b{
  margin-top:1px;
  font-size:.78rem;
  line-height:1.15;
}
.messaging-route-detail{
  grid-template-columns:repeat(4,minmax(125px,1fr));
  gap:6px;
  margin:7px 0;
}
.messaging-route-detail>div{
  padding:6px 8px;
  border-radius:8px;
}
.messaging-route-detail small{
  font-size:.64rem;
}
.messaging-route-detail b,.messaging-route-detail div{
  font-size:.76rem;
}
.route-option-actions{
  gap:5px;
  margin-top:7px;
}
.route-option-actions .btn{
  padding:6px 8px;
  font-size:.7rem;
}

@media(max-width:900px){
  main{padding:12px}
  .workflow-operation-data{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .messaging-route-detail{grid-template-columns:repeat(2,minmax(120px,1fr))}
}
@media(max-width:600px){
  main{padding:9px}
  .auxiliary-operation-card{padding:9px}
  .operational-workflow-head{grid-template-columns:1fr}
  .operational-workflow-head-actions{justify-content:stretch}
  .operational-documents-view-btn{width:100%}
  .workflow-progress{width:100%}
  .workflow-step{grid-template-columns:27px minmax(0,1fr)}
  .workflow-step-button{grid-column:1/-1;width:100%}
  .workflow-operation-data,.messaging-route-detail{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .workflow-operation-data,.messaging-route-detail{grid-template-columns:1fr}
}

/* Resúmenes culminados: misma información en menos altura. */
.operational-return-summary{
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  padding:10px 12px;
  border-radius:13px;
  box-shadow:0 4px 12px rgba(10,65,105,.06);
}
.operational-return-check{
  width:34px;
  height:34px;
  margin-top:1px;
  font-size:1.25rem;
  box-shadow:none;
}
.operational-return-main{
  gap:7px;
}
.operational-return-head{
  gap:9px;
}
.operational-return-head h3{
  margin:0 0 2px;
  font-size:.94rem;
}
.operational-return-head span{
  font-size:.72rem;
}
.operational-return-state{
  min-height:25px;
  padding:4px 8px;
  font-size:.67rem;
}
.operational-return-data{
  grid-template-columns:repeat(5,minmax(100px,1fr));
  gap:5px;
}
.operational-return-data>span{
  gap:1px;
  padding:6px 8px;
  border-radius:8px;
}
.operational-return-data small{
  font-size:.61rem;
}
.operational-return-data b{
  font-size:.78rem;
  line-height:1.15;
}
.operational-return-footer{
  gap:8px;
  font-size:.75rem;
}
.operational-return-footer .btn{
  min-width:120px;
  padding:6px 9px;
  font-size:.72rem;
}
.management-card{
  padding:11px 12px;
  border-radius:13px;
}
@media(max-width:900px){
  .operational-return-data{grid-template-columns:repeat(2,minmax(120px,1fr))}
}
@media(max-width:600px){
  .operational-return-summary{grid-template-columns:32px minmax(0,1fr);padding:9px}
  .operational-return-check{width:30px;height:30px;font-size:1rem}
  .operational-return-head,.operational-return-footer{align-items:stretch;flex-direction:column}
  .operational-return-data{grid-template-columns:1fr 1fr}
  .operational-return-footer .btn{width:100%}
}
@media(max-width:420px){.operational-return-data{grid-template-columns:1fr}}


/* AMBER V19.30.110 — botones Ocultar/Mostrar información en todos los módulos. */
.amber-collapsible-information{position:relative}
.amber-collapse-host{min-width:0}
.amber-visibility-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  white-space:nowrap;
  padding:6px 10px;
  border:1px solid #a9c9df;
  background:#eef7fd;
  color:#155783;
  font-size:.75rem;
  line-height:1.1;
  box-shadow:none;
}
.amber-visibility-toggle:hover{background:#dff0fb;border-color:#6ba8cf}
.amber-visibility-toggle span{font-size:.9rem;line-height:1}
.amber-module-visibility-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0 0 9px;
  min-height:30px;
}
.amber-module-visibility-bar .amber-collapse-label{
  display:none;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#123e61;
  font-weight:800;
}
.amber-module-visibility-bar.collapsed{justify-content:space-between}
.amber-module-visibility-bar.collapsed .amber-collapse-label{display:block}
.amber-collapsible-information.amber-information-collapsed > :not([data-amber-collapse-header]){display:none!important}
.amber-information-collapsed{padding-bottom:10px!important}
.operational-registered-head .amber-visibility-toggle,
.operational-information-records-head .amber-visibility-toggle{margin-left:auto}
.operational-workflow-head-actions .amber-visibility-toggle{order:-1}
.auxiliary-operation-card>header .amber-visibility-toggle,
.management-card>header .amber-visibility-toggle,
.focused-messaging-card>header .amber-visibility-toggle,
.route-card-head .amber-visibility-toggle{margin-left:auto}
@media(max-width:720px){
  .amber-visibility-toggle{width:100%;padding:8px 10px}
  .amber-collapse-host{align-items:stretch!important;flex-direction:column!important}
  .operational-workflow-head-actions .amber-visibility-toggle{width:auto;flex:1 1 160px}
  .amber-module-visibility-bar{align-items:stretch;flex-direction:column}
  .amber-module-visibility-bar .amber-collapse-label{white-space:normal}
}


/* AMBER V19.30.113 — fila única compacta con información completa y detalle en ventana separada. */
.amber-registry-module{
  width:100%;
  border:1px solid #cbd9e4;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 5px 18px rgba(12,46,79,.07);
}
.amber-registry-topline{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(280px,430px);
  align-items:center;
  gap:14px;
  padding:11px 14px 7px;
  color:#4f6475;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.amber-registry-topline b{color:var(--navy2);font-size:.92rem}.amber-registry-topline span{color:#718292}
.amber-registry-topline select,.amber-registry-filters select,.amber-registry-filters input{height:34px;padding:6px 10px;border-radius:5px;font-size:.78rem}
.amber-registry-filters{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1.35fr) 150px;
  gap:10px;
  align-items:end;
  padding:4px 14px 10px;
}
.amber-registry-filters label{gap:3px;color:#51697d;font-size:.68rem;text-transform:uppercase;letter-spacing:.035em}
.amber-registry-search{position:relative}.amber-registry-search input{padding-right:36px}.amber-registry-search button{position:absolute;right:0;top:0;width:34px;height:34px;display:grid;place-items:center;border:0;border-left:1px solid #b9c7d2;background:#fff;color:var(--navy2);font-size:1.05rem;font-style:normal;font-weight:900;cursor:pointer}.amber-registry-search button:hover{background:#e8f3fa;color:var(--copper)}
.amber-registry-scroll{width:100%;overflow-x:auto;border-top:1px solid #d6e0e8;border-bottom:1px solid #d6e0e8}
.amber-registry-table{min-width:1235px;width:100%}
.amber-registry-header,.amber-registry-row{
  display:grid;
  grid-template-columns:112px minmax(155px,1.05fr) minmax(135px,.9fr) minmax(135px,.9fr) 105px 110px 115px 125px 142px;
  align-items:stretch;
}
.amber-registry-header{
  color:#173750;
  font-size:.73rem;
  font-weight:800;
  background:linear-gradient(180deg,#edf3f7 0%,#d7e0e6 100%);
  border-bottom:1px solid #c4d0da;
}
.amber-registry-header span{display:flex;align-items:center;min-height:36px;padding:5px 7px;border-right:1px solid #e3e8ec}
.amber-registry-record{border-bottom:1px solid #dce4ea}.amber-registry-record.odd>.amber-registry-row{background:#fff}.amber-registry-record.even>.amber-registry-row{background:#f1f4f6}.amber-registry-record:hover>.amber-registry-row{background:#eaf4fa}
.amber-registry-row{height:70px;min-height:70px;max-height:70px}.amber-registry-cell,.amber-registry-actions{min-width:0;height:70px;overflow:hidden;padding:5px 7px;border-right:1px solid #e2e7eb;display:flex;flex-direction:column;justify-content:center;gap:2px}
.amber-registry-cell small,.amber-registry-actions>small{display:none;color:#728596;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em}
.amber-registry-cell b{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#26455d;font-size:.7rem;line-height:1.16;white-space:normal}.amber-registry-cell>span:not(.status){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7f8f;font-size:.61rem;line-height:1.15}.amber-registry-document b{-webkit-line-clamp:1;white-space:nowrap}.amber-registry-id b{font-size:.72rem}.amber-registry-id b{color:#1382a0;text-decoration:none}.amber-registry-id span{font-size:.68rem;color:#566c7d}.amber-registry-reference b{font-weight:500}.amber-registry-status{align-items:flex-start}.amber-registry-status .status{padding:4px 7px;font-size:.64rem;text-transform:uppercase}
.amber-registry-actions>div{display:flex;align-items:center;gap:4px;white-space:nowrap}.amber-registry-actions .small-btn{min-height:26px;padding:4px 6px;border:1px solid #b9c9d5;background:#fff;color:var(--navy2);font-size:.61rem}.amber-registry-actions .amber-registry-history{width:27px;padding:4px}.amber-registry-actions .amber-registry-view{background:var(--navy2);border-color:var(--navy2);color:#fff}.amber-registry-actions .small-btn:hover{border-color:var(--copper);color:var(--copper)}.amber-registry-actions .amber-registry-view:hover{color:#fff;background:var(--navy)}
.amber-registry-detail{padding:10px 12px;background:#eef6fb;border-top:2px solid #78abd0}.amber-registry-detail>.management-card{margin:0;background:#fff;border-radius:9px;box-shadow:none}.amber-registry-detail>.management-card>header{background:#f4f8fb;border-bottom:1px solid #d6e3ec;padding:7px 9px;margin:-1px -1px 8px;border-radius:8px 8px 0 0}
.amber-registry-empty{padding:32px;text-align:center;color:#60788b;background:#f7fafc}
.amber-registry-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;color:#62788a;font-size:.72rem}.amber-registry-footer>div{display:flex;align-items:center;gap:8px}.amber-registry-footer b{color:#29465e;font-size:.7rem}.amber-registry-footer .small-btn{padding:5px 8px;font-size:.67rem;border:1px solid #c3d0da;background:#f5f8fa}.amber-registry-footer .small-btn:disabled{opacity:.45;cursor:not-allowed}

/* Las tablas existentes adoptan el mismo modelo profesional de la referencia. */
.table-wrap{padding:0;border-radius:10px;overflow:auto;box-shadow:0 4px 14px rgba(12,46,79,.05)}
table th{padding:8px 9px;background:linear-gradient(180deg,#edf3f7,#d8e0e6);color:#173750;border-right:1px solid #e4e9ed;font-size:.72rem}
table td{padding:7px 9px;color:#344f64;font-size:.75rem;border-right:1px solid #e5e9ec}
table tbody tr:nth-child(even) td{background:#f1f4f6}table tbody tr:nth-child(odd) td{background:#fff}table tbody tr:hover td{background:#eaf4fa}
.table-actions .btn,.table-actions .small-btn,td .btn{padding:5px 7px;border-radius:7px;font-size:.67rem;min-height:28px}
.toolbar{align-items:end;padding:8px 10px;border:1px solid #d7e1e8;border-radius:9px;background:#f8fafb;margin-bottom:10px}.toolbar input,.toolbar select{height:34px;padding:6px 9px;border-radius:6px;font-size:.76rem}.toolbar .btn{padding:6px 9px;border-radius:7px;font-size:.7rem}

/* Selector del auxiliar en formato de registro compacto. */
.amber-aux-registry{overflow-x:auto;border-radius:10px}.amber-aux-registry>.aux-management-selector-head{position:sticky;left:0}.amber-aux-registry-header{min-width:1080px;display:grid;grid-template-columns:minmax(230px,1.3fr) 180px 155px 180px minmax(210px,1fr) 180px;background:linear-gradient(180deg,#edf3f7,#d8e0e6);border:1px solid #c9d5dd;border-bottom:0;border-radius:8px 8px 0 0;color:#173750;font-size:.7rem;font-weight:800}.amber-aux-registry-header span{padding:8px 10px;border-right:1px solid #e4e9ed}
.amber-aux-registry .aux-management-selector-card{min-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) 180px;margin:0;border-radius:0;border:1px solid #d9e1e7;border-bottom:0;box-shadow:none;padding:0;background:#fff}.amber-aux-registry .aux-management-selector-card:nth-of-type(even){background:#f2f5f7}.amber-aux-registry .aux-management-selector-main{display:grid;grid-template-columns:minmax(230px,1.3fr) 180px 155px 180px minmax(210px,1fr);align-items:stretch}.amber-aux-registry .aux-management-selector-main>h3,.amber-aux-registry .aux-management-type{grid-column:1;padding-left:10px}.amber-aux-registry .aux-management-type{align-self:end;padding-top:7px;font-size:.65rem}.amber-aux-registry .aux-management-selector-main>h3{margin:0;padding-bottom:7px;font-size:.76rem}.amber-aux-registry .aux-management-selector-data{display:contents}.amber-aux-registry .aux-management-selector-data>span{padding:7px 10px;border-left:1px solid #e2e7eb;display:flex;justify-content:center;flex-direction:column}.amber-aux-registry .aux-management-selector-data small{display:none}.amber-aux-registry .aux-management-selector-data b{font-size:.72rem}.amber-aux-registry .aux-management-selector-actions{padding:6px 8px;border-left:1px solid #e2e7eb;display:flex;align-items:center;justify-content:space-between;gap:6px}.amber-aux-registry .aux-management-selector-actions .btn{padding:6px 8px;font-size:.68rem}

.amber-registry-detail-dialog{width:min(1500px,97vw);max-width:1500px;height:min(900px,94vh);max-height:94vh;padding:0;border-radius:14px;overflow:hidden}.amber-registry-detail-dialog::backdrop{background:rgba(0,26,47,.66)}.amber-registry-detail-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#edf5fa;border-bottom:1px solid #cbdbe6}.amber-registry-detail-dialog-head small{color:#667f91}.amber-registry-detail-dialog-head h2{margin:2px 0 0;font-size:1.05rem}.amber-registry-detail-dialog-body{height:calc(94vh - 116px);overflow:auto;padding:10px;background:#f7fafc}.amber-registry-detail-dialog-body>.management-card{margin:0;max-width:none;box-shadow:none}.amber-registry-detail-dialog-actions{display:flex;justify-content:flex-end;padding:8px 12px;border-top:1px solid #d5e0e8;background:#fff}.amber-registry-detail-dialog-actions .btn{padding:6px 10px;font-size:.7rem}

@media(max-width:900px){
  .amber-registry-topline{grid-template-columns:1fr}.amber-registry-filters{grid-template-columns:1fr 1fr}.amber-registry-page-size{grid-column:1/-1;max-width:180px}.amber-registry-cell small,.amber-registry-actions>small{display:none}
}
@media(max-width:620px){
  .amber-registry-topline,.amber-registry-filters,.amber-registry-footer{display:grid;grid-template-columns:1fr}.amber-registry-footer>div{justify-content:space-between}.amber-registry-page-size{max-width:none}.amber-registry-topline select{width:100%}
}


/* AMBER V19.30.114 — selector de gestiones en una sola línea ultracompacta. */
.amber-aux-registry{
  overflow-x:auto;
  border-radius:8px;
}
.amber-aux-registry>.aux-management-selector-head{
  position:sticky;
  left:0;
  z-index:2;
  padding:8px 10px;
  border-radius:8px;
}
.amber-aux-registry-header{
  min-width:1180px;
  height:38px;
  min-height:38px;
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) 170px 170px 190px minmax(260px,1.15fr) 205px;
  align-items:stretch;
  border-radius:7px 7px 0 0;
  font-size:.68rem;
  line-height:1;
}
.amber-aux-registry-header span{
  min-width:0;
  display:flex;
  align-items:center;
  padding:0 9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.amber-aux-registry .aux-management-selector-card{
  min-width:1180px;
  height:42px;
  min-height:42px;
  max-height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 205px;
  align-items:stretch;
  margin:0;
  padding:0;
  gap:0;
  border-radius:0;
  border:1px solid #d9e1e7;
  border-top:0;
  box-shadow:none;
  overflow:hidden;
}
.amber-aux-registry .aux-management-selector-main{
  min-width:0;
  height:42px;
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) 170px 170px 190px minmax(260px,1.15fr);
  align-items:stretch;
}
.amber-aux-registry .aux-management-selector-identity{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 9px;
  overflow:hidden;
  white-space:nowrap;
  border-right:1px solid #e2e7eb;
  color:#173f63;
}
.amber-aux-registry .aux-management-selector-identity b{
  flex:0 0 auto;
  color:#0f5e93;
  font-size:.67rem;
  line-height:1;
  text-transform:none;
}
.amber-aux-registry .aux-management-selector-identity span{
  flex:0 0 auto;
  color:#7a8d9d;
  font-size:.65rem;
}
.amber-aux-registry .aux-management-selector-identity strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#173f63;
  font-size:.69rem;
  line-height:1;
}
.amber-aux-registry .aux-management-selector-data{
  display:contents;
}
.amber-aux-registry .aux-management-selector-data>span{
  min-width:0;
  height:42px;
  display:flex;
  justify-content:center;
  padding:0 9px;
  border:0;
  border-right:1px solid #e2e7eb;
  border-radius:0;
  background:transparent;
  overflow:hidden;
}
.amber-aux-registry .aux-management-selector-data small{
  display:none;
}
.amber-aux-registry .aux-management-selector-data b{
  display:block;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#183e5d;
  font-size:.67rem;
  line-height:1.05;
}
.amber-aux-registry .aux-management-selector-actions{
  min-width:0;
  height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  padding:0 7px;
  border-left:0;
  overflow:hidden;
}
.amber-aux-registry .aux-management-selector-actions .status{
  min-width:0;
  max-width:100%;
  display:block;
  padding:4px 6px;
  border-radius:999px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.59rem;
  line-height:1.05;
}
.amber-aux-registry .aux-management-selector-actions .btn{
  min-height:24px;
  height:24px;
  padding:3px 7px;
  border-radius:7px;
  font-size:.59rem;
  line-height:1;
  white-space:nowrap;
}
.amber-aux-registry .empty-state{
  min-width:1180px;
}
@media(max-width:900px){
  .amber-aux-registry .aux-management-selector-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 205px;
    align-items:stretch;
  }
  .amber-aux-registry .aux-management-selector-main{
    display:grid;
    grid-template-columns:minmax(280px,1.35fr) 170px 170px 190px minmax(260px,1.15fr);
  }
  .amber-aux-registry .aux-management-selector-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    min-width:0;
  }
}


/* AMBER V19.30.115 — fila única ultracompacta en todos los módulos del sistema. */
:root{--amber-ultra-row-height:42px}

/* Las tablas de todos los módulos mantienen una sola línea y altura uniforme. */
.table-wrap table tbody tr,
.amber-registry-table .amber-registry-row{
  height:var(--amber-ultra-row-height);
  min-height:var(--amber-ultra-row-height);
  max-height:var(--amber-ultra-row-height);
}
.table-wrap table tbody td{
  height:var(--amber-ultra-row-height);
  max-height:var(--amber-ultra-row-height);
  padding:3px 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.68rem;
  line-height:1.05;
}
.table-wrap table tbody td>small,
.table-wrap table tbody td>b,
.table-wrap table tbody td>span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.05;
}
.table-wrap table tbody td small{display:block;font-size:.59rem}
.table-wrap table tbody details{display:inline-block;max-width:100%;margin:0}
.table-wrap table tbody details:not([open])>*:not(summary){display:none}
.table-wrap table tbody summary{font-size:.6rem;white-space:nowrap}
.table-wrap table .btn,
.table-wrap table .small-btn,
.table-actions .btn,
.table-actions .small-btn{
  min-height:23px;
  height:23px;
  padding:2px 6px;
  border-radius:6px;
  font-size:.58rem;
  line-height:1;
  white-space:nowrap;
}

/* Filas sencillas de catálogos, contactos, alertas y listas administrativas. */
.list-row,.catalog-row,.credential-type-item,.work-schedule-item,.recipient-option,
.messaging-document-row,.messaging-review-row,.expense-item-row{
  min-height:var(--amber-ultra-row-height);
  padding:4px 7px!important;
  margin:2px 0!important;
  border-radius:7px!important;
  gap:7px!important;
  overflow:hidden;
}
.list-row>div,.catalog-row>div,.credential-type-item>div,.work-schedule-item>div,
.recipient-option>span,.messaging-document-row>div,.messaging-review-row>div,
.expense-item-row>div{min-width:0;overflow:hidden}
.list-row b,.list-row span,.catalog-row b,.catalog-row span,
.credential-type-item b,.credential-type-item span,.work-schedule-item b,.work-schedule-item span,
.recipient-option b,.recipient-option small,.messaging-document-row b,.messaging-document-row span,
.messaging-review-row b,.messaging-review-row span,.expense-item-row b,.expense-item-row span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.66rem;
  line-height:1.05;
}
.list-row .btn,.catalog-row .btn,.credential-type-item .btn,.work-schedule-item .btn,
.recipient-option .btn,.messaging-document-row .btn,.messaging-review-row .btn,
.expense-item-row .btn{
  min-height:23px;height:23px;padding:2px 6px;border-radius:6px;font-size:.58rem;white-space:nowrap
}

/* Resumen universal de una sola línea para tarjetas de Aforo, Inspección, Mensajería y demás módulos. */
.amber-system-ultra-card{
  position:relative;
  width:100%;
  margin:2px 0!important;
  padding:0!important;
  border-radius:7px!important;
  overflow:hidden;
  box-shadow:none!important;
}
.amber-system-ultra-summary{
  width:100%;
  min-width:1120px;
  height:var(--amber-ultra-row-height);
  min-height:var(--amber-ultra-row-height);
  display:grid;
  grid-template-columns:minmax(250px,1.45fr) minmax(145px,.82fr) minmax(150px,.88fr) minmax(170px,.95fr) minmax(230px,1.25fr) minmax(145px,.8fr) 62px;
  align-items:stretch;
  background:#fff;
  color:#173f63;
}
.amber-system-ultra-card:nth-child(even)>.amber-system-ultra-summary{background:#f2f5f7}
.amber-system-ultra-summary>span,
.amber-system-ultra-summary>div{
  min-width:0;
  display:flex;
  align-items:center;
  padding:0 8px;
  border-right:1px solid #e0e7ec;
  overflow:hidden;
}
.amber-system-ultra-summary b,
.amber-system-ultra-summary strong,
.amber-system-ultra-summary span{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.64rem;
  line-height:1;
}
.amber-system-ultra-summary .amber-ultra-main{gap:5px}
.amber-system-ultra-summary .amber-ultra-main b{color:#0f5e93}
.amber-system-ultra-summary .amber-ultra-main span{color:#788a98}
.amber-system-ultra-summary .amber-ultra-status{justify-content:center}
.amber-system-ultra-summary .status{
  display:block;
  max-width:100%;
  padding:4px 6px;
  border-radius:999px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.56rem;
  line-height:1;
}
.amber-system-ultra-toggle{
  align-self:center;
  justify-self:center;
  width:48px;
  min-width:48px;
  height:23px;
  min-height:23px;
  padding:2px 5px!important;
  border-radius:6px!important;
  font-size:.56rem!important;
  line-height:1!important;
  white-space:nowrap;
}
.amber-system-ultra-card.amber-system-ultra-collapsed>:not(.amber-system-ultra-summary){display:none!important}
.amber-system-ultra-card.amber-system-ultra-expanded>.amber-system-ultra-summary{
  position:sticky;
  top:0;
  z-index:3;
  border-bottom:2px solid #77acd1;
  background:#eaf4fa;
}
.amber-system-ultra-card.amber-system-ultra-expanded{
  padding-bottom:6px!important;
  box-shadow:0 5px 16px rgba(12,46,79,.08)!important;
}
.amber-system-ultra-card.amber-system-ultra-expanded>:not(.amber-system-ultra-summary){margin-left:7px!important;margin-right:7px!important}

/* Menos espacio entre filas en todos los contenedores operativos. */
.management-list,#auxiliaryOperationalWorkflows,#auxiliaryTracking,#routeMonitorList,
.assignment-route-draft-list,.messaging-wizard-route-list,.operational-information-records,
.operational-registered-records,.grouped-routes-grid,.management-route-options{
  gap:3px!important;
}

/* Botones compactos en todos los listados, sin reducir los botones principales de formularios. */
.amber-system-ultra-card .btn,
.management-list .btn,#auxiliaryOperationalWorkflows .btn,#auxiliaryTracking .btn,#routeMonitorList .btn,
.assignment-route-draft-list .btn,.messaging-wizard-route-list .btn,.grouped-routes-grid .btn,
.management-route-options .btn{
  min-height:23px;
  padding:3px 7px;
  border-radius:6px;
  font-size:.59rem;
  line-height:1;
}

/* El selector de V19.30.114 conserva la misma altura dentro del modelo general. */
.amber-aux-registry .aux-management-selector-card,
.amber-aux-registry .aux-management-selector-main,
.amber-aux-registry .aux-management-selector-data>span,
.amber-aux-registry .aux-management-selector-actions{height:var(--amber-ultra-row-height);min-height:var(--amber-ultra-row-height);max-height:var(--amber-ultra-row-height)}

@media(max-width:900px){
  .amber-system-ultra-card{overflow-x:auto}
  .amber-system-ultra-summary{min-width:1120px}
  .table-wrap table{min-width:max-content}
}

/* AMBER V19.30.117 — Dashboard con filas ultracompactas de aproximadamente 42 px.
   Se conserva la eliminación de Referencia aplicada en V19.30.116 únicamente en Gestiones. */


/* AMBER V19.30.117 — todos los registros repetitivos del Dashboard usan una fila de 42 px. */
#dashboard .executive-operational-bars,
#dashboard .executive-kpi-ranking,
#dashboard .executive-priority-list,
#dashboard .dashboard-office-documents-detail-list,
#dashboard #dashboardImprovementDetailList,
#dashboard .dashboard-gps-alerts,
#dashboard .workday-supervision-list,
#dashboard .operations-control-list,
#dashboard .my-today-routes-list,
#dashboard .tracking-grid,
#dashboard .route-monitor-table,
#dashboard .auxiliary-operational-list,
#dashboard #recent{
  gap:3px!important;
}

#dashboard .executive-operational-bars button,
#dashboard .executive-kpi-ranking button,
#dashboard .executive-priority-card,
#dashboard .dashboard-office-document-row,
#dashboard .improvement-dashboard-row,
#dashboard #recent .list-row{
  width:100%;
  height:var(--amber-ultra-row-height);
  min-height:var(--amber-ultra-row-height);
  max-height:var(--amber-ultra-row-height);
  margin:2px 0!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  overflow:hidden;
  box-sizing:border-box;
}

#dashboard .executive-operational-bars button{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  align-items:center;
  gap:8px;
}
#dashboard .executive-operational-bars button>span{
  min-width:0;
  margin:0;
  align-items:center;
}
#dashboard .executive-operational-bars button>i{
  height:6px;
  margin:0;
}

#dashboard .executive-kpi-ranking button{
  display:grid;
  grid-template-columns:25px minmax(0,1fr) auto;
  gap:7px;
}
#dashboard .executive-kpi-ranking button>strong{
  width:22px;
  height:22px;
  font-size:.6rem;
}

#dashboard .executive-priority-card{
  display:grid;
  grid-template-columns:70px minmax(150px,.85fr) minmax(220px,1.4fr) 95px;
  align-items:center;
  gap:7px;
  border-left-width:4px;
  text-align:left;
}
#dashboard .executive-priority-card>span,
#dashboard .executive-priority-card>b,
#dashboard .executive-priority-card>p,
#dashboard .executive-priority-card>small{
  display:block;
  min-width:0;
  max-width:100%;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.62rem;
  line-height:1;
}

#dashboard .dashboard-office-document-row,
#dashboard .improvement-dashboard-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
#dashboard .dashboard-office-document-row>div,
#dashboard .improvement-dashboard-row>div{
  min-width:0;
  overflow:hidden;
}
#dashboard .dashboard-office-document-row b,
#dashboard .dashboard-office-document-row span,
#dashboard .dashboard-office-document-row small,
#dashboard .dashboard-office-document-row strong,
#dashboard .improvement-dashboard-row b,
#dashboard .improvement-dashboard-row span,
#dashboard .improvement-dashboard-row small,
#dashboard .improvement-dashboard-row strong,
#dashboard #recent .list-row b,
#dashboard #recent .list-row span,
#dashboard #recent .list-row small{
  display:block;
  min-width:0;
  max-width:100%;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.62rem;
  line-height:1.05;
}

/* Las tarjetas complejas del Dashboard quedan cerradas en una sola fila y se abren solo al solicitarlo. */
#dashboard .amber-system-ultra-card{
  min-height:var(--amber-ultra-row-height);
  margin:2px 0!important;
}
#dashboard .amber-system-ultra-summary{
  height:var(--amber-ultra-row-height);
  min-height:var(--amber-ultra-row-height);
  max-height:var(--amber-ultra-row-height);
}
#dashboard .amber-system-ultra-summary b,
#dashboard .amber-system-ultra-summary strong,
#dashboard .amber-system-ultra-summary span{
  font-size:.62rem;
}
#dashboard .amber-system-ultra-toggle,
#dashboard .btn.small-btn,
#dashboard .page-title .btn,
#dashboard .compact-title .btn{
  min-height:23px;
  height:23px;
  padding:2px 6px;
  border-radius:6px;
  font-size:.58rem;
  line-height:1;
}

@media(max-width:900px){
  #dashboard .executive-priority-list,
  #dashboard .dashboard-office-documents-detail-list,
  #dashboard #dashboardImprovementDetailList{
    overflow-x:auto;
  }
  #dashboard .executive-priority-card{min-width:760px}
  #dashboard .dashboard-office-document-row,
  #dashboard .improvement-dashboard-row{min-width:680px}
}


/* AMBER V19.30.118 — DAI, BL y MRN completos y siempre visibles en Gestiones. */
.amber-registry-table{
  min-width:1510px;
}
.amber-registry-header,
.amber-registry-row{
  grid-template-columns:112px minmax(155px,1.05fr) minmax(135px,.9fr) minmax(135px,.9fr) 195px 190px 220px 125px 142px;
}
.amber-registry-cell.amber-registry-document{
  overflow:hidden;
  padding-left:8px;
  padding-right:8px;
}
.amber-registry-cell.amber-registry-document b{
  display:block;
  width:100%;
  max-height:none;
  overflow:visible;
  text-overflow:clip;
  -webkit-box-orient:initial;
  -webkit-line-clamp:unset;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  color:#26455d;
  font-size:.66rem;
  line-height:1.14;
}

/* AMBER V19.30.119 — Gestiones ajustadas para mostrar completa toda la información visible. */
.amber-registry-scroll{
  overflow-x:auto;
  overflow-y:visible;
}
.amber-registry-table{
  width:100%;
  min-width:1475px;
}
.amber-registry-header,
.amber-registry-row{
  grid-template-columns:175px minmax(180px,1fr) 150px 145px 190px 175px 205px 120px 135px;
}
.amber-registry-row{
  height:auto;
  min-height:58px;
  max-height:none;
}
.amber-registry-cell,
.amber-registry-actions{
  height:auto;
  min-height:58px;
  max-height:none;
  overflow:visible;
  padding:7px 8px;
}
.amber-registry-cell b,
.amber-registry-cell>span:not(.status),
.amber-registry-cell.amber-registry-document b,
.amber-registry-cell.amber-registry-id b,
.amber-registry-cell.amber-registry-id span{
  display:block;
  width:100%;
  max-width:100%;
  max-height:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  -webkit-box-orient:initial;
  -webkit-line-clamp:unset;
}
.amber-registry-cell b{
  font-size:.68rem;
  line-height:1.16;
}
.amber-registry-cell.amber-registry-id b{
  font-size:.7rem;
}
.amber-registry-cell.amber-registry-id span{
  margin-top:2px;
  font-size:.61rem;
  line-height:1.15;
}
.amber-registry-actions{
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.amber-registry-actions>div{
  width:100%;
  justify-content:center;
  flex-wrap:nowrap;
}
.amber-registry-actions .amber-registry-view{
  min-width:92px;
  padding-left:5px;
  padding-right:5px;
}
@media(max-width:900px){
  .amber-registry-table{min-width:1475px}
}

/* AMBER V19.30.120 — indicadores del Dashboard y KPI reducidos aproximadamente a la mitad. */
#dashboard .kpi-grid,
#dashboard .executive-dashboard-summary,
#dashboard .auxiliary-status-summary-grid,
#dashboard .dashboard-gps-summary,
#dashboard .workday-punctuality-summary,
#reports .integral-kpi-summary,
#reports .report-kpi-grid{
  gap:6px;
  margin-bottom:8px;
}

#dashboard .kpi-grid article,
#dashboard .executive-dashboard-summary article,
#dashboard .auxiliary-status-summary-grid article,
#dashboard .dashboard-gps-summary article,
#dashboard .workday-punctuality-summary article,
#reports .integral-kpi-summary article,
#reports .report-kpi-grid article{
  min-height:56px;
  height:auto;
  padding:6px 9px;
  border-radius:9px;
  box-shadow:0 2px 7px rgba(12,46,79,.04);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

#dashboard .kpi-grid span,
#dashboard .executive-dashboard-summary span,
#dashboard .auxiliary-status-summary-grid span,
#dashboard .dashboard-gps-summary span,
#dashboard .workday-punctuality-summary span,
#reports .integral-kpi-summary span,
#reports .report-kpi-grid span{
  margin:0;
  font-size:.67rem;
  line-height:1.05;
}

#dashboard .kpi-grid strong,
#dashboard .executive-dashboard-summary strong,
#dashboard .auxiliary-status-summary-grid strong,
#dashboard .dashboard-gps-summary strong,
#dashboard .workday-punctuality-summary strong,
#reports .integral-kpi-summary strong,
#reports .report-kpi-grid strong{
  margin:2px 0 0;
  font-size:1.15rem;
  line-height:1;
}

#dashboard .executive-dashboard-summary small,
#reports .integral-kpi-summary small,
#reports .report-kpi-grid small{
  margin:2px 0 0;
  font-size:.61rem;
  line-height:1.05;
}

#reports .report-kpi-grid article{
  min-height:58px;
}
#reports .report-kpi-grid .mini-progress{
  height:4px;
  margin-top:4px;
}

@media(max-width:720px){
  #dashboard .kpi-grid article,
  #dashboard .executive-dashboard-summary article,
  #dashboard .auxiliary-status-summary-grid article,
  #dashboard .dashboard-gps-summary article,
  #dashboard .workday-punctuality-summary article,
  #reports .integral-kpi-summary article,
  #reports .report-kpi-grid article{
    min-height:52px;
    padding:6px 8px;
  }
}

/* AMBER V19.30.121 — tarjetas del módulo GPS reducidas aproximadamente a la mitad. */
.gps-side-panel{padding:10px;max-height:650px}
.gps-side-panel h2{margin:0 0 7px;font-size:1rem;line-height:1.1}
.gps-aux-list{gap:6px}
.gps-aux-card{
  border-radius:10px;
  padding:7px 9px;
  box-shadow:0 3px 9px rgba(12,46,79,.045);
  line-height:1.12;
}
.gps-aux-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(12,46,79,.1)}
.gps-aux-head{gap:7px;align-items:flex-start}
.gps-aux-head div{gap:1px;min-width:0}
.gps-aux-head b{font-size:.84rem;line-height:1.08}
.gps-aux-head small{font-size:.69rem;line-height:1.08}
.gps-status-dot{width:9px;height:9px;box-shadow:0 0 0 3px rgba(0,0,0,.055);margin-top:2px;flex:0 0 auto}
.gps-aux-card p{margin:4px 0 3px;line-height:1.12;font-size:.76rem}
.gps-aux-card p b{font-size:.79rem}
.gps-aux-card p small{font-size:.66rem;line-height:1.05}
.gps-eta{gap:3px;font-size:.68rem;line-height:1.08}
.gps-signal{margin:4px 0 2px;padding:4px 6px;border-radius:7px;font-size:.66rem;line-height:1.08}
.gps-aux-card>a{font-size:.68rem;line-height:1.05}
@media(max-width:620px){
  .gps-side-panel{padding:8px}
  .gps-aux-card{padding:7px 8px}
  .gps-eta{grid-template-columns:1fr 1fr}
}

/* AMBER V19.30.123 — sellos de apertura dentro de la confirmación del paso 2 del funcionario. */


/* AMBER V19.30.123 — captura y revisión de sellos en el paso 2 de Aforos. */
.aforo-opening-seal-action{display:grid;justify-items:end;gap:10px;min-width:min(100%,390px)}
.aforo-opening-seal-entry{width:min(390px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 9px;padding:12px;border:1px solid #9dc5e3;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(21,89,140,.08)}
.aforo-opening-seal-entry[hidden]{display:none!important}
.aforo-opening-seal-entry label{grid-column:1/-1;color:#123f64;font-weight:900;font-size:.88rem}
.aforo-opening-seal-entry input{min-width:0;height:42px;border:1px solid #aac7dc;border-radius:9px;padding:8px 11px;font:inherit}
.aforo-opening-seal-entry small{grid-column:1/-1;color:#5f7384;font-size:.78rem}
.aforo-opening-seal-entry .btn{grid-column:2;grid-row:2;min-height:42px;padding:8px 16px}
.aforo-opening-seal-confirmation-values{display:grid;gap:4px;margin-top:10px;padding:11px 13px;border:1px solid #bed8ea;border-radius:12px;background:#eef7fd;color:#194e74}
.aforo-opening-seal-confirmation-values span{overflow-wrap:anywhere;font-weight:800}
@media(max-width:760px){.aforo-opening-seal-action{grid-column:1/-1;width:100%;justify-items:stretch}.aforo-opening-seal-entry{width:100%;grid-template-columns:1fr}.aforo-opening-seal-entry input,.aforo-opening-seal-entry .btn{grid-column:1;grid-row:auto;width:100%}}


/* AMBER V19.30.124 — fotografía y archivos en todos los bloques operativos */
.camera-source-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.operational-file-upload-button{justify-self:start}.camera-capture-item[data-file-kind="ATTACHMENT"]{border-style:dashed;background:#fbfdff}.amber-file-viewer-frame{width:100%;height:min(68vh,720px);border:0;border-radius:12px;background:#fff}.amber-file-viewer-fallback{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;padding:30px;color:#365773}.amber-file-viewer-fallback>span{font-size:54px}.amber-file-viewer-fallback p{max-width:520px;margin:0;color:#58738c}.amber-operational-file .amber-photo-attachment-icon{font-size:24px}@media(max-width:680px){.camera-source-actions{display:grid;grid-template-columns:1fr}.camera-source-actions .btn{width:100%;min-height:46px}.amber-file-viewer-frame{height:62vh}}


/* AMBER V19.30.125 — pantallas de ingreso operativo reducidas aproximadamente 45 px. */
#operationalStepDialog form,
#messagingProofDialog form,
#routeOptionDialog form,
#routeDestinationChangeDialog form,
#nextRouteSelectorDialog form{
  padding:11px 14px;
}
#operationalStepDialog .dialog-head,
#messagingProofDialog .dialog-head,
#routeOptionDialog .dialog-head,
#routeDestinationChangeDialog .dialog-head,
#nextRouteSelectorDialog .dialog-head{
  min-height:36px;
  gap:10px;
  align-items:flex-start;
}
#operationalStepDialog .dialog-head h2,
#messagingProofDialog .dialog-head h2,
#routeOptionDialog .dialog-head h2,
#routeDestinationChangeDialog .dialog-head h2,
#nextRouteSelectorDialog .dialog-head h2{
  margin:0 0 2px;
  font-size:1.25rem;
  line-height:1.08;
}
#operationalStepDialog .dialog-head p,
#messagingProofDialog .dialog-head p,
#routeOptionDialog .dialog-head p,
#routeDestinationChangeDialog .dialog-head p,
#nextRouteSelectorDialog .dialog-head p{
  margin:0;
  font-size:.82rem;
  line-height:1.18;
}
#operationalStepDialog .icon-btn,
#messagingProofDialog .icon-btn,
#routeOptionDialog .icon-btn,
#routeDestinationChangeDialog .icon-btn,
#nextRouteSelectorDialog .icon-btn{
  font-size:23px;
  line-height:1;
  padding:1px 4px;
}
#operationalStepDialog .operational-step-summary{
  gap:2px;
  padding:7px 9px;
  margin:7px 0 8px;
  border-radius:8px;
}
#operationalStepDialog .op-step-fields{
  gap:8px;
}
#operationalStepDialog label,
#messagingProofDialog label,
#routeOptionDialog label,
#routeDestinationChangeDialog label{
  gap:3px;
  font-size:.86rem;
  line-height:1.12;
}
#operationalStepDialog input,
#operationalStepDialog select,
#operationalStepDialog textarea,
#messagingProofDialog input,
#messagingProofDialog select,
#messagingProofDialog textarea,
#routeOptionDialog input,
#routeOptionDialog select,
#routeOptionDialog textarea,
#routeDestinationChangeDialog input,
#routeDestinationChangeDialog select,
#routeDestinationChangeDialog textarea{
  padding:7px 9px;
  min-height:35px;
  border-radius:8px;
  line-height:1.15;
}
#operationalStepDialog textarea[rows="5"]{min-height:74px;height:74px}
#operationalStepDialog textarea[rows="4"]{min-height:68px;height:68px}
#operationalStepDialog textarea[rows="2"]{min-height:54px;height:54px}
#operationalStepDialog .workflow-confirm-box{
  gap:10px;
  padding:9px 11px;
  border-radius:10px;
}
#operationalStepDialog .workflow-big-check{
  width:38px;
  height:38px;
  font-size:1.45rem;
}
#operationalStepDialog .mobile-camera-field,
#messagingProofDialog .messaging-photo-field{
  gap:6px;
  padding:8px 9px;
  border-radius:10px;
}
#operationalStepDialog .camera-capture-list{gap:6px}
#operationalStepDialog .camera-capture-item{
  gap:8px;
  padding:7px;
  border-radius:9px;
}
#operationalStepDialog .camera-source-actions{gap:6px}
#operationalStepDialog .camera-source-actions .btn,
#messagingProofDialog .btn,
#routeOptionDialog .btn,
#routeDestinationChangeDialog .btn,
#nextRouteSelectorDialog .btn{
  min-height:32px;
  padding:6px 10px;
  border-radius:8px;
  font-size:.78rem;
}
#operationalStepDialog .dialog-actions,
#messagingProofDialog .dialog-actions,
#routeOptionDialog .dialog-actions,
#routeDestinationChangeDialog .dialog-actions,
#nextRouteSelectorDialog .dialog-actions{
  gap:6px;
  margin-top:7px;
  padding-top:7px;
}
#messagingProofDialog .messaging-proof-summary{
  gap:2px;
  padding:8px 10px;
  margin:6px 0 8px;
  border-radius:10px;
}
#messagingProofDialog .messaging-delivery-place{
  margin:8px 0;
  padding:10px;
  border-radius:12px;
}
#messagingProofDialog .messaging-delivery-place>p{margin:0 0 6px}
#messagingProofDialog .messaging-delivery-place-options{gap:7px}
#messagingProofDialog .messaging-delivery-place-options label{
  gap:8px;
  padding:8px 9px;
  border-radius:10px;
}
#messagingProofDialog .signature-fieldset{
  padding:9px;
  border-radius:10px;
}
#messagingProofDialog .signature-fieldset canvas{height:140px}
#routeOptionDialog .route-responsibility-notice{
  margin:5px 0 8px;
  padding:8px 10px;
  gap:2px;
  border-radius:9px;
}
#routeOptionDialog .form-grid,
#routeDestinationChangeDialog .form-grid{
  gap:8px;
}
@media(max-width:680px){
  #operationalStepDialog form,
  #messagingProofDialog form,
  #routeOptionDialog form,
  #routeDestinationChangeDialog form,
  #nextRouteSelectorDialog form{padding:9px 10px}
  #operationalStepDialog .camera-source-actions .btn{min-height:36px;font-size:.8rem}
}

/* AMBER V19.30.126 — reajuste compacto del encabezado y paneles del módulo Gestiones. */
#routes > .page-title{
  align-items:flex-start;
  margin:0 0 6px;
  gap:8px;
}
#routes > .page-title h1{
  margin:0 0 2px;
  font-size:1.55rem;
  line-height:1.05;
}
#routes > .page-title p{
  margin:0;
  font-size:.82rem;
  line-height:1.22;
}
#routes > .toolbar{
  margin:0 0 7px;
  padding:5px 8px;
  min-height:0;
  gap:6px;
}
#routes > .toolbar .btn{
  min-height:28px;
  padding:5px 9px;
  font-size:.7rem;
}
#routes > .route-module-help{
  margin:0 0 8px;
  padding:7px 10px;
  border-radius:10px;
  font-size:.78rem;
  line-height:1.25;
}
#routes > .panel{
  margin-top:0;
  padding:7px 11px 8px;
  border-radius:11px;
}
#routes > .panel > .amber-module-visibility-bar{
  min-height:24px;
  margin:0 0 2px;
}
#routes > .panel > .amber-module-visibility-bar .amber-visibility-toggle{
  padding:4px 8px;
  font-size:.68rem;
}
#routes > .panel > h2{
  margin:0 0 4px;
  font-size:1.02rem;
  line-height:1.08;
}
#routes #groupedRouteList{
  gap:7px;
}
#routes #groupedRouteList > p{
  margin:2px 0 1px;
  font-size:.78rem;
  line-height:1.2;
}
#routes > .section-heading{
  margin:9px 0 6px;
  font-size:1.08rem;
  line-height:1.1;
}
#routes #managementList{
  gap:7px;
}
@media(max-width:700px){
  #routes > .page-title h1{font-size:1.3rem}
  #routes > .route-module-help{font-size:.74rem}
  #routes > .panel > .amber-module-visibility-bar .amber-visibility-toggle{width:auto;align-self:flex-end}
}

/* V19.30.128 — archivo alternativo como evidencia en Mensajería */
.messaging-attachment-field{border:1px solid #b9d6ef;border-radius:12px;padding:12px;background:#f7fbff}.messaging-attachment-field>input[type=file]{width:100%;margin:6px 0}.messaging-attachment-preview{display:flex;gap:8px;align-items:center;min-height:38px;padding:8px 10px;border:1px dashed #a9c9e7;border-radius:9px;background:#fff}.messaging-attachment-preview b{overflow-wrap:anywhere}.messaging-attachment-preview span{color:#5e7489;font-size:.86rem}


/* AMBER V19.30.130 — evidencia obligatoria en sellos de apertura y cierre. */
.aforo-opening-seal-entry .aforo-opening-evidence{grid-column:1/-1;margin-top:4px;width:100%;justify-self:stretch}
.aforo-opening-evidence .camera-capture-list{min-width:0}
.operational-seal-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.operational-seal-entry-row input{min-width:0}
.operational-seal-preview{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:-2px;margin-bottom:8px}
.operational-seal-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #9fc8e8;border-radius:999px;background:#eef7fd;color:#174e76;font-size:.82rem}
.operational-seal-chip button{border:0;background:transparent;color:#a32a25;font-size:1rem;font-weight:900;cursor:pointer;line-height:1;padding:0 2px}
.operational-seal-empty{color:#6a7f90;font-size:.8rem}
@media(max-width:680px){.operational-seal-entry-row{grid-template-columns:1fr}.operational-seal-entry-row .btn{width:100%}}


/* AMBER V19.30.132 — Mapa GPS compacto: menos espacio entre títulos, filtros y estado de actualización. */
#gpsmap > .page-title{
  align-items:center;
  gap:12px;
  margin:0 0 8px;
  min-height:0;
}
#gpsmap > .page-title > div{display:grid;gap:2px;min-width:0}
#gpsmap > .page-title h1{
  margin:0;
  font-size:1.65rem;
  line-height:1.08;
  letter-spacing:0;
}
#gpsmap > .page-title p{
  margin:0;
  font-size:.84rem;
  line-height:1.2;
}
#gpsmap > .page-title .btn{
  padding:7px 11px;
  border-radius:9px;
  font-size:.78rem;
  line-height:1.1;
}
#gpsmap .gps-toolbar.panel{
  display:grid;
  grid-template-columns:auto minmax(230px,1.15fr) minmax(225px,.75fr) auto;
  gap:9px 12px;
  align-items:end;
  margin:0 0 10px;
  padding:9px 11px;
  min-height:0;
  border-radius:12px;
}
#gpsmap .gps-toolbar label{
  gap:3px;
  margin:0;
  font-size:.76rem;
  line-height:1.1;
}
#gpsmap .gps-toolbar select,
#gpsmap .gps-toolbar input{
  min-height:36px;
  padding:7px 10px;
  border-radius:9px;
  font-size:.84rem;
  line-height:1.1;
}
#gpsmap .gps-toolbar .amber-module-visibility-bar{
  align-self:end;
  margin:0;
  min-height:36px;
  gap:5px;
}
#gpsmap .gps-toolbar .amber-visibility-toggle{
  min-height:36px;
  padding:6px 9px;
  font-size:.7rem;
}
#gpsmap .gps-refresh-info{
  align-self:end;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  min-height:36px;
  white-space:nowrap;
  font-size:.74rem;
  line-height:1.15;
}
#gpsmap .gps-refresh-info small{font-size:.68rem}
#gpsmap .gps-layout{
  gap:10px;
  margin-bottom:10px;
}
#gpsmap .gps-map-panel,
#gpsmap .gps-side-panel{margin-top:0}
@media(max-width:1050px){
  #gpsmap .gps-toolbar.panel{
    grid-template-columns:auto minmax(210px,1fr) minmax(210px,1fr);
  }
  #gpsmap .gps-refresh-info{grid-column:2/-1;justify-self:end}
}
@media(max-width:720px){
  #gpsmap > .page-title{align-items:stretch;flex-direction:column}
  #gpsmap > .page-title .btn{width:100%}
  #gpsmap .gps-toolbar.panel{grid-template-columns:1fr;gap:7px}
  #gpsmap .gps-toolbar .amber-module-visibility-bar,
  #gpsmap .gps-refresh-info{grid-column:auto;width:100%;justify-self:stretch}
  #gpsmap .gps-refresh-info{align-items:flex-start;min-height:0}
}


/* AMBER V19.30.133 — una fotografía por cada sello de apertura y cierre. */
.seal-photo-requirement{display:block;margin-top:7px;padding:7px 9px;border-radius:8px;background:#fff4df;color:#8a4e09;font-weight:800;line-height:1.25}
.seal-photo-requirement.is-complete{background:#e8f7ee;color:#17633a}
.seal-photo-requirement.is-warning{background:#fff0ed;color:#9a2f29}
.aforo-opening-seal-entry .aforo-opening-evidence{padding:10px;margin-top:2px}
.aforo-opening-evidence .camera-source-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:680px){.aforo-opening-evidence .camera-source-actions .btn{width:100%}}


/* AMBER V19.30.134 — detalle de gestiones en KPI y mapa web desplegable. */
.kpi-management-register{padding:0;overflow:hidden;margin-bottom:10px!important}
.kpi-management-register-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid #c9d6df;background:#f7fafc}
.kpi-management-register-head h2{margin:0;color:#173752;font-size:1rem;line-height:1.15}
.kpi-management-register-head p{margin:2px 0 0;color:#647887;font-size:.72rem;line-height:1.15}
.kpi-management-register-controls{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#526879;font-size:.72rem;font-weight:700}
.kpi-management-register-controls label{display:flex;align-items:center;gap:5px}
.kpi-management-register-controls select{min-height:28px;padding:3px 24px 3px 7px;border-radius:7px;font-size:.72rem}
.kpi-management-register-scroll{overflow:auto}
.kpi-management-register-table{width:100%;min-width:1390px;border-collapse:collapse;table-layout:fixed;font-size:.7rem;color:#173752}
.kpi-management-register-table th{height:34px;padding:6px 9px;background:linear-gradient(#edf3f7,#dce6ed);border-right:1px solid #d5dee5;border-bottom:1px solid #c4d0d9;text-align:left;font-size:.7rem;font-weight:900;white-space:nowrap}
.kpi-management-register-table td{height:42px;padding:5px 9px;border-right:1px solid #d9e1e7;border-bottom:1px solid #d1dbe3;vertical-align:middle;line-height:1.12;background:#fff;overflow-wrap:anywhere}
.kpi-management-register-table tbody tr:nth-child(even) td{background:#f1f4f6}
.kpi-management-register-table tbody tr:hover td{background:#eaf4fb}
.kpi-management-register-table th:nth-child(1){width:205px}.kpi-management-register-table th:nth-child(2){width:220px}.kpi-management-register-table th:nth-child(3){width:170px}.kpi-management-register-table th:nth-child(4){width:150px}.kpi-management-register-table th:nth-child(5){width:180px}.kpi-management-register-table th:nth-child(6){width:175px}.kpi-management-register-table th:nth-child(7){width:195px}.kpi-management-register-table th:nth-child(8){width:150px}.kpi-management-register-table th:nth-child(9){width:145px}
.kpi-management-register-table td b{display:block;font-size:.72rem;line-height:1.12}
.kpi-management-register-table td small{display:block;margin-top:2px;color:#6d8291;font-size:.61rem;line-height:1.08}
.kpi-management-state{display:inline-flex;align-items:center;justify-content:center;max-width:135px;padding:5px 8px;border-radius:999px;text-align:center;font-size:.61rem;font-weight:800;line-height:1.05;text-transform:uppercase}
.kpi-management-state.late{background:#ffe0e0;color:#b4232d}.kpi-management-state.late:before{content:'●';margin-right:5px;color:#ef4558}
.kpi-management-state.closed{background:#dff3e7;color:#17653c}.kpi-management-state.pending{background:#fff0cf;color:#875d08}.kpi-management-state.cancelled{background:#e8ebee;color:#596772}.kpi-management-state.active{background:#e1effa;color:#155b88}
.kpi-management-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.kpi-management-actions .small-btn{min-height:28px;padding:5px 8px;font-size:.64rem;border-radius:8px}.kpi-management-actions .primary{background:#135b91;color:#fff;border-color:#135b91}
.kpi-management-register-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;background:#f7fafc;color:#667b8b;font-size:.7rem}.kpi-management-register-footer>div{display:flex;gap:6px}.kpi-management-register-footer .small-btn{min-height:27px;padding:4px 9px;font-size:.66rem}

.gps-map-title-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#gpsmap .gps-layout.map-hidden{grid-template-columns:1fr}
#gpsmap .gps-layout.map-hidden .gps-side-panel{max-height:520px}
#operationsMapPanel[hidden]{display:none!important}
#toggleOperationsMap[aria-expanded="true"]{background:#eef4f8;color:#174e76;border:1px solid #8db8d7}
@media(max-width:720px){.kpi-management-register-head{align-items:flex-start;flex-direction:column}.kpi-management-register-controls{width:100%;justify-content:space-between}.gps-map-title-actions{width:100%;display:grid;grid-template-columns:1fr}.gps-map-title-actions .btn{width:100%}}


/* AMBER V19.30.135 — Centro de cierre y validación más compacto. */
#closures.closure-page > .page-title{
  align-items:center;
  gap:10px;
  margin:0 0 6px;
}
#closures.closure-page > .page-title h1{
  margin:0;
  font-size:1.85rem;
  line-height:1.08;
}
#closures.closure-page > .page-title p{
  margin:3px 0 0;
  font-size:.92rem;
  line-height:1.2;
}
#closures.closure-page > .page-title .btn{
  padding:7px 12px;
  border-radius:8px;
  font-size:.82rem;
}
#closures .closure-summary{
  gap:8px;
  margin:7px 0 8px;
}
#closures .closure-summary article{
  min-height:54px;
  padding:7px 12px;
  border-radius:10px;
  box-shadow:0 2px 7px rgba(12,46,79,.05);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#closures .closure-summary span{
  font-size:.76rem;
  line-height:1.1;
}
#closures .closure-summary strong{
  margin-top:1px;
  font-size:1.25rem;
  line-height:1;
}
#closures.closure-page > .panel{
  margin-top:8px;
  padding:8px 12px 10px;
  border-radius:12px;
}
#closures.closure-page > .panel > .amber-module-visibility-bar{
  min-height:22px;
  margin:0 0 5px;
}
#closures.closure-page > .panel .amber-visibility-toggle{
  padding:4px 8px;
  font-size:.68rem;
  border-radius:7px;
}
#closures .closure-filters{
  gap:9px;
  margin:0 0 7px;
  align-items:end;
}
#closures .closure-filters label{
  min-width:190px;
  gap:3px;
  font-size:.82rem;
  line-height:1.1;
}
#closures .closure-filters input,
#closures .closure-filters select{
  min-height:36px;
  padding:7px 10px;
  border-radius:8px;
  font-size:.86rem;
}
#closures #closureList.table-wrap{
  border-radius:10px;
  box-shadow:none;
}
#closures #closureList th,
#closures #closureList td{
  padding:7px 8px;
  line-height:1.15;
}
#closures #closureList th{font-size:.75rem}
#closures #closureList td{font-size:.78rem}
@media(max-width:850px){
  #closures .closure-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  #closures.closure-page > .page-title h1{font-size:1.45rem}
  #closures .closure-summary{grid-template-columns:repeat(2,1fr);gap:6px}
  #closures .closure-summary article{min-height:48px;padding:6px 8px}
  #closures .closure-filters{display:grid;grid-template-columns:1fr;gap:7px}
  #closures .closure-filters label{margin:0;min-width:0}
}


/* AMBER V19.30.136 — tablero KPI con encabezado y filtros compactos. */
#reports > .page-title{
  align-items:center;
  gap:10px;
  margin:0 0 7px;
}
#reports > .page-title h1{
  margin:0;
  font-size:1.72rem;
  line-height:1.08;
  letter-spacing:-.015em;
}
#reports > .page-title p{
  margin:4px 0 0;
  font-size:.86rem;
  line-height:1.25;
}
#reports .report-actions{
  gap:6px;
}
#reports .report-actions .btn{
  min-height:36px;
  padding:7px 11px;
  border-radius:9px;
  font-size:.82rem;
  line-height:1.1;
}
#reports .report-filter-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 10px;
  margin:7px 0 12px;
  padding:10px 12px 11px;
  border-radius:14px;
}
#reports .report-filter-panel > .amber-module-visibility-bar{
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin:0;
  min-height:36px;
}
#reports .report-filter-panel > .amber-module-visibility-bar .amber-visibility-toggle{
  min-height:34px;
  padding:6px 10px;
  font-size:.72rem;
}
#reports .report-filter-panel > .report-period-toolbar{
  grid-column:1;
  grid-row:1;
  grid-template-columns:minmax(145px,.75fr) minmax(160px,.78fr) auto auto minmax(230px,1.2fr);
  gap:8px;
  margin:0;
  padding:0;
  border-bottom:0;
  align-items:end;
}
#reports .report-filter-panel > .report-filters{
  grid-column:1/-1;
  grid-row:2;
  grid-template-columns:repeat(5,minmax(125px,1fr)) auto auto;
  gap:8px;
  align-items:end;
}
#reports .report-filter-panel > .report-filter-status{
  grid-column:1/-1;
  grid-row:3;
}
#reports .report-filter-panel label{
  gap:3px;
  font-size:.79rem;
  line-height:1.12;
}
#reports .report-filter-panel input,
#reports .report-filter-panel select{
  height:38px;
  min-height:38px;
  padding:6px 9px;
  border-radius:8px;
  font-size:.84rem;
}
#reports .report-filter-panel .btn{
  min-height:38px;
  padding:7px 11px;
  border-radius:9px;
  font-size:.8rem;
  line-height:1.1;
}
#reports .period-caption{
  min-height:38px;
  padding:5px 10px;
  border-radius:9px;
}
#reports .period-caption b{
  font-size:1rem;
  line-height:1.05;
}
#reports .period-caption small{
  margin-top:2px;
  font-size:.72rem;
  line-height:1.05;
}
#reports .report-filter-status{
  min-height:30px;
  margin:0;
  padding:6px 10px;
  border-radius:7px;
  font-size:.76rem;
  line-height:1.2;
}
@media(max-width:1450px){
  #reports .report-filter-panel{
    grid-template-columns:1fr;
  }
  #reports .report-filter-panel > .amber-module-visibility-bar{
    grid-column:1;
    grid-row:1;
    justify-content:flex-end;
    min-height:30px;
  }
  #reports .report-filter-panel > .report-period-toolbar{
    grid-column:1;
    grid-row:2;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #reports .report-filter-panel > .report-period-toolbar .period-caption{
    grid-column:1/-1;
  }
  #reports .report-filter-panel > .report-filters{
    grid-column:1;
    grid-row:3;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #reports .report-filter-panel > .report-filter-status{
    grid-column:1;
    grid-row:4;
  }
}
@media(max-width:760px){
  #reports > .page-title{
    align-items:stretch;
    flex-direction:column;
  }
  #reports > .page-title h1{font-size:1.35rem}
  #reports .report-actions{width:100%}
  #reports .report-actions .btn{flex:1 1 46%;text-align:center}
  #reports .report-filter-panel{
    padding:9px;
    gap:7px;
  }
  #reports .report-filter-panel > .report-period-toolbar,
  #reports .report-filter-panel > .report-filters{
    grid-template-columns:1fr;
  }
  #reports .report-filter-panel > .report-period-toolbar .period-caption{
    grid-column:1;
  }
  #reports .report-filter-panel > .amber-module-visibility-bar .amber-visibility-toggle{
    width:auto;
  }
}


/* AMBER V19.30.137 — auxiliares GPS con apariencia de tabla compacta. */
#gpsmap .gps-side-panel{padding:0;overflow:hidden;max-height:560px}
#gpsmap .gps-side-panel>h2{margin:0;padding:9px 12px;border-bottom:1px solid #c9d6df;background:#f7fafc;font-size:1rem;line-height:1.15;color:#173752}
#gpsmap .gps-aux-list{display:block;overflow:auto;max-height:510px}
.gps-aux-table-wrap{min-width:100%;overflow:auto}
.gps-aux-table{width:100%;min-width:1180px;border-collapse:collapse;table-layout:fixed;color:#173752;font-size:.7rem}
.gps-aux-table th{height:34px;padding:6px 9px;background:linear-gradient(#edf3f7,#dce6ed);border-right:1px solid #d5dee5;border-bottom:1px solid #c4d0d9;text-align:left;font-size:.7rem;font-weight:900;white-space:nowrap;position:sticky;top:0;z-index:2}
.gps-aux-table td{height:42px;padding:5px 9px;border-right:1px solid #d9e1e7;border-bottom:1px solid #d1dbe3;vertical-align:middle;line-height:1.12;background:#fff;overflow-wrap:anywhere}
.gps-aux-table tbody tr:nth-child(even) td{background:#f1f4f6}
.gps-aux-table tbody tr:hover td{background:#eaf4fb;cursor:pointer}
.gps-aux-table th:nth-child(1){width:160px}.gps-aux-table th:nth-child(2){width:130px}.gps-aux-table th:nth-child(3){width:190px}.gps-aux-table th:nth-child(4){width:220px}.gps-aux-table th:nth-child(5){width:125px}.gps-aux-table th:nth-child(6){width:85px}.gps-aux-table th:nth-child(7){width:175px}.gps-aux-table th:nth-child(8){width:150px}
.gps-aux-table td b{display:block;font-size:.72rem;line-height:1.12}
.gps-aux-table td small{display:block;margin-top:2px;color:#6d8291;font-size:.61rem;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-aux-person{display:flex;align-items:center;gap:7px;min-width:0}.gps-aux-person>div{min-width:0}
.gps-table-state{display:inline-flex;align-items:center;gap:6px;max-width:122px;padding:4px 7px;border-radius:999px;background:#eef4f8;color:#174e76;font-size:.62rem;font-weight:800;line-height:1.05}.gps-table-state i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.gps-table-signal{display:inline-flex;align-items:center;max-width:160px;padding:4px 7px;border-radius:7px;font-size:.61rem;font-weight:800;line-height:1.08}.gps-table-signal.online{background:#dff5e8;color:#17663d}.gps-table-signal.offline{background:#f4e5e5;color:#8d3232}
.gps-table-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.gps-table-actions .small-btn{min-height:27px;padding:4px 8px;border-radius:7px;font-size:.62rem;text-decoration:none}.gps-table-actions .primary{background:#135b91;color:#fff;border-color:#135b91}.gps-no-location{color:#8d3232;font-size:.64rem;font-weight:800}
.gps-aux-table-empty{padding:18px;color:#687985;text-align:center;background:#fff}
#gpsmap .gps-layout.map-hidden .gps-side-panel{max-height:560px}
#gpsmap .gps-layout:not(.map-hidden){grid-template-columns:minmax(0,1.55fr) minmax(390px,.75fr)}
@media(max-width:980px){#gpsmap .gps-layout:not(.map-hidden){grid-template-columns:1fr}.gps-aux-table{min-width:1050px}}


/* AMBER V19.30.138 — paneles operativos con apariencia de tabla compacta uniforme. */
#dashboard .executive-dashboard-body{
  grid-template-columns:1fr;
  gap:10px;
  margin-top:8px;
}
#dashboard .executive-dashboard-body>section,
#dashboard .executive-dashboard-body>aside{
  padding:0;
  overflow:hidden;
  border-radius:10px;
  box-shadow:none;
}
#dashboard .executive-subhead{
  min-height:34px;
  margin:0;
  padding:6px 10px;
  background:linear-gradient(#edf3f7,#dce6ed);
  border-bottom:1px solid #c4d0d9;
}
#dashboard .executive-subhead h3,
#dashboard .executive-ranking-title{
  margin:0;
  font-size:.78rem;
  line-height:1.1;
}
#dashboard .executive-ranking-title{
  min-height:34px;
  padding:8px 10px;
  background:linear-gradient(#edf3f7,#dce6ed);
  border-top:1px solid #c4d0d9;
  border-bottom:1px solid #c4d0d9;
}
#dashboard .executive-subhead small{font-size:.65rem}
#dashboard .executive-subhead>span{min-width:24px;height:24px;font-size:.68rem}

.amber-compact-table{
  width:100%;
  overflow:auto;
  background:#fff;
  color:#173752;
  font-size:.68rem;
}
.amber-compact-table-head,
.amber-compact-table-row{
  display:grid;
  align-items:center;
  min-width:980px;
}
.amber-compact-table-head{
  min-height:32px;
  padding:0 8px;
  background:linear-gradient(#edf3f7,#dce6ed);
  border-bottom:1px solid #c4d0d9;
  font-weight:900;
}
.amber-compact-table-row{
  width:100%;
  min-height:42px;
  height:42px;
  padding:4px 8px;
  border:0;
  border-bottom:1px solid #d1dbe3;
  border-radius:0;
  background:#fff;
  color:#173752;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.amber-compact-table-row:nth-child(odd){background:#f1f4f6}
.amber-compact-table-row:hover{background:#eaf4fb}
.amber-compact-table-row>*{
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.1;
}
.amber-executive-operations-table .amber-compact-table-head,
.amber-executive-operations-table .amber-compact-table-row{
  grid-template-columns:minmax(210px,1.5fr) 90px 90px minmax(190px,1fr) 135px 80px;
  gap:8px;
}
.amber-executive-ranking-table .amber-compact-table-head,
.amber-executive-ranking-table .amber-compact-table-row{
  grid-template-columns:55px minmax(180px,1.4fr) 130px minmax(170px,1fr) 100px 85px;
  gap:8px;
}
.amber-executive-priority-table .amber-compact-table-head,
.amber-executive-priority-table .amber-compact-table-row{
  grid-template-columns:105px minmax(210px,.9fr) minmax(360px,1.8fr) 120px 80px;
  gap:8px;
}
.amber-executive-priority-table .amber-compact-table-row.high{border-left:4px solid #e56a18}
.amber-executive-priority-table .amber-compact-table-row.critical{border-left:4px solid #c9362b}
.amber-compact-progress{
  position:relative;
  display:flex;
  align-items:center;
  height:16px;
  border-radius:999px;
  background:#e5ebef;
  overflow:hidden!important;
}
.amber-compact-progress i{
  position:absolute;
  inset:0 auto 0 0;
  background:linear-gradient(90deg,var(--navy),var(--copper));
  border-radius:inherit;
}
.amber-compact-progress small{
  position:relative;
  z-index:1;
  width:100%;
  text-align:center;
  font-size:.59rem;
  font-weight:800;
}
.amber-compact-state,.amber-compact-open,.amber-priority-type{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:23px;
  padding:3px 7px;
  border-radius:999px;
  font-size:.59rem;
  font-weight:800;
}
.amber-compact-state.good{background:#dff3e7;color:#17653c}
.amber-compact-state.medium{background:#fff0cf;color:#875d08}
.amber-compact-state.low{background:#ffe0e0;color:#b4232d}
.amber-compact-open{background:#135b91;color:#fff;border-radius:7px}
.amber-priority-type{justify-content:flex-start;background:#fff0cf;color:#875d08}

/* Apariencia uniforme para los listados repetitivos del resto de módulos. */
.amber-unified-module-list{
  gap:0!important;
  overflow:auto;
  border:1px solid #c9d6df;
  border-radius:10px;
  background:#fff;
  box-shadow:none!important;
}
.amber-unified-module-list>*:not([hidden]){
  margin:0!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid #d1dbe3!important;
  box-shadow:none!important;
}
.amber-unified-module-list>*:not([hidden]):nth-child(even){background-color:#f1f4f6!important}
.amber-unified-module-list>*:not([hidden]):last-child{border-bottom:0!important}
.amber-unified-table{
  border-collapse:collapse!important;
  border-spacing:0!important;
  box-shadow:none!important;
}
.amber-unified-table th{
  height:34px!important;
  padding:6px 9px!important;
  background:linear-gradient(#edf3f7,#dce6ed)!important;
  border:1px solid #d3dde4!important;
  font-size:.69rem!important;
  line-height:1.05!important;
}
.amber-unified-table td{
  min-height:42px!important;
  padding:5px 9px!important;
  border:1px solid #d9e1e7!important;
  font-size:.68rem!important;
  line-height:1.1!important;
}
.amber-unified-table tbody tr:nth-child(even) td{background:#f1f4f6!important}
.amber-unified-table tbody tr:hover td{background:#eaf4fb!important}

@media(max-width:900px){
  #dashboard .executive-dashboard-body>section,
  #dashboard .executive-dashboard-body>aside{overflow:auto}
  .amber-compact-table{min-width:980px}
}


/* AMBER V19.30.140 — la vista resumida del Mapa GPS conserva visible la tabla de auxiliares. */
#gpsmap .gps-map-title-actions{display:grid;grid-template-columns:1fr;gap:3px;min-width:228px}
#gpsmap .gps-map-title-actions .btn{width:100%;min-height:34px;padding:6px 12px;line-height:1.08}

/* AMBER V19.30.153 — estado de conexión, cola móvil, PWA y Gestiones en una sola línea */
.amber-offline-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid #b9d7c7;border-radius:999px;background:#e9f8f0;color:#17643f;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer;white-space:nowrap}
.amber-offline-status i,.amber-offline-banner i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#26985e;box-shadow:0 0 0 4px rgba(38,152,94,.13)}
.amber-offline-status.offline{border-color:#e4bd78;background:#fff4db;color:#7a4b00}.amber-offline-status.offline i{background:#d28a13;box-shadow:0 0 0 4px rgba(210,138,19,.15)}
.amber-offline-status.pending{border-color:#9bbbd2;background:#eef7fd;color:#15567f}.amber-offline-status.pending i{background:#2784bd;box-shadow:0 0 0 4px rgba(39,132,189,.14)}
.amber-offline-status.failed{border-color:#e0aaa2;background:#fff0ed;color:#9c2b20}.amber-offline-status.failed i{background:#c53b2e;box-shadow:0 0 0 4px rgba(197,59,46,.14)}
.amber-offline-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 22px;border-bottom:1px solid #d7e2ea;background:#eef7fd;color:#174b6d}
.amber-offline-banner[hidden]{display:none}.amber-offline-banner>div{display:flex;align-items:center;gap:12px;min-width:0}.amber-offline-banner p{display:grid;gap:1px;margin:0}.amber-offline-banner b{font-size:.83rem}.amber-offline-banner span{font-size:.73rem;color:#4c687c}.amber-offline-banner strong{font:inherit}
.amber-offline-banner.offline{background:#fff5df;color:#754900;border-color:#e8cc94}.amber-offline-banner.offline i{background:#d28a13;box-shadow:0 0 0 4px rgba(210,138,19,.15)}.amber-offline-banner.offline span{color:#735a2f}
.amber-offline-banner.failed{background:#fff0ed;color:#982b20;border-color:#e5b2aa}.amber-offline-banner.failed i{background:#c53b2e}.amber-offline-banner.failed span{color:#7e514b}
.amber-offline-dialog{width:min(720px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px));padding:0;border:0;border-radius:18px;box-shadow:0 24px 70px rgba(6,30,51,.3);overflow:hidden}
.amber-offline-dialog::backdrop{background:rgba(7,27,45,.55);backdrop-filter:blur(3px)}
.amber-offline-dialog .dialog-head{padding:16px 18px;border-bottom:1px solid #dde6ec}.amber-offline-dialog .dialog-head small{display:block;color:#718493;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.amber-offline-dialog .dialog-head h2{margin:2px 0 0;font-size:1.25rem}
.amber-offline-explanation{margin:14px 18px;padding:13px 14px;border:1px solid #cfe0eb;border-radius:13px;background:#f6fbfe}.amber-offline-explanation b{color:#183c59}.amber-offline-explanation p{margin:5px 0;color:#465f72;line-height:1.4}.amber-offline-explanation small{display:block;color:#7a5b1c;font-weight:700}
.amber-offline-dialog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 9px;color:#5e7282;font-size:.78rem;font-weight:800}
#amberOfflineSyncProgress{width:18px;height:18px;border:3px solid #d7e2e9;border-top-color:#236f9e;border-radius:50%;opacity:0}#amberOfflineSyncProgress.active{opacity:1;animation:amberOfflineSpin .8s linear infinite}@keyframes amberOfflineSpin{to{transform:rotate(360deg)}}
.amber-offline-queue-list{display:grid;gap:8px;max-height:390px;overflow:auto;padding:0 18px 14px}.amber-offline-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #d9e4eb;border-left:5px solid #2d8b5f;border-radius:12px;background:#fff}.amber-offline-item.failed{border-left-color:#c53b2e;background:#fff8f6}.amber-offline-item>div{display:grid;gap:2px;min-width:0}.amber-offline-item b{color:#173952}.amber-offline-item span,.amber-offline-item small{color:#6b7c89;font-size:.73rem}.amber-offline-item em{margin-top:4px;color:#9d2e23;font-size:.72rem;font-style:normal;font-weight:700}.amber-offline-item-state{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e8f5ee;color:#27714d!important;font-size:.65rem!important;font-weight:900}.amber-offline-item.failed .amber-offline-item-state{background:#fde5e1;color:#a02e23!important}
.amber-offline-empty{display:grid;place-items:center;gap:4px;min-height:150px;border:1px dashed #cbd9e2;border-radius:13px;color:#637787;text-align:center}.amber-offline-empty b{color:#285a42}.amber-offline-dialog .dialog-actions{padding:13px 18px;border-top:1px solid #dde6ec;background:#f8fafb}
html.amber-is-offline .gps-signal.online{background:#fff1d7;color:#76501b}
@media(max-width:900px){.amber-offline-status span{display:none}.amber-offline-status{padding:7px}.amber-offline-banner{padding:8px 11px}.amber-offline-banner span{font-size:.68rem}.amber-offline-banner .btn{font-size:.66rem;padding:6px 8px}}
@media(max-width:620px){.amber-offline-banner{align-items:flex-start}.amber-offline-banner>div{align-items:flex-start}.amber-offline-banner .btn{flex:0 0 auto}.amber-offline-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.amber-offline-explanation{margin:10px 12px}.amber-offline-dialog-summary,.amber-offline-queue-list{padding-left:12px;padding-right:12px}.amber-offline-item{align-items:flex-start}}

.amber-offline-item-actions{display:grid;justify-items:end;gap:7px;flex:0 0 auto}.amber-offline-item-actions .small-btn{font-size:.63rem;padding:4px 7px}


/* AMBER V19.30.153 — barra de Gestiones como encabezado tabular en una sola fila. */
#routes .routes-toolbar-scroll{
  width:100%;
  margin:0 0 8px;
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid #cbd8e1;
  border-radius:10px;
  background:#e6eef4;
  box-shadow:0 4px 14px rgba(12,46,79,.05);
  scrollbar-width:thin;
}
#routes .routes-single-line{
  display:grid;
  grid-template-columns:112px 145px 145px 270px 245px 200px 118px;
  align-items:stretch;
  width:max-content;
  min-width:100%;
  min-height:46px;
  margin:0;
  padding:0;
  white-space:nowrap;
  background:#e6eef4;
}
#routes .routes-single-line>.btn,
#routes .amber-registry-inline-count,
#routes .amber-registry-toolbar-cell{
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:6px 10px;
  overflow:hidden;
  border:0;
  border-right:1px solid #cbd8e1;
  border-radius:0;
  background:#e6eef4;
  color:#173a57;
  box-shadow:none;
  font-size:.72rem;
  font-weight:800;
}
#routes .routes-single-line>.btn{
  justify-content:center;
  width:100%;
  height:46px;
  color:#0b4c7f;
}
#routes .routes-single-line>#exportBtn{
  color:#fff;
  background:#bd6728;
}
#routes .routes-single-line>.btn:hover{filter:brightness(.97)}
#routes .routes-group-inline b{flex:0 0 auto;color:#173a57}
#routes .routes-group-inline span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f6679;font-weight:600}
#routes .management-registry-controls-mount,
#routes .amber-registry-inline-controls{display:contents}
#routes .amber-registry-inline-count{justify-content:center;text-transform:uppercase;letter-spacing:.025em}
#routes .amber-registry-inline-count b{color:#0c4f83;font-size:.9rem}
#routes .amber-registry-inline-count span{color:#5f7383;font-size:.66rem}
#routes .amber-registry-inline-controls select,
#routes .amber-registry-inline-controls input{
  width:100%;
  height:34px;
  min-width:0;
  margin:0;
  padding:6px 9px;
  border:1px solid #b9cad6;
  border-radius:6px;
  background:#fff;
  color:#17384f;
  font-size:.7rem;
}
#routes .amber-registry-inline-type{width:100%}
#routes .amber-registry-search{display:flex;align-items:center;width:100%;min-width:0}
#routes .amber-registry-search input{border-radius:6px 0 0 6px}
#routes .amber-registry-search button{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid #b9cad6;
  border-left:0;
  border-radius:0 6px 6px 0;
  background:#f7fafc;
  color:#0b5488;
  font-weight:900;
  cursor:pointer;
}
#routes .amber-registry-inline-size{justify-content:center}
#routes .amber-registry-inline-size span{color:#5d7181;font-size:.64rem;text-transform:uppercase;letter-spacing:.03em}
#routes .amber-registry-inline-size select{width:58px;flex:0 0 58px}
#routes .routes-grouped-details{margin:0 0 8px}
#routes .routes-grouped-details[hidden]{display:none!important}
#routes .amber-registry-module{margin-top:0}
#routes.aux-focused-step-mode .routes-toolbar-scroll,
#routes.aux-focused-step-mode .routes-grouped-details{display:none!important}
@media(max-width:900px){
  #routes .routes-single-line{grid-template-columns:105px 138px 132px 245px 225px 200px 110px}
}


/* AMBER V19.30.153 — selector Crear/asignar compacto, vertical y alineado a la izquierda. */
#assign .assignment-type-chooser{max-width:560px;margin:0 0 18px;padding:12px;border-radius:14px;box-shadow:0 8px 20px rgba(24,78,126,.08)}
#assign .assignment-type-intro{gap:9px;margin-bottom:10px}
#assign .assignment-type-intro h2{font-size:1.08rem}
#assign .assignment-type-intro p{margin-top:2px;font-size:.82rem;line-height:1.25}
#assign .assignment-type-step{min-width:54px;height:27px;padding:0 9px;font-size:.72rem}
#assign .assignment-type-grid{grid-template-columns:minmax(0,1fr);gap:8px}
#assign .assignment-type-card{min-height:68px;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:8px 11px;border-radius:11px;box-shadow:0 4px 10px rgba(25,75,115,.055)}
#assign .assignment-type-card:hover{transform:translateY(-1px);box-shadow:0 7px 14px rgba(25,75,115,.11)}
#assign .assignment-type-card>span:nth-child(2){gap:2px}
#assign .assignment-type-card b{font-size:.98rem}
#assign .assignment-type-card small{font-size:.73rem;line-height:1.22}
#assign .assignment-type-card i{font-size:.76rem}
#assign .assignment-type-icon{width:34px;height:34px;border-radius:10px;font-size:1.12rem}
#assign .assignment-type-permission-note{margin-top:8px;padding:8px 10px;border-radius:9px;font-size:.78rem}
@media(max-width:760px){#assign .assignment-type-chooser{max-width:none;width:100%;padding:10px}#assign .assignment-type-intro{align-items:flex-start;flex-direction:column}#assign .assignment-type-card{grid-template-columns:34px minmax(0,1fr) auto;min-height:66px;padding:8px 10px}#assign .assignment-type-card i{grid-column:auto}}


/* AMBER V19.30.153 — Mapa GPS simplificado, sin botones de ocultar información. */
#gpsmap.active{
  display:grid;
  grid-template-columns:minmax(690px,.95fr) minmax(850px,1.2fr);
  column-gap:10px;
  row-gap:10px;
  align-items:center;
  overflow-x:auto;
}
#gpsmap.active > .page-title{
  grid-column:1;
  grid-row:1;
  display:grid;
  grid-template-columns:minmax(300px,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:690px;
  margin:0;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 6px 18px #102a4310;
  background:#fff;
}
#gpsmap.active > .page-title > div:first-child{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  white-space:nowrap;
}
#gpsmap.active > .page-title h1{
  margin:0;
  font-size:.82rem;
  line-height:1.05;
  white-space:nowrap;
}
#gpsmap.active > .page-title p{
  margin:0;
  font-size:.68rem;
  line-height:1.05;
  white-space:nowrap;
}
#gpsmap.active > .page-title .gps-map-title-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:4px;
  min-width:0;
}
#gpsmap.active > .page-title .gps-map-title-actions .btn{
  width:auto;
  min-width:112px;
  min-height:30px;
  padding:5px 8px;
  font-size:.68rem;
  line-height:1.05;
  white-space:nowrap;
}
#gpsmap.active > .gps-toolbar.panel{
  grid-column:2;
  grid-row:1;
  min-width:850px;
  margin:0;
  padding:6px 8px;
  grid-template-columns:auto minmax(190px,.8fr) minmax(250px,1.25fr) auto;
  gap:7px;
  align-items:center;
  border-radius:12px;
}
#gpsmap.active > .gps-toolbar.panel label{
  display:grid;
  grid-template-columns:auto minmax(130px,1fr);
  align-items:center;
  gap:5px;
  margin:0;
  font-size:.68rem;
  white-space:nowrap;
}
#gpsmap.active > .gps-toolbar.panel select,
#gpsmap.active > .gps-toolbar.panel input{
  min-height:30px;
  height:30px;
  padding:4px 8px;
  font-size:.72rem;
}
#gpsmap.active > .gps-toolbar.panel .amber-module-visibility-bar{
  min-height:30px;
  margin:0;
}
#gpsmap.active > .gps-toolbar.panel .amber-visibility-toggle{
  min-height:30px;
  padding:4px 8px;
  font-size:.66rem;
  white-space:nowrap;
}
#gpsmap.active > .gps-toolbar.panel .gps-refresh-info{
  min-height:30px;
  align-items:flex-start;
  justify-content:center;
  font-size:.66rem;
  white-space:nowrap;
}
#gpsmap.active > .gps-toolbar.panel .gps-refresh-info small{font-size:.62rem}
#gpsmap.active > #gpsMainLayout,
#gpsmap.active > .arrival-exceptions-panel,
#gpsmap.active > .gps-history-report{
  grid-column:1/-1;
}
#gpsmap.gps-operations-information-hidden.active{display:block;overflow:visible}
@media(max-width:900px){
  #gpsmap.active{
    grid-template-columns:minmax(690px,.95fr) minmax(850px,1.2fr);
    overflow-x:auto;
  }
}

#gpsmap .amber-visibility-toggle,#gpsmap .amber-module-visibility-bar{display:none!important}
#gpsmap.active > .page-title .gps-map-title-actions #toggleOperationsMap{min-width:138px}


/* AMBER V19.30.154 — tabla de auxiliares GPS sin título redundante y con separación vertical reducida. */
#gpsmap .gps-side-panel > h2{display:none!important}
#gpsmap .gps-layout{
  gap:5px;
  margin-bottom:5px;
}
#gpsmap .gps-side-panel{
  padding:0;
  max-height:520px;
}
#gpsmap .gps-aux-list{
  max-height:520px;
}
#gpsmap .gps-aux-table th{
  height:28px;
  padding:4px 7px;
  line-height:1;
}
#gpsmap .gps-aux-table td{
  height:34px;
  padding:3px 7px;
  line-height:1.04;
}
#gpsmap .gps-aux-table td b{
  line-height:1.04;
}
#gpsmap .gps-aux-table td small{
  margin-top:1px;
  line-height:1.02;
}
#gpsmap .gps-history-report{
  margin-top:5px;
  padding:10px;
}
#gpsmap .gps-history-report > .page-title{
  margin-bottom:6px;
}
#gpsmap .gps-history-report .gps-history-controls{
  gap:6px;
  margin-bottom:6px;
}
#gpsmap .gps-history-report .gps-history-controls select,
#gpsmap .gps-history-report .gps-history-controls .btn{
  min-height:32px;
  padding-top:5px;
  padding-bottom:5px;
}
#gpsmap .arrival-exceptions-panel{
  margin:5px 0;
}


/* AMBER V19.30.157 — Gestiones sin resumen superior de rutas agrupadas y buscador de referencia compacto. */
#routes .amber-registry-inline-reference{width:200px;max-width:200px}
#routes .amber-registry-inline-reference .amber-registry-search{width:100%;max-width:180px}
#routes .amber-registry-inline-reference input{min-width:0}


/* AMBER V19.30.158 — barra superior de Gestiones rectangular, centrada y proporcionada. */
#routes .routes-toolbar-scroll{
  border-radius:4px;
  overflow-x:auto;
  overflow-y:hidden;
}
#routes .routes-single-line{
  grid-template-columns:135px 175px 170px 235px minmax(255px,1fr) minmax(285px,1.12fr) 190px;
  width:100%;
  min-width:1445px;
  min-height:52px;
}
#routes .routes-single-line>.btn,
#routes .amber-registry-inline-count,
#routes .amber-registry-toolbar-cell{
  min-height:52px;
  height:52px;
  justify-content:center;
  text-align:center;
  padding:7px 10px;
  box-sizing:border-box;
}
#routes .routes-single-line>.btn{
  height:52px;
}
#routes .routes-single-line>*:last-child{
  border-right:0;
}
#routes .amber-registry-inline-count{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px;
}
#routes .amber-registry-toolbar-cell{
  align-items:center;
  justify-content:center;
}
#routes .amber-registry-inline-controls select,
#routes .amber-registry-inline-controls input,
#routes .amber-registry-search button{
  height:36px;
  border-radius:4px;
  box-sizing:border-box;
}
#routes .amber-registry-inline-type-cell select{
  width:100%;
  max-width:210px;
  margin:0 auto;
  text-align:center;
  text-align-last:center;
}
#routes .amber-registry-inline-id .amber-registry-search{
  width:100%;
  max-width:310px;
  margin:0 auto;
}
#routes .amber-registry-inline-reference{
  width:auto;
  max-width:none;
}
#routes .amber-registry-inline-reference .amber-registry-search{
  width:100%;
  max-width:335px;
  margin:0 auto;
}
#routes .amber-registry-search input{
  border-radius:4px 0 0 4px;
  text-align:left;
}
#routes .amber-registry-search button{
  flex:0 0 36px;
  width:36px;
  border-radius:0 4px 4px 0;
}
#routes .amber-registry-inline-size{
  justify-content:center;
  gap:10px;
}
#routes .amber-registry-inline-size select{
  width:66px;
  flex:0 0 66px;
  text-align:center;
  text-align-last:center;
}
@media(max-width:900px){
  #routes .routes-single-line{
    grid-template-columns:120px 155px 150px 220px 250px 275px 175px;
    min-width:1345px;
  }
}

/* AMBER V19.30.160 — encabezados principales compactos en todos los módulos. */
@media(min-width:901px){
  main{padding-top:12px}
}
.page > .page-title{
  align-items:center;
  gap:8px;
  min-height:0;
  margin:0 0 5px;
  padding:0 0 3px;
}
.page > .page-title > div:first-child{
  min-width:0;
}
.page > .page-title h1,
#closures.closure-page > .page-title h1,
#reports > .page-title h1,
#routes > .page-title h1{
  margin:0;
  font-size:1.25rem;
  line-height:1.05;
  letter-spacing:-.01em;
}
.page > .page-title p,
#closures.closure-page > .page-title p,
#reports > .page-title p,
#routes > .page-title p{
  margin:2px 0 0;
  font-size:.72rem;
  line-height:1.15;
}
.page > .page-title .btn,
#closures.closure-page > .page-title .btn,
#reports > .page-title .btn,
#routes > .page-title .btn{
  min-height:30px;
  padding:5px 9px;
  border-radius:7px;
  font-size:.72rem;
  line-height:1.1;
}
.page > .page-title .report-actions,
.page > .page-title .gps-map-title-actions{
  gap:5px;
  margin:0;
}
@media(max-width:600px){
  .page > .page-title{
    gap:6px;
    margin-bottom:4px;
    padding-bottom:2px;
  }
  .page > .page-title h1,
  #closures.closure-page > .page-title h1,
  #reports > .page-title h1,
  #routes > .page-title h1{
    font-size:1.12rem;
  }
  .page > .page-title p,
  #closures.closure-page > .page-title p,
  #reports > .page-title p,
  #routes > .page-title p{
    font-size:.68rem;
  }
}



/* AMBER V19.30.161 — gráficos KPI rediseñados y compactos. */
#reports .report-insights-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:10px 0 0;
}
#reports .report-insight-card{
  min-width:0;
  margin:0;
  padding:9px 11px 10px;
  border-radius:11px;
  box-shadow:0 3px 10px rgba(12,46,79,.06);
  overflow:hidden;
}
#reports .report-insight-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:26px;
  margin:0 0 7px;
  padding:0 0 6px;
  border-bottom:1px solid #dce7ef;
}
#reports .report-insight-head h2{
  min-width:0;
  margin:0;
  color:#0f4675;
  font-size:.82rem;
  line-height:1.1;
  font-weight:800;
}
#reports .report-insight-head .amber-visibility-toggle{
  width:auto;
  min-height:22px;
  margin-left:auto;
  padding:3px 7px;
  border-radius:5px;
  font-size:.58rem;
  line-height:1;
}
#reports .report-insight-head .amber-visibility-toggle span{font-size:.65rem}
#reports .report-insight-card .bar-chart{
  min-height:0;
  gap:7px;
  padding:0;
}
#reports .report-insight-card .bar-row{gap:3px}
#reports .report-insight-card .bar-label{
  gap:8px;
  font-size:.65rem;
  line-height:1.15;
}
#reports .report-insight-card .bar-label b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#reports .report-insight-card .bar-label span{
  flex:0 0 auto;
  font-size:.6rem;
  white-space:nowrap;
}
#reports .report-insight-card .bar-track{height:6px}
#reports .report-insight-trend .trend-chart{
  min-height:0;
  padding:0 1px 1px;
}
#reports .report-insight-trend .trend-bars{
  min-height:104px;
  gap:5px;
  padding:3px 4px 0;
}
#reports .report-insight-trend .trend-day{
  width:27px;
  gap:2px;
}
#reports .report-insight-trend .trend-day span{font-size:.58rem;line-height:1}
#reports .report-insight-trend .trend-day i{
  width:17px;
  border-radius:4px 4px 0 0;
}
#reports .report-insight-trend .trend-day small{
  height:24px;
  margin-top:5px;
  font-size:.5rem;
}
#reports .report-insight-late .late-list{
  max-height:126px;
  gap:4px;
  padding-right:3px;
  scrollbar-width:thin;
}
#reports .report-insight-late .late-item{
  min-height:31px;
  gap:8px;
  padding:5px 7px;
  border-radius:7px;
}
#reports .report-insight-late .late-item div{min-width:0;gap:1px}
#reports .report-insight-late .late-item b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.64rem;
  line-height:1.1;
}
#reports .report-insight-late .late-item small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.54rem;
  line-height:1.1;
}
#reports .report-insight-late .late-item>span{
  flex:0 0 auto;
  padding:3px 6px;
  font-size:.5rem;
  line-height:1;
}
#reports .report-insight-card .empty-success,
#reports .report-insight-card > .muted{
  margin:0;
  padding:9px;
  font-size:.66rem;
}
#reports .report-insight-card.amber-information-collapsed{
  padding:8px 11px!important;
}
#reports .report-insight-card.amber-information-collapsed .report-insight-head{
  margin:0;
  padding:0;
  border-bottom:0;
}
@media(max-width:900px){
  #reports .report-insights-grid{grid-template-columns:1fr;gap:8px}
}
@media(max-width:600px){
  #reports .report-insight-card{padding:8px 9px}
  #reports .report-insight-head{align-items:center!important;flex-direction:row!important}
  #reports .report-insight-head .amber-visibility-toggle{width:auto}
}

/* AMBER V19.30.162 — ajuste visual integral, compacto, centrado y con opciones identificables. */
:root{
  --amber-bg:#f4f8fb;
  --amber-surface:#ffffff;
  --amber-soft-blue:#eef6fc;
  --amber-soft-copper:#fff4e9;
  --amber-soft-green:#edf8f2;
  --amber-soft-purple:#f5f0fb;
  --amber-border:#cbdbe7;
  --amber-border-strong:#91b8d5;
  --amber-shadow:0 2px 8px rgba(12,46,79,.055);
  --amber-radius:9px;
  --amber-control-height:32px;
}
body{
  font-size:13px;
  line-height:1.25;
  background:var(--amber-bg);
}
#appShell{min-height:100vh}
header{
  height:64px;
  min-height:64px;
  padding:5px 12px;
  gap:10px;
  background:rgba(255,255,255,.98);
}
.brand{gap:8px;min-width:0}
.brand img{width:68px;height:48px}
.brand b{font-size:1.12rem;line-height:1}
.brand span{font-size:.7rem;line-height:1.05}
.top-actions{gap:5px;min-width:0}
.user-chip{min-width:140px;padding:4px 8px}
.user-chip b{font-size:.72rem}
.user-chip span{font-size:.62rem}
.version-chip{font-size:.65rem;padding:4px 7px}
header .btn,#changeLogoControl{min-height:29px;padding:5px 8px;font-size:.68rem;border-radius:6px}
nav{
  top:64px;
  gap:2px;
  min-height:38px;
  padding:4px 10px;
  align-items:center;
  scrollbar-width:thin;
}
nav button{
  min-height:29px;
  padding:5px 9px;
  border-radius:6px;
  font-size:.68rem;
  line-height:1.05;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
nav button:hover{background:#ffffff18;color:#fff}
nav button.active{box-shadow:inset 0 0 0 1px #ffffff55}
main{
  width:100%;
  max-width:1920px;
  margin:0 auto;
  padding:8px 10px 14px;
}
.page.active{width:100%;margin:0 auto}
.page > .page-title{
  min-height:36px;
  margin:0 0 5px;
  padding:2px 2px 4px;
  border-bottom:1px solid #dce7ef;
}
.page > .page-title > div:first-child{display:grid;align-content:center}
.page > .page-title h1{font-size:1.12rem;line-height:1.05}
.page > .page-title p{font-size:.67rem;line-height:1.15;color:#587087}
.page-title,.panel-head,.dialog-head,.work-schedule-card-head,.attendance-monthly-head,
.integral-kpi-head,.kpi-management-register-head,.backup-card-head,.integration-header,
.workday-supervision-head{
  align-items:center;
}
.page-actions,.report-actions,.gps-map-title-actions,.audit-title-actions,.actions,
.dialog-actions,.integration-actions,.backup-actions,.budget-form-actions,
.attendance-filter-actions,.kpi-management-register-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
}
.panel,.management-card,.catalog-row,.list-row,.table-wrap{
  border-color:var(--amber-border);
  border-radius:var(--amber-radius);
  box-shadow:var(--amber-shadow);
}
.panel{
  margin-top:7px;
  padding:9px 10px;
  background:var(--amber-surface);
}
.panel > h2,.panel > h3,.settings-card > h2{
  margin:0 0 6px;
  font-size:.88rem;
  line-height:1.1;
}
.panel p{margin:3px 0 6px;font-size:.7rem;line-height:1.2}
.table-wrap{
  padding:0;
  overflow:auto;
  background:#fff;
  box-shadow:none;
}
.panel .table-wrap{margin-top:5px}
.form-grid,.form-grid.compact{gap:7px 8px}
label{gap:3px;font-size:.68rem;line-height:1.08}
fieldset{padding:8px;border-radius:8px}
legend{padding:0 5px;font-size:.7rem;font-weight:800;color:var(--navy)}
input,select,textarea{
  min-height:var(--amber-control-height);
  padding:5px 8px;
  border-color:#aebfce;
  border-radius:6px;
  font-size:.72rem;
  line-height:1.15;
}
textarea{min-height:58px;resize:vertical}
input[type="date"],input[type="time"],input[type="month"],input[type="number"]{text-align:center}
select{
  text-align:center;
  text-align-last:center;
  color:#0e446f;
  font-weight:700;
  cursor:pointer;
  border-color:var(--amber-border-strong);
  border-left:4px solid var(--copper);
  background-color:var(--amber-soft-blue);
  box-shadow:inset 0 0 0 1px #ffffffaa;
}
select:hover{background-color:#e3f1fb;border-color:#4f8fbd}
select:focus{background-color:#fff8ef;border-color:var(--copper);outline:2px solid #efc69f}
option{background:#fff;color:#173a57;font-weight:600}
input:focus,textarea:focus{outline:2px solid #9ec6e2;border-color:#4c88b3}
input[type="checkbox"],input[type="radio"]{
  width:16px!important;
  min-width:16px;
  height:16px;
  min-height:16px;
  padding:0;
  accent-color:var(--copper);
  cursor:pointer;
}
.checks,.channel-checks{gap:7px 10px}
.checks label,.switch-row,.channel-checks label{
  min-height:28px;
  padding:4px 7px;
  border:1px solid #cbdbe7;
  border-radius:6px;
  background:#f6fafe;
  cursor:pointer;
}
.checks label:has(input:checked),.switch-row:has(input:checked),.channel-checks label:has(input:checked){
  background:var(--amber-soft-copper);
  border-color:#d79a68;
  color:#754019;
}
.btn,.small-btn{
  min-height:30px;
  padding:5px 9px;
  border-radius:6px;
  font-size:.69rem;
  line-height:1.05;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-shadow:none;
}
.btn:hover,.small-btn:hover{transform:translateY(-1px);filter:brightness(.98)}
.btn:focus-visible,.small-btn:focus-visible,button:focus-visible{outline:2px solid #f1b77d;outline-offset:2px}
.inline-form,.toolbar,.credential-toolbar,.closure-filters,.audit-filters,
.report-filters,.report-period-toolbar,.gps-toolbar,.gps-history-controls,
.attendance-monthly-filters{
  gap:6px;
  margin-bottom:7px;
  align-items:end;
}
.toolbar{
  padding:6px 7px;
  border-radius:7px;
}
.toolbar input,.toolbar select{height:32px;min-height:32px}
.status,.badge,.status-pill,.credential-state,.route-option-status,.type-modern-state{
  padding:3px 7px;
  border-radius:999px;
  font-size:.61rem;
  line-height:1.05;
  text-align:center;
}
table{font-size:.69rem}
th,td{
  height:31px;
  padding:4px 6px;
  line-height:1.08;
  vertical-align:middle;
}
th{
  font-size:.65rem;
  text-align:center;
  background:#eaf3f9;
  color:#0b416c;
}
td:not(:first-child):not(:nth-child(2)){text-align:center}
tbody tr:nth-child(even){background:#f8fbfd}
tbody tr:hover{background:#eef6fc}
.table-actions{align-items:center;justify-content:center;gap:4px}
.muted,small{line-height:1.15}
dialog{border-radius:10px}
dialog form{padding:12px}
.dialog-head{min-height:34px;padding-bottom:5px;border-bottom:1px solid #dce7ef}
.dialog-head h2,.dialog-head h3{margin:0;font-size:.95rem}
.dialog-actions{margin-top:7px}
.icon-btn{font-size:1.35rem}

/* Resúmenes numéricos uniformes y de menor altura. */
.kpi-grid,.report-kpi-grid,.closure-summary,.office-document-summary,.credential-summary,
.training-summary,.equipment-summary,.vehicle-summary,.expense-summary,.cash-summary,
.route-budget-summary,.route-profitability-summary,.billing-summary,.attendance-summary,
.attendance-monthly-summary,.work-schedule-summary,.audit-summary,.integral-kpi-summary,
.backup-summary,.test-reset-summary{
  gap:6px;
  margin:6px 0 8px;
}
.kpi-grid article,.report-kpi-grid article,.closure-summary article,.office-document-summary article,
.credential-summary article,.training-summary article,.equipment-summary article,.vehicle-summary article,
.expense-summary article,.cash-summary article,.route-budget-summary article,.route-profitability-summary article,
.billing-summary article,.attendance-summary article,.attendance-monthly-summary article,
.work-schedule-summary article,.audit-summary article,.integral-kpi-summary article{
  min-height:52px;
  padding:7px 8px;
  border-radius:8px;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.kpi-grid span,.report-kpi-grid span,.closure-summary span,.office-document-summary span,
.credential-summary span,.training-summary span,.equipment-summary span,.vehicle-summary span,
.expense-summary span,.cash-summary span,.route-budget-summary span,.route-profitability-summary span,
.billing-summary span,.attendance-summary span,.attendance-monthly-summary span,
.work-schedule-summary span,.audit-summary span,.integral-kpi-summary span{
  font-size:.62rem;
  line-height:1.05;
}
.kpi-grid strong,.report-kpi-grid strong,.closure-summary strong,.office-document-summary strong,
.credential-summary strong,.training-summary strong,.equipment-summary strong,.vehicle-summary strong,
.expense-summary strong,.cash-summary strong,.route-budget-summary strong,.route-profitability-summary strong,
.billing-summary strong,.attendance-summary strong,.attendance-monthly-summary strong,
.work-schedule-summary strong,.audit-summary strong,.integral-kpi-summary strong{
  margin:1px 0 0;
  font-size:1.12rem;
  line-height:1;
}

/* Opciones seleccionables con color visible y estados claros. */
.assignment-type-grid{gap:6px}
#assign .assignment-type-card{
  min-height:58px;
  padding:6px 9px;
  border-width:1px;
  border-radius:8px;
}
#assign .assignment-type-card.messaging{background:#eef7ff;border-left:5px solid #287fb9}
#assign .assignment-type-card.customs{background:#edf9f2;border-left:5px solid #299160}
#assign .assignment-type-card.inspection{background:#fff5e9;border-left:5px solid #d47b2f}
#assign .assignment-type-card.other{background:#f5effc;border-left:5px solid #8455b3}
#assign .assignment-type-card:hover{filter:saturate(1.08);border-color:#3a82b5}
#assign .assignment-type-card:active,#assign .assignment-type-card.selected,
#assign .assignment-type-card[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #0f5d93}
#assign .assignment-type-icon{width:32px;height:32px;border-radius:7px;font-size:1rem}
#assign .assignment-type-card b{font-size:.84rem}
#assign .assignment-type-card small{font-size:.64rem}
#assign .assignment-type-card i{font-size:.65rem}
.permission-item,.recipient-option,.credential-type-item,.management-route-option,
.next-route-option-card,.aux-management-selector-card,.mobile-route-choice,
.messaging-delivery-place-options label{
  border-color:#bdd2e1;
  background:#f3f8fc;
}
.permission-item:hover,.recipient-option:hover,.credential-type-item:hover,
.management-route-option:hover,.next-route-option-card:hover,.aux-management-selector-card:hover,
.messaging-delivery-place-options label:hover{
  background:#e8f3fb;
  border-color:#6ca4ca;
}
.permission-item:has(input:checked),.recipient-option:has(input:checked),
.next-route-option-card:has(input:checked),.messaging-delivery-place-options label:has(input:checked){
  background:var(--amber-soft-copper);
  border-color:#d38b51;
  box-shadow:inset 4px 0 0 #c36d2b;
}
.catalog-sidebar{top:107px;padding:6px;border-radius:9px;gap:3px}
.catalog-sidebar h3{margin:8px 8px 3px;font-size:.62rem}
.catalog-sidebar button{
  min-height:30px;
  padding:5px 8px;
  border-radius:6px;
  font-size:.68rem;
  border-left:4px solid transparent;
}
.catalog-sidebar button:hover{background:#e9f3fa;color:#0d4b78;border-left-color:#659ec5}
.catalog-sidebar button.active{border-left-color:#ffd2aa;box-shadow:inset 0 0 0 1px #ffffff55}

/* Listas y tarjetas administrativas compactas y centradas verticalmente. */
.management-list,.credential-type-list,.work-schedule-general-list,.work-schedule-individual-list,
.work-schedule-exception-list,.arrival-exception-list,.late-list,.backup-list{
  gap:4px;
}
.list-row,.catalog-row,.credential-type-item,.recipient-option,.work-schedule-item{
  min-height:34px;
  margin:3px 0;
  padding:5px 7px;
  border-radius:7px;
  align-items:center;
}
.management-card{padding:8px;margin:5px 0}
.management-card header{padding:0 0 5px;align-items:center}
.management-card .meta{gap:4px}
.actions{margin-top:5px}
.photo-strip{margin-top:5px;gap:5px}
.photo-strip img{width:66px;height:50px;border-radius:5px}

/* Módulos con formularios amplios: menos espacio sin perder legibilidad. */
.settings-grid,.integration-grid,.credential-layout,.work-schedule-grid,.gps-layout,
.recipient-columns,.excel-dashboard-grid{gap:8px}
.settings-card,.integration-card,.credential-form-panel,.credential-type-panel,.work-schedule-card{padding:9px}
.settings-logo-preview{height:92px;margin:6px auto;padding:6px;border-radius:8px}
.integration-title{margin-bottom:5px}
.integration-title h3{font-size:.82rem;margin:0}
.integration-title small{font-size:.62rem}

/* Evita frases visuales duplicadas en cabeceras: la descripción no ocupa una segunda línea innecesaria. */
.page-title p:empty,.panel p:empty{display:none}
.page-title p{max-width:850px}

@media(max-width:900px){
  header{height:auto;min-height:58px;padding:5px 7px}
  nav{top:58px;padding:4px 6px}
  main{padding:6px}
  .top-actions{justify-content:flex-end}
  .user-chip{min-width:110px}
  .page > .page-title{align-items:center;flex-direction:row}
  .page > .page-title .btn{width:auto}
  .form-grid,.form-grid.compact{gap:6px}
  .catalog-sidebar{top:auto}
  th,td{white-space:nowrap}
}
@media(max-width:600px){
  body{font-size:12.5px}
  .brand span,.version-chip,#changeLogoControl{display:none}
  .brand img{width:52px;height:38px}
  nav button{font-size:.64rem;padding:5px 7px}
  .page > .page-title{align-items:flex-start;flex-wrap:wrap}
  .page > .page-title > div:first-child{flex:1 1 210px}
  .page > .page-title h1{font-size:1rem}
  .page > .page-title p{font-size:.63rem}
  .panel{padding:7px}
  .btn,.small-btn{min-height:29px;padding:5px 7px}
  .assignment-type-grid{grid-template-columns:1fr}
  #assign .assignment-type-card{min-height:55px}
}

/* AMBER V19.30.162 — refinamientos responsivos de filtros y catálogos. */
#catalogs .catalog-content > .toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 180px;
  align-items:end;
}
#catalogs .catalog-content > .toolbar input{max-width:none}
@media(max-width:600px){
  .page > .page-title > div:first-child{flex:1 1 auto}
  #reports > .page-title > div:first-child{flex:0 1 auto}
  #reports .report-filter-panel > .report-period-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #reports .report-filter-panel > .report-period-toolbar > label:nth-child(1),
  #reports .report-filter-panel > .report-period-toolbar > label:nth-child(2),
  #reports .report-filter-panel > .report-period-toolbar > .period-caption{
    grid-column:1/-1;
  }
  #reports .report-filter-panel > .report-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #reports .report-filter-panel > .report-filters > label:nth-child(5){grid-column:1/-1}
  .catalog-sidebar{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3px;
  }
  .catalog-sidebar h3{grid-column:1/-1}
  .catalog-sidebar button{min-height:28px;padding:4px 6px;font-size:.64rem}
  #catalogs .catalog-content > .toolbar{grid-template-columns:1fr 120px}
}


/* AMBER V19.30.163 — control de jornada en fila compacta, con altura equivalente al encabezado de la tabla GPS. */
@media(min-width:761px){
  #dashboard .workday-control-panel.workday-summary-only{
    display:grid;
    grid-template-columns:minmax(390px,1.25fr) minmax(320px,1fr) auto auto;
    grid-template-rows:1fr;
    align-items:center;
    gap:6px;
    width:100%;
    height:58px!important;
    min-height:58px;
    max-height:58px;
    margin:0;
    padding:4px 7px!important;
    overflow:hidden;
    border-radius:6px;
  }
  #dashboard .workday-control-panel.workday-summary-only.amber-information-collapsed{
    height:58px!important;
    min-height:58px;
    max-height:58px;
    padding:4px 7px!important;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title{
    display:contents;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title > div:first-child{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    overflow:hidden;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title h2{
    flex:0 0 auto;
    margin:0;
    font-size:.92rem;
    line-height:1;
    white-space:nowrap;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title p{
    min-width:0;
    margin:0;
    padding-left:8px;
    border-left:1px solid #cbdbe7;
    font-size:.6rem;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #dashboard .workday-control-panel.workday-summary-only > .workday-own-status{
    grid-column:2;
    grid-row:1;
    display:block;
    min-width:0;
  }
  #dashboard .workday-control-panel.workday-summary-only .workday-ok,
  #dashboard .workday-control-panel.workday-summary-only .workday-warning{
    display:flex;
    align-items:center;
    min-width:0;
    min-height:30px;
    margin:0;
    padding:5px 8px;
    border-radius:6px;
    font-size:.64rem;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #dashboard .workday-control-panel.workday-summary-only #refreshWorkdayStatus{
    grid-column:3;
    grid-row:1;
  }
  #dashboard .workday-control-panel.workday-summary-only .amber-visibility-toggle{
    grid-column:4;
    grid-row:1;
    width:auto;
  }
  #dashboard .workday-control-panel.workday-summary-only #refreshWorkdayStatus,
  #dashboard .workday-control-panel.workday-summary-only .amber-visibility-toggle{
    min-height:27px;
    padding:4px 7px;
    border-radius:5px;
    font-size:.62rem;
    line-height:1;
  }
}
@media(min-width:761px) and (max-width:1120px){
  #dashboard .workday-control-panel.workday-summary-only{
    grid-template-columns:minmax(280px,1fr) minmax(250px,.9fr) auto auto;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title p{display:none}
}
@media(max-width:760px){
  #dashboard .workday-control-panel.workday-summary-only{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:5px;
    min-height:0;
    margin:0;
    padding:5px 6px!important;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title{display:contents}
  #dashboard .workday-control-panel.workday-summary-only > .page-title > div:first-child{
    grid-column:1;
    grid-row:1;
    min-width:0;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title h2{margin:0;font-size:.88rem}
  #dashboard .workday-control-panel.workday-summary-only > .page-title p{display:none}
  #dashboard .workday-control-panel.workday-summary-only #refreshWorkdayStatus{
    grid-column:2;
    grid-row:1;
  }
  #dashboard .workday-control-panel.workday-summary-only > .workday-own-status{
    grid-column:1;
    grid-row:2;
    min-width:0;
  }
  #dashboard .workday-control-panel.workday-summary-only .workday-ok,
  #dashboard .workday-control-panel.workday-summary-only .workday-warning{
    min-height:29px;
    margin:0;
    padding:5px 7px;
    font-size:.62rem;
  }
  #dashboard .workday-control-panel.workday-summary-only .amber-visibility-toggle{
    grid-column:2;
    grid-row:2;
    width:auto!important;
    min-height:29px;
    padding:5px 7px;
    font-size:.6rem;
  }
}

/* AMBER V19.30.164 — compactación uniforme del sistema: filas 40 px, barras 42 px y controles 30 px. */
:root{
  --amber-system-row-height:40px;
  --amber-system-head-height:34px;
  --amber-system-toolbar-height:42px;
  --amber-system-control-height:30px;
}

/* Barra superior de Gestiones: misma proporción compacta que el resto del sistema. */
#routes .routes-toolbar-scroll{margin-bottom:5px;border-radius:5px}
#routes .routes-single-line{
  min-height:var(--amber-system-toolbar-height)!important;
}
#routes .routes-single-line>.btn,
#routes .amber-registry-inline-count,
#routes .amber-registry-toolbar-cell{
  height:var(--amber-system-toolbar-height)!important;
  min-height:var(--amber-system-toolbar-height)!important;
  padding:4px 8px!important;
  font-size:.67rem!important;
}
#routes .amber-registry-inline-count b{font-size:.82rem!important}
#routes .amber-registry-inline-count span{font-size:.6rem!important}
#routes .amber-registry-inline-controls select,
#routes .amber-registry-inline-controls input,
#routes .amber-registry-search button{
  height:var(--amber-system-control-height)!important;
  min-height:var(--amber-system-control-height)!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
  font-size:.66rem!important;
}
#routes .amber-registry-search button{
  flex-basis:var(--amber-system-control-height)!important;
  width:var(--amber-system-control-height)!important;
}

/* Registro de Gestiones: encabezado 34 px y filas reales de 40 px. */
.amber-registry-header{min-height:var(--amber-system-head-height)!important}
.amber-registry-header span{
  min-height:var(--amber-system-head-height)!important;
  height:var(--amber-system-head-height)!important;
  padding:3px 7px!important;
  font-size:.66rem!important;
}
.amber-registry-row,
.amber-registry-cell,
.amber-registry-actions{
  height:var(--amber-system-row-height)!important;
  min-height:var(--amber-system-row-height)!important;
  max-height:var(--amber-system-row-height)!important;
}
.amber-registry-cell,
.amber-registry-actions{
  padding:3px 7px!important;
  overflow:hidden!important;
  gap:1px!important;
}
.amber-registry-cell b,
.amber-registry-cell.amber-registry-document b,
.amber-registry-cell.amber-registry-id b{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.03!important;
  font-size:.65rem!important;
}
.amber-registry-cell>span:not(.status),
.amber-registry-cell.amber-registry-id span{
  margin-top:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.02!important;
  font-size:.56rem!important;
}
.amber-registry-actions .small-btn{
  min-height:22px!important;
  height:22px!important;
  padding:2px 5px!important;
  font-size:.56rem!important;
}

/* Todas las tablas operativas quedan con la misma escala visual. */
.table-wrap table thead th,
.amber-unified-table th,
.kpi-management-register-table th,
.gps-aux-table th{
  height:var(--amber-system-head-height)!important;
  min-height:var(--amber-system-head-height)!important;
  padding:3px 6px!important;
  font-size:.64rem!important;
  line-height:1.02!important;
  vertical-align:middle!important;
}
.table-wrap table tbody tr,
.table-wrap table tbody td,
.amber-unified-table td,
.kpi-management-register-table td,
.gps-aux-table td{
  height:var(--amber-system-row-height)!important;
  min-height:var(--amber-system-row-height)!important;
  max-height:var(--amber-system-row-height)!important;
}
.table-wrap table tbody td,
.amber-unified-table td,
.kpi-management-register-table td,
.gps-aux-table td{
  padding:3px 6px!important;
  font-size:.65rem!important;
  line-height:1.03!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.table-wrap table tbody td>small,
.table-wrap table tbody td>b,
.table-wrap table tbody td>span,
.kpi-management-register-table td b,
.kpi-management-register-table td small,
.gps-aux-table td b,
.gps-aux-table td small{
  line-height:1.03!important;
}

/* Tablas construidas con grid del Dashboard y otros módulos. */
.amber-compact-table-head{
  min-height:var(--amber-system-head-height)!important;
  height:var(--amber-system-head-height)!important;
  padding:0 7px!important;
  font-size:.64rem!important;
}
.amber-compact-table-row{
  height:var(--amber-system-row-height)!important;
  min-height:var(--amber-system-row-height)!important;
  max-height:var(--amber-system-row-height)!important;
  padding:3px 7px!important;
  font-size:.65rem!important;
}

/* Listados simples y tarjetas de selección de una sola fila. */
.list-row,.catalog-row,.credential-type-item,.work-schedule-item,.recipient-option,
.messaging-document-row,.messaging-review-row,.expense-item-row{
  min-height:var(--amber-system-row-height)!important;
  padding:3px 6px!important;
  margin:2px 0!important;
  font-size:.65rem!important;
}

/* Barras, filtros y controles generales: misma escala que Gestiones. */
.toolbar,.credential-toolbar,.closure-filters,.audit-filters,.report-filters,
.report-period-toolbar,.gps-toolbar,.gps-history-controls,.attendance-monthly-filters{
  gap:4px!important;
  margin-bottom:5px!important;
}
.toolbar{padding:4px 5px!important}
.toolbar input,.toolbar select,
.credential-toolbar input,.credential-toolbar select,
.closure-filters input,.closure-filters select,
.audit-filters input,.audit-filters select,
.report-filters input,.report-filters select,
.report-period-toolbar input,.report-period-toolbar select,
.gps-toolbar input,.gps-toolbar select,
.gps-history-controls input,.gps-history-controls select,
.attendance-monthly-filters input,.attendance-monthly-filters select{
  height:var(--amber-system-control-height)!important;
  min-height:var(--amber-system-control-height)!important;
  padding:3px 6px!important;
  font-size:.65rem!important;
}
.btn,.small-btn{
  min-height:28px;
  padding:4px 7px;
  font-size:.65rem;
}

/* Encabezados y paneles sin exceso de aire. */
.page > .page-title{
  min-height:34px!important;
  margin-bottom:4px!important;
  padding:2px 2px 3px!important;
  gap:6px!important;
}
.page > .page-title h1{font-size:1rem!important;line-height:1!important}
.page > .page-title p{font-size:.62rem!important;line-height:1.05!important}
.panel{margin-top:5px;padding:7px 8px}
.panel > h2,.panel > h3,.settings-card > h2{margin-bottom:4px;font-size:.82rem}
.panel-head,.dialog-head,.work-schedule-card-head,.attendance-monthly-head,
.integral-kpi-head,.kpi-management-register-head,.backup-card-head,.integration-header,
.workday-supervision-head{
  min-height:32px;
  gap:5px;
}
.amber-visibility-toggle{
  min-height:26px!important;
  padding:3px 6px!important;
  font-size:.59rem!important;
  border-radius:5px!important;
}

/* El control resumido de jornada adopta la misma barra de 42 px. */
@media(min-width:761px){
  #dashboard .workday-control-panel.workday-summary-only,
  #dashboard .workday-control-panel.workday-summary-only.amber-information-collapsed{
    height:var(--amber-system-toolbar-height)!important;
    min-height:var(--amber-system-toolbar-height)!important;
    max-height:var(--amber-system-toolbar-height)!important;
    padding:3px 6px!important;
  }
  #dashboard .workday-control-panel.workday-summary-only > .page-title h2{font-size:.82rem!important}
  #dashboard .workday-control-panel.workday-summary-only > .page-title p{font-size:.56rem!important}
  #dashboard .workday-control-panel.workday-summary-only .workday-ok,
  #dashboard .workday-control-panel.workday-summary-only .workday-warning{
    min-height:26px!important;
    padding:3px 6px!important;
    font-size:.59rem!important;
  }
  #dashboard .workday-control-panel.workday-summary-only #refreshWorkdayStatus,
  #dashboard .workday-control-panel.workday-summary-only .amber-visibility-toggle{
    min-height:24px!important;
    height:24px!important;
    padding:2px 6px!important;
    font-size:.57rem!important;
  }
}

/* En pantallas pequeñas se conserva la legibilidad y se permite crecer cuando el contenido lo requiere. */
@media(max-width:760px){
  :root{--amber-system-row-height:38px;--amber-system-head-height:32px;--amber-system-control-height:30px}
  .amber-registry-row,.amber-registry-cell,.amber-registry-actions,
  .table-wrap table tbody tr,.table-wrap table tbody td,
  .amber-unified-table td,.kpi-management-register-table td,.gps-aux-table td{
    max-height:none!important;
  }
}

/* AMBER V19.30.165 — compactación REAL visible en pantallas con escala 125–150%.
   Objetivo visual aproximado en el equipo de prueba: filas ~40–42 px físicos,
   encabezados ~36–39 px físicos y barras ~42–45 px físicos. */
:root{
  --amber-real-row-height:28px;
  --amber-real-head-height:26px;
  --amber-real-toolbar-height:30px;
  --amber-real-control-height:24px;
  --amber-real-font:.56rem;
  --amber-real-secondary-font:.48rem;
}

/* GESTIONES — barra superior realmente más baja. */
#routes .routes-toolbar-scroll{
  margin-bottom:3px!important;
  border-radius:3px!important;
}
#routes .routes-single-line{
  min-height:var(--amber-real-toolbar-height)!important;
  height:var(--amber-real-toolbar-height)!important;
  max-height:var(--amber-real-toolbar-height)!important;
}
#routes .routes-single-line>.btn,
#routes .amber-registry-inline-count,
#routes .amber-registry-toolbar-cell{
  height:var(--amber-real-toolbar-height)!important;
  min-height:var(--amber-real-toolbar-height)!important;
  max-height:var(--amber-real-toolbar-height)!important;
  padding:2px 6px!important;
  gap:4px!important;
  font-size:var(--amber-real-font)!important;
  line-height:1!important;
  border-radius:0!important;
}
#routes .amber-registry-inline-count b{font-size:.66rem!important;line-height:1!important}
#routes .amber-registry-inline-count span{font-size:.48rem!important;line-height:1!important}
#routes .amber-registry-inline-controls select,
#routes .amber-registry-inline-controls input,
#routes .amber-registry-search button{
  height:var(--amber-real-control-height)!important;
  min-height:var(--amber-real-control-height)!important;
  max-height:var(--amber-real-control-height)!important;
  padding:1px 5px!important;
  font-size:.54rem!important;
  line-height:1!important;
  border-radius:3px!important;
}
#routes .amber-registry-search button{
  flex:0 0 var(--amber-real-control-height)!important;
  width:var(--amber-real-control-height)!important;
  padding:0!important;
  border-radius:0 3px 3px 0!important;
}
#routes .amber-registry-search input{border-radius:3px 0 0 3px!important}

/* GESTIONES — encabezado y filas: 26 / 28 CSS px.
   En una pantalla Windows a 150%, 28 CSS px se perciben aprox. como 42 px del screenshot. */
.amber-registry-header{
  height:var(--amber-real-head-height)!important;
  min-height:var(--amber-real-head-height)!important;
  max-height:var(--amber-real-head-height)!important;
}
.amber-registry-header span{
  height:var(--amber-real-head-height)!important;
  min-height:var(--amber-real-head-height)!important;
  max-height:var(--amber-real-head-height)!important;
  padding:2px 5px!important;
  font-size:.55rem!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
}
.amber-registry-row{
  height:var(--amber-real-row-height)!important;
  min-height:var(--amber-real-row-height)!important;
  max-height:var(--amber-real-row-height)!important;
}
.amber-registry-cell,
.amber-registry-actions{
  height:var(--amber-real-row-height)!important;
  min-height:var(--amber-real-row-height)!important;
  max-height:var(--amber-real-row-height)!important;
  padding:2px 5px!important;
  gap:0!important;
  overflow:hidden!important;
  align-content:center!important;
  justify-content:center!important;
}
.amber-registry-cell b,
.amber-registry-cell.amber-registry-document b,
.amber-registry-cell.amber-registry-id b{
  font-size:var(--amber-real-font)!important;
  line-height:1!important;
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.amber-registry-cell>span:not(.status),
.amber-registry-cell.amber-registry-id span{
  font-size:var(--amber-real-secondary-font)!important;
  line-height:1!important;
  margin:1px 0 0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.amber-registry-cell>small{font-size:.45rem!important;line-height:1!important;margin:0!important}
.amber-registry-status .status,
.amber-registry-cell .status{
  min-height:18px!important;
  height:18px!important;
  max-height:18px!important;
  padding:2px 5px!important;
  font-size:.46rem!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.amber-registry-actions .small-btn{
  min-height:18px!important;
  height:18px!important;
  max-height:18px!important;
  padding:1px 4px!important;
  font-size:.46rem!important;
  line-height:1!important;
}

/* TODAS LAS TABLAS DE LOS DEMÁS MÓDULOS — misma densidad real. */
.table-wrap table thead tr,
.table-wrap table thead th,
.amber-unified-table thead tr,
.amber-unified-table th,
.kpi-management-register-table thead tr,
.kpi-management-register-table th,
.gps-aux-table thead tr,
.gps-aux-table th,
.compact-table thead tr,
.compact-table th{
  height:var(--amber-real-head-height)!important;
  min-height:var(--amber-real-head-height)!important;
  max-height:var(--amber-real-head-height)!important;
}
.table-wrap table thead th,
.amber-unified-table th,
.kpi-management-register-table th,
.gps-aux-table th,
.compact-table th{
  padding:2px 5px!important;
  font-size:.54rem!important;
  line-height:1!important;
  vertical-align:middle!important;
}
.table-wrap table tbody tr,
.table-wrap table tbody td,
.amber-unified-table tbody tr,
.amber-unified-table td,
.kpi-management-register-table tbody tr,
.kpi-management-register-table td,
.gps-aux-table tbody tr,
.gps-aux-table td,
.compact-table tbody tr,
.compact-table td{
  height:var(--amber-real-row-height)!important;
  min-height:var(--amber-real-row-height)!important;
  max-height:var(--amber-real-row-height)!important;
}
.table-wrap table tbody td,
.amber-unified-table td,
.kpi-management-register-table td,
.gps-aux-table td,
.compact-table td{
  padding:2px 5px!important;
  font-size:var(--amber-real-font)!important;
  line-height:1!important;
  vertical-align:middle!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.table-wrap table tbody td b,
.table-wrap table tbody td span,
.table-wrap table tbody td small,
.amber-unified-table td b,
.amber-unified-table td span,
.amber-unified-table td small,
.kpi-management-register-table td b,
.kpi-management-register-table td span,
.kpi-management-register-table td small,
.gps-aux-table td b,
.gps-aux-table td span,
.gps-aux-table td small{
  line-height:1!important;
  margin-top:0!important;
}
.table-wrap table tbody td small,
.amber-unified-table td small,
.kpi-management-register-table td small,
.gps-aux-table td small{font-size:var(--amber-real-secondary-font)!important}

/* Tablas simuladas con CSS Grid: Dashboard, GPS y reportes ejecutivos. */
.amber-compact-table-head{
  height:var(--amber-real-head-height)!important;
  min-height:var(--amber-real-head-height)!important;
  max-height:var(--amber-real-head-height)!important;
  padding:1px 5px!important;
  font-size:.54rem!important;
  line-height:1!important;
}
.amber-compact-table-row{
  height:var(--amber-real-row-height)!important;
  min-height:var(--amber-real-row-height)!important;
  max-height:var(--amber-real-row-height)!important;
  padding:1px 5px!important;
  font-size:var(--amber-real-font)!important;
  line-height:1!important;
}

/* Barras/filtros de todos los módulos. */
.toolbar,.credential-toolbar,.closure-filters,.audit-filters,.report-filters,
.report-period-toolbar,.gps-toolbar,.gps-history-controls,.attendance-monthly-filters,
.permission-toolbar{
  gap:3px!important;
  margin-bottom:3px!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
}
.toolbar input,.toolbar select,
.credential-toolbar input,.credential-toolbar select,
.closure-filters input,.closure-filters select,
.audit-filters input,.audit-filters select,
.report-filters input,.report-filters select,
.report-period-toolbar input,.report-period-toolbar select,
.gps-toolbar input,.gps-toolbar select,
.gps-history-controls input,.gps-history-controls select,
.attendance-monthly-filters input,.attendance-monthly-filters select,
.permission-toolbar input,.permission-toolbar select{
  height:var(--amber-real-control-height)!important;
  min-height:var(--amber-real-control-height)!important;
  max-height:var(--amber-real-control-height)!important;
  padding:1px 5px!important;
  font-size:.54rem!important;
  line-height:1!important;
  border-radius:4px!important;
}
.btn,.small-btn{
  min-height:22px!important;
  padding:2px 6px!important;
  font-size:.54rem!important;
  line-height:1.05!important;
  border-radius:5px!important;
}

/* Listas de una fila y tarjetas administrativas simples. */
.list-row,.catalog-row,.credential-type-item,.work-schedule-item,.recipient-option,
.messaging-document-row,.messaging-review-row,.expense-item-row{
  min-height:var(--amber-real-row-height)!important;
  padding:2px 5px!important;
  margin:1px 0!important;
  font-size:var(--amber-real-font)!important;
  line-height:1!important;
}

/* Paneles y títulos: menos aire, sin forzar altura de formularios complejos. */
.page > .page-title{margin-bottom:2px!important;padding:1px 1px 2px!important;gap:4px!important}
.page > .page-title h1,.page > .page-title h2{font-size:.86rem!important;line-height:1!important;margin:0!important}
.page > .page-title p{font-size:.54rem!important;line-height:1!important;margin:1px 0 0!important}
.panel{margin-top:3px!important;padding:5px 6px!important}
.panel > h2,.panel > h3,.settings-card > h2{margin:0 0 3px!important;font-size:.72rem!important;line-height:1!important}
.panel-head,.dialog-head,.work-schedule-card-head,.attendance-monthly-head,
.integral-kpi-head,.kpi-management-register-head,.backup-card-head,.integration-header,
.workday-supervision-head{min-height:26px!important;padding-top:2px!important;padding-bottom:2px!important}

/* Control resumido de jornada: misma altura visual compacta que la barra de Gestiones. */
@media(min-width:761px){
  #dashboard .workday-control-panel.workday-summary-only{
    min-height:var(--amber-real-toolbar-height)!important;
    height:var(--amber-real-toolbar-height)!important;
    max-height:var(--amber-real-toolbar-height)!important;
    padding:2px 5px!important;
    gap:4px!important;
  }
  #dashboard .workday-control-panel.workday-summary-only .workday-ok,
  #dashboard .workday-control-panel.workday-summary-only .workday-warning{
    min-height:22px!important;
    height:22px!important;
    max-height:22px!important;
    padding:2px 5px!important;
    font-size:.52rem!important;
  }
  #dashboard .workday-control-panel.workday-summary-only #refreshWorkdayStatus,
  #dashboard .workday-control-panel.workday-summary-only .amber-visibility-toggle{
    min-height:20px!important;
    height:20px!important;
    max-height:20px!important;
    padding:1px 5px!important;
    font-size:.48rem!important;
  }
}

/* En móvil se permite crecer si el texto lo necesita. */
@media(max-width:760px){
  :root{
    --amber-real-row-height:34px;
    --amber-real-head-height:30px;
    --amber-real-toolbar-height:36px;
    --amber-real-control-height:30px;
  }
  .amber-registry-row,.amber-registry-cell,.amber-registry-actions,
  .table-wrap table tbody tr,.table-wrap table tbody td,
  .amber-unified-table tbody tr,.amber-unified-table td,
  .kpi-management-register-table tbody tr,.kpi-management-register-table td,
  .gps-aux-table tbody tr,.gps-aux-table td,.compact-table tbody tr,.compact-table td{
    max-height:none!important;
  }
}

/* AMBER V19.30.166 — ajuste integral para que el contenido entre en la pantalla.
   En escritorio elimina anchos mínimos rígidos y reparte columnas de forma proporcional.
   En móvil se conserva el desplazamiento cuando la cantidad de información lo exige. */
@media (min-width:901px){
  html,body,#appShell,main,.page,.page.active{max-width:100%!important;overflow-x:hidden!important}
  main{padding-left:6px!important;padding-right:6px!important}

  /* GESTIONES: barra superior completa sin desplazamiento horizontal. */
  #routes .routes-toolbar-scroll{overflow-x:hidden!important;width:100%!important}
  #routes .routes-single-line{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    grid-template-columns:.72fr .94fr .78fr 1.18fr 1.42fr 1.55fr .72fr!important;
  }
  #routes .routes-single-line>.btn,
  #routes .amber-registry-inline-count,
  #routes .amber-registry-toolbar-cell{min-width:0!important;padding-left:4px!important;padding-right:4px!important}
  #routes .amber-registry-inline-count{gap:3px!important}
  #routes .amber-registry-inline-count b{font-size:.60rem!important}
  #routes .amber-registry-inline-count span{font-size:.44rem!important}
  #routes .amber-registry-inline-controls select,
  #routes .amber-registry-inline-controls input,
  #routes .amber-registry-search button{font-size:.48rem!important;padding-left:3px!important;padding-right:3px!important;min-width:0!important}
  #routes .amber-registry-inline-type-cell select,
  #routes .amber-registry-inline-id .amber-registry-search,
  #routes .amber-registry-inline-reference .amber-registry-search{max-width:none!important;width:100%!important}
  #routes .amber-registry-inline-size{gap:3px!important}
  #routes .amber-registry-inline-size select{width:42px!important;flex:0 0 42px!important}

  /* GESTIONES: las nueve columnas se adaptan al ancho visible. */
  #routes .amber-registry-scroll{overflow-x:hidden!important;width:100%!important}
  #routes .amber-registry-table{width:100%!important;min-width:0!important;max-width:100%!important}
  #routes .amber-registry-header,
  #routes .amber-registry-row{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1.14fr 1.12fr .94fr 1.12fr 1.16fr 1.08fr 1.22fr .62fr .76fr!important;
  }
  #routes .amber-registry-header span,
  #routes .amber-registry-cell,
  #routes .amber-registry-actions{min-width:0!important;padding-left:3px!important;padding-right:3px!important}
  #routes .amber-registry-cell b,
  #routes .amber-registry-cell>span:not(.status),
  #routes .amber-registry-actions>*{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  #routes .amber-registry-actions>div{display:flex!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-width:0!important}
  #routes .amber-registry-actions .small-btn{min-width:0!important;max-width:100%!important;padding-left:3px!important;padding-right:3px!important;font-size:.42rem!important}
  #routes .amber-registry-history{flex:0 0 16px!important;width:16px!important;padding:0!important}
  #routes .amber-registry-footer{width:100%!important;max-width:100%!important;overflow:hidden!important}

  /* Tablas HTML de todos los módulos: ocupar exactamente el ancho de la pantalla. */
  .table-wrap,
  .compact-table,
  .kpi-management-register-scroll,
  .gps-aux-table-wrap,
  .route-monitor-table,
  .amber-aux-registry{overflow-x:hidden!important;max-width:100%!important}
  .table-wrap table,
  .compact-table table,
  .wide-kpi-table,
  .office-document-table,
  .attendance-table,
  .attendance-monthly-table,
  .integral-kpi-table,
  #training .credential-table,
  .kpi-management-register-table,
  .gps-aux-table,
  .amber-unified-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .table-wrap table th,
  .table-wrap table td,
  .compact-table th,
  .compact-table td,
  .wide-kpi-table th,
  .wide-kpi-table td,
  .office-document-table th,
  .office-document-table td,
  .attendance-table th,
  .attendance-table td,
  .attendance-monthly-table th,
  .attendance-monthly-table td,
  .integral-kpi-table th,
  .integral-kpi-table td,
  #training .credential-table th,
  #training .credential-table td,
  .kpi-management-register-table th,
  .kpi-management-register-table td,
  .gps-aux-table th,
  .gps-aux-table td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:3px!important;
    padding-right:3px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .table-actions,.kpi-management-actions,.gps-table-actions{flex-wrap:nowrap!important;gap:2px!important;min-width:0!important;overflow:hidden!important}
  .table-actions .btn,.table-actions .small-btn,.kpi-management-actions .small-btn,.gps-table-actions .small-btn{
    min-width:0!important;padding-left:3px!important;padding-right:3px!important;font-size:.44rem!important;white-space:nowrap!important
  }

  /* Tablas simuladas con CSS Grid. */
  .amber-compact-table{width:100%!important;min-width:0!important;overflow-x:hidden!important}
  .amber-compact-table-head,.amber-compact-table-row{width:100%!important;min-width:0!important;max-width:100%!important;gap:3px!important}
  .amber-executive-operations-table .amber-compact-table-head,
  .amber-executive-operations-table .amber-compact-table-row{grid-template-columns:1.5fr .72fr .72fr 1.15fr 1fr .66fr!important}
  .amber-executive-ranking-table .amber-compact-table-head,
  .amber-executive-ranking-table .amber-compact-table-row{grid-template-columns:.48fr 1.42fr 1fr 1.28fr .86fr .72fr!important}
  .amber-executive-priority-table .amber-compact-table-head,
  .amber-executive-priority-table .amber-compact-table-row{grid-template-columns:.82fr 1.3fr 1.8fr .92fr .68fr!important}
  .route-monitor-header,.route-monitor-row{width:100%!important;min-width:0!important;grid-template-columns:1.05fr 1.2fr 1.45fr 1fr 1fr!important;gap:4px!important;padding-left:4px!important;padding-right:4px!important}

  /* Resúmenes/listados universales que todavía tenían anchos rígidos. */
  .amber-system-ultra-card{overflow:hidden!important}
  .amber-system-ultra-summary{
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:1.45fr .82fr .88fr .95fr 1.25fr .8fr .38fr!important;
  }
  .amber-system-ultra-summary>span,.amber-system-ultra-summary>div{padding-left:4px!important;padding-right:4px!important}

  .amber-aux-registry{width:100%!important}
  .amber-aux-registry-header{
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:1.35fr .82fr .82fr .9fr 1.15fr .96fr!important;
  }
  .amber-aux-registry .aux-management-selector-card{
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:minmax(0,1fr) .96fr!important;
  }
  .amber-aux-registry .aux-management-selector-main{
    width:100%!important;min-width:0!important;
    grid-template-columns:1.35fr .82fr .82fr .9fr 1.15fr!important;
  }
  .amber-aux-registry .empty-state{min-width:0!important;width:100%!important}
  .amber-aux-registry .aux-management-selector-identity,
  .amber-aux-registry .aux-management-selector-data>span{padding-left:4px!important;padding-right:4px!important}
  .amber-aux-registry .aux-management-selector-actions{grid-template-columns:minmax(0,1fr) auto!important;gap:2px!important;padding-left:3px!important;padding-right:3px!important}

  /* KPI y GPS: anchos de columnas heredados dejan de forzar scroll. */
  .kpi-management-register-table th,
  .gps-aux-table th{width:auto!important}

  /* Mapa GPS: elimina los mínimos de 690/850 px que provocaban desbordamiento. */
  #gpsmap.active{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr)!important;overflow-x:hidden!important}
  #gpsmap.active > .page-title,
  #gpsmap.active > .gps-toolbar.panel{min-width:0!important;max-width:100%!important;width:100%!important}
  #gpsmap.active > .gps-toolbar.panel{grid-template-columns:auto minmax(0,.8fr) minmax(0,1.15fr) auto!important}
}

/* Con escalado de Windows alto, apila la cabecera del GPS antes de permitir cualquier desbordamiento. */
@media (min-width:901px) and (max-width:1450px){
  #gpsmap.active{grid-template-columns:1fr!important}
  #gpsmap.active > .page-title{grid-column:1!important;grid-row:1!important}
  #gpsmap.active > .gps-toolbar.panel{grid-column:1!important;grid-row:2!important}
  #gpsmap.active > #gpsMainLayout,
  #gpsmap.active > .arrival-exceptions-panel,
  #gpsmap.active > .gps-history-report{grid-column:1!important}
}

/* AMBER V19.30.167 — buscadores, fechas y selectores compactos uniformes.
   En escritorio todos los controles de consulta/filtro usan 24 CSS px; con escala
   de Windows al 150% se perciben aprox. como 36 px físicos, igualando las referencias. */
@media (min-width:761px){
  :root{
    --amber-filter-control-height:24px;
    --amber-filter-font:.54rem;
    --amber-filter-label-font:.56rem;
    --amber-filter-select-width:190px;
    --amber-filter-date-width:160px;
    --amber-filter-search-width:240px;
  }

  /* Fechas, meses, horas y búsquedas identificables en cualquier módulo. */
  #appShell .page input[type="date"],
  #appShell .page input[type="month"],
  #appShell .page input[type="time"],
  #appShell .page input[type="search"],
  #appShell .page input[id$="Search"],
  #appShell .page input[placeholder*="Buscar" i],
  #appShell .page input[placeholder*="búsqueda" i]{
    height:var(--amber-filter-control-height)!important;
    min-height:var(--amber-filter-control-height)!important;
    max-height:var(--amber-filter-control-height)!important;
    padding:1px 6px!important;
    border-radius:4px!important;
    font-size:var(--amber-filter-font)!important;
    line-height:1!important;
  }

  /* Selectores que forman parte de filtros, barras y controles de consulta. */
  #appShell .page :is(
    .toolbar,.credential-toolbar,.closure-filters,.audit-filters,.report-filters,
    .report-period-toolbar,.gps-toolbar,.gps-history-controls,.attendance-monthly-filters,
    .permission-toolbar,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel,
    .kpi-management-register-controls,.report-filter-panel
  ) select,
  #appShell .page :is(
    .toolbar,.credential-toolbar,.closure-filters,.audit-filters,.report-filters,
    .report-period-toolbar,.gps-toolbar,.gps-history-controls,.attendance-monthly-filters,
    .permission-toolbar,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel,
    .kpi-management-register-controls,.report-filter-panel
  ) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]){
    height:var(--amber-filter-control-height)!important;
    min-height:var(--amber-filter-control-height)!important;
    max-height:var(--amber-filter-control-height)!important;
    padding:1px 6px!important;
    border-radius:4px!important;
    font-size:var(--amber-filter-font)!important;
    line-height:1!important;
  }

  /* Todos los selects de consulta directos de las páginas conservan la misma altura. */
  #appShell .page > .toolbar select,
  #appShell .page .panel > .toolbar select,
  #appShell .page > .credential-toolbar select,
  #appShell .page .panel > .credential-toolbar select{
    height:var(--amber-filter-control-height)!important;
    min-height:var(--amber-filter-control-height)!important;
    max-height:var(--amber-filter-control-height)!important;
    padding:1px 22px 1px 6px!important;
    font-size:var(--amber-filter-font)!important;
    line-height:1!important;
  }

  /* Etiquetas de filtros con menor separación vertical. */
  #appShell .page :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel,
    .report-filter-panel
  ) label{
    gap:2px!important;
    min-width:0!important;
    font-size:var(--amber-filter-label-font)!important;
    line-height:1!important;
  }

  /* Anchos visuales de referencia: fecha ~160, selector ~190, búsqueda ~240 CSS px. */
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label{
    width:min(var(--amber-filter-select-width),100%)!important;
    max-width:var(--amber-filter-select-width)!important;
  }
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label:has(input[type="date"]),
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label:has(input[type="month"]),
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label:has(input[type="time"]){
    width:min(var(--amber-filter-date-width),100%)!important;
    max-width:var(--amber-filter-date-width)!important;
  }
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label:has(input[id$="Search"]),
  #appShell .page:not(#routes) :is(
    .closure-filters,.audit-filters,.report-filters,.report-period-toolbar,.gps-toolbar,
    .attendance-monthly-filters,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ) label:has(input[placeholder*="Buscar" i]){
    width:min(var(--amber-filter-search-width),100%)!important;
    max-width:var(--amber-filter-search-width)!important;
  }

  /* Barras simples: buscador y selector dejan de ocupar más ancho del necesario. */
  #appShell .page:not(#routes) .toolbar > input[id$="Search"],
  #appShell .page:not(#routes) .toolbar > input[placeholder*="Buscar" i],
  #appShell .page:not(#routes) .credential-toolbar > input[id$="Search"],
  #appShell .page:not(#routes) .credential-toolbar > input[placeholder*="Buscar" i]{
    width:min(var(--amber-filter-search-width),100%)!important;
    max-width:var(--amber-filter-search-width)!important;
    flex:0 1 var(--amber-filter-search-width)!important;
  }
  #appShell .page:not(#routes) .toolbar > select,
  #appShell .page:not(#routes) .credential-toolbar > select{
    width:min(var(--amber-filter-select-width),100%)!important;
    max-width:var(--amber-filter-select-width)!important;
    flex:0 1 var(--amber-filter-select-width)!important;
  }

  /* Buscadores con botón/lupa mantienen botón y campo exactamente alineados. */
  #routes .amber-registry-search button,
  #appShell .page .audit-search-field button{
    height:var(--amber-filter-control-height)!important;
    min-height:var(--amber-filter-control-height)!important;
    max-height:var(--amber-filter-control-height)!important;
    width:var(--amber-filter-control-height)!important;
    min-width:var(--amber-filter-control-height)!important;
    padding:0!important;
    font-size:.52rem!important;
    line-height:1!important;
  }

  /* Menos espacio alrededor de los grupos de filtros. */
  #appShell .page :is(
    .toolbar,.credential-toolbar,.closure-filters,.audit-filters,.report-filters,
    .report-period-toolbar,.gps-toolbar,.gps-history-controls,.attendance-monthly-filters,
    .permission-toolbar,.integral-kpi-filters,.office-alert-center-filters,
    .office-document-filters,.improvement-attention-toolbar,.improvement-filter-panel
  ){
    gap:4px!important;
    row-gap:3px!important;
  }
}



/* AMBER V19.30.168 — cabeceras operativas en una sola línea, centradas y dentro de pantalla. */
@media (min-width:901px){
  /* 1) Centro de cierre y validación: título + 4 indicadores + filtros en un solo cuadro. */
  #closures.closure-page{overflow-x:hidden!important}
  #closures .closure-topline{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 4px!important;padding:4px 6px!important;
    display:grid!important;
    grid-template-columns:minmax(245px,1.08fr) minmax(430px,1.85fr) minmax(340px,1.25fr)!important;
    align-items:center!important;gap:6px!important;border-radius:8px!important;
  }
  #closures .closure-topline > .page-title{
    min-width:0!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;gap:4px!important;
  }
  #closures .closure-topline > .page-title > div:first-child{min-width:0!important}
  #closures .closure-topline > .page-title h1{
    margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #closures .closure-topline > .page-title p{
    margin:1px 0 0!important;font-size:.43rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #closures .closure-topline > .page-title .btn,
  #closures .closure-topline > .page-title .amber-visibility-toggle{
    min-height:22px!important;height:22px!important;max-height:22px!important;
    width:auto!important;padding:1px 5px!important;font-size:.48rem!important;white-space:nowrap!important;
  }
  #closures .closure-summary{
    min-width:0!important;width:100%!important;margin:0!important;gap:3px!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #closures .closure-summary article{
    min-width:0!important;min-height:30px!important;height:30px!important;max-height:30px!important;
    margin:0!important;padding:2px 4px!important;border-radius:5px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;gap:3px!important;
  }
  #closures .closure-summary span{
    min-width:0!important;font-size:.43rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #closures .closure-summary strong{margin:0!important;font-size:.76rem!important;line-height:1!important}
  #closures .closure-filters{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(125px,.78fr) minmax(180px,1.22fr)!important;
    align-items:center!important;gap:4px!important;
  }
  #closures .closure-filters label{
    min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
    font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #closures .closure-filters input,#closures .closure-filters select{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 4px!important;font-size:.48rem!important;border-radius:4px!important;
  }
  #closures #closureList.table-wrap{margin-top:0!important;width:100%!important;max-width:100%!important}

  /* 2) Mapa GPS: título, botones, estado, búsqueda y estado GPS en un solo cuadro/fila. */
  #gpsmap.active{display:block!important;overflow-x:hidden!important;width:100%!important;max-width:100%!important}
  #gpsmap .gps-operation-topline{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 4px!important;padding:4px 6px!important;border-radius:8px!important;
    display:grid!important;grid-template-columns:minmax(355px,.92fr) minmax(560px,1.42fr)!important;
    align-items:center!important;gap:6px!important;
  }
  #gpsmap .gps-operation-topline > .page-title{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(120px,1fr) auto!important;align-items:center!important;gap:5px!important;
    border:0!important;box-shadow:none!important;background:transparent!important;
  }
  #gpsmap .gps-operation-topline > .page-title h1{
    margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-operation-topline .gps-map-title-actions{
    min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:3px!important;flex-wrap:nowrap!important;
  }
  #gpsmap .gps-operation-topline .gps-map-title-actions .btn{
    width:auto!important;min-width:0!important;min-height:22px!important;height:22px!important;max-height:22px!important;
    padding:1px 6px!important;font-size:.48rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-operation-topline .gps-toolbar{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(165px,.78fr) minmax(240px,1.05fr) minmax(150px,.65fr)!important;
    align-items:center!important;gap:4px!important;
  }
  #gpsmap .gps-operation-topline .gps-toolbar label{
    min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
    font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-operation-topline .gps-toolbar select,
  #gpsmap .gps-operation-topline .gps-toolbar input{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 4px!important;font-size:.48rem!important;border-radius:4px!important;
  }
  #gpsmap .gps-operation-topline .gps-refresh-info{
    min-width:0!important;min-height:22px!important;margin:0!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:4px!important;
    font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-operation-topline .gps-refresh-info small{font-size:.42rem!important;white-space:nowrap!important}

  /* 3) Historial GPS: título/descripción + selector + acciones en una sola línea dentro del panel. */
  #gpsmap .gps-history-report{width:100%!important;max-width:100%!important;min-width:0!important;padding:4px 6px!important;margin-top:4px!important}
  #gpsmap .gps-history-topline{
    width:100%!important;max-width:100%!important;min-width:0!important;
    display:grid!important;grid-template-columns:minmax(265px,.82fr) minmax(0,1.88fr)!important;
    align-items:center!important;gap:6px!important;
  }
  #gpsmap .gps-history-topline > .page-title{
    min-width:0!important;margin:0!important;padding:0!important;display:block!important;
  }
  #gpsmap .gps-history-topline > .page-title h2{
    margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-history-topline > .page-title p{
    margin:1px 0 0!important;font-size:.43rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #gpsmap .gps-history-topline .gps-history-controls{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(210px,1fr) repeat(4,auto)!important;
    align-items:center!important;gap:3px!important;
  }
  #gpsmap .gps-history-topline .gps-history-controls select{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 20px 1px 4px!important;font-size:.48rem!important;border-radius:4px!important;
  }
  #gpsmap .gps-history-topline .gps-history-controls .btn{
    min-width:0!important;width:auto!important;min-height:22px!important;height:22px!important;max-height:22px!important;
    padding:1px 5px!important;font-size:.47rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #gpsmap .gps-history-report > #gpsHistorySummary{margin:3px 0 0!important;font-size:.45rem!important}
}

/* En pantallas de escritorio estrechas se conserva una sola fila ocultando solo textos secundarios. */
@media (min-width:901px) and (max-width:1250px){
  #closures .closure-topline{grid-template-columns:minmax(205px,.92fr) minmax(350px,1.72fr) minmax(300px,1.2fr)!important}
  #closures .closure-topline > .page-title p,
  #gpsmap .gps-history-topline > .page-title p{display:none!important}
  #gpsmap .gps-operation-topline{grid-template-columns:minmax(310px,.9fr) minmax(500px,1.45fr)!important}
  #gpsmap .gps-operation-topline .gps-refresh-info small{display:none!important}
}

/* En móvil/tableta se permite apilar para mantener legibilidad y tacto. */
@media (max-width:900px){
  #closures .closure-topline{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  #closures .closure-summary{grid-template-columns:repeat(2,1fr)!important}
  #closures .closure-filters{grid-template-columns:1fr!important}
  #gpsmap .gps-operation-topline{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  #gpsmap .gps-operation-topline .gps-toolbar{grid-template-columns:1fr!important}
  #gpsmap .gps-history-topline{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  #gpsmap .gps-history-topline .gps-history-controls{grid-template-columns:1fr 1fr!important}
  #gpsmap .gps-history-topline .gps-history-controls select{grid-column:1/-1!important}
}


/* AMBER V19.30.170 — KPI y Reportes: tres cabeceras/filtros en fila única centrada. */
@media (min-width:901px){
  #reports{overflow-x:hidden!important;width:100%!important;max-width:100%!important}

  /* 1) Cabecera + período + acciones, todo dentro de un solo cuadro y una sola línea. */
  #reports .reports-period-topline{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 4px!important;padding:4px 6px!important;border-radius:8px!important;
    display:grid!important;grid-template-columns:minmax(500px,.95fr) minmax(680px,1.25fr)!important;
    align-items:center!important;gap:6px!important;
  }
  #reports .reports-period-topline > .page-title{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(125px,.52fr) minmax(0,1.48fr) auto!important;
    align-items:center!important;gap:4px!important;border:0!important;background:transparent!important;box-shadow:none!important;
  }
  #reports .reports-period-topline > .page-title > div:first-child{min-width:0!important}
  #reports .reports-period-topline > .page-title h1{
    margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .reports-period-topline > .page-title p{
    margin:1px 0 0!important;font-size:.42rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #reports .reports-period-topline .report-actions{
    min-width:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
    justify-content:center!important;gap:3px!important;
  }
  #reports .reports-period-topline .report-actions .btn,
  #reports .reports-period-topline > .page-title > .amber-visibility-toggle{
    width:auto!important;min-width:0!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 5px!important;border-radius:5px!important;font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .reports-period-topline .report-period-toolbar{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;
    display:grid!important;grid-template-columns:minmax(150px,.9fr) minmax(165px,1fr) auto auto minmax(145px,.9fr)!important;
    align-items:center!important;gap:4px!important;
  }
  #reports .reports-period-topline .report-period-toolbar label{
    min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
    font-size:.45rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .reports-period-topline .report-period-toolbar label > span{white-space:nowrap!important}
  #reports .reports-period-topline .report-period-toolbar input,
  #reports .reports-period-topline .report-period-toolbar select{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 4px!important;border-radius:4px!important;font-size:.48rem!important;line-height:1!important;
  }
  #reports .reports-period-topline .report-period-toolbar .btn{
    width:auto!important;min-width:0!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 5px!important;border-radius:4px!important;font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .reports-period-topline .period-caption{
    min-width:0!important;width:100%!important;max-width:none!important;height:22px!important;min-height:22px!important;
    margin:0!important;padding:2px 5px!important;border-radius:4px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    overflow:hidden!important;white-space:nowrap!important;
  }
  #reports .reports-period-topline .period-caption b{font-size:.48rem!important;line-height:1!important;white-space:nowrap!important}
  #reports .reports-period-topline .period-caption small{
    min-width:0!important;margin:0!important;font-size:.41rem!important;line-height:1!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }

  /* 2) Desde/Hasta/Auxiliar/Cliente/Tipo + acciones en una sola línea. */
  #reports .report-filter-panel{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 4px!important;padding:4px 6px!important;border-radius:8px!important;display:block!important;
  }
  #reports .report-filter-panel > .report-filters.panel-head{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(115px,.8fr) minmax(115px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(165px,1.05fr) auto auto auto!important;
    align-items:center!important;gap:4px!important;border:0!important;background:transparent!important;
  }
  #reports .report-filter-panel .report-filters label{
    min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
    font-size:.45rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .report-filter-panel .report-filters label > span{white-space:nowrap!important}
  #reports .report-filter-panel .report-filters input,
  #reports .report-filter-panel .report-filters select{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 4px!important;border-radius:4px!important;font-size:.48rem!important;line-height:1!important;
  }
  #reports .report-filter-panel .report-filters .btn,
  #reports .report-filter-panel .report-filters > .amber-visibility-toggle{
    width:auto!important;min-width:0!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 6px!important;border-radius:4px!important;font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .report-filter-panel > .report-filter-status{display:none!important}

  /* 3) KPI integral: título, explicación, resultado, mes, auxiliar y acciones en una sola línea. */
  #reports .integral-kpi-panel{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 4px!important;padding:4px 6px!important;border-radius:8px!important;border-top-width:2px!important;
  }
  #reports .integral-kpi-panel > .integral-kpi-head.panel-head{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 4px!important;padding:0!important;
    display:grid!important;grid-template-columns:minmax(430px,1.05fr) minmax(600px,1.35fr) auto!important;
    align-items:center!important;gap:5px!important;border:0!important;background:transparent!important;
  }
  #reports .integral-kpi-head > div:first-child{
    min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;overflow:hidden!important;
  }
  #reports .integral-kpi-kicker{font-size:.42rem!important;line-height:1!important;letter-spacing:.04em!important;white-space:nowrap!important}
  #reports .integral-kpi-head h2{margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important}
  #reports .integral-kpi-head p{
    min-width:0!important;margin:0!important;font-size:.43rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #reports .integral-kpi-head small{
    min-width:0!important;margin:0!important;font-size:.42rem!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #reports .integral-kpi-filters{
    min-width:0!important;width:100%!important;margin:0!important;
    display:grid!important;grid-template-columns:minmax(150px,.85fr) minmax(185px,1.05fr) auto auto auto!important;
    align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;
  }
  #reports .integral-kpi-filters label{
    min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
    font-size:.45rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #reports .integral-kpi-filters input,#reports .integral-kpi-filters select{
    min-width:0!important;width:100%!important;max-width:none!important;
    height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 4px!important;border-radius:4px!important;font-size:.48rem!important;line-height:1!important;
  }
  #reports .integral-kpi-filters .btn,
  #reports .integral-kpi-head > .amber-visibility-toggle{
    width:auto!important;min-width:0!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 6px!important;border-radius:4px!important;font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }

  /* Evita que reglas históricas vuelvan a convertir estos tres bloques en varias filas. */
  #reports .reports-period-topline,
  #reports .report-filter-panel,
  #reports .integral-kpi-panel{box-sizing:border-box!important;overflow:hidden!important}
}

/* En escritorio estrecho se conserva una sola fila ocultando únicamente textos secundarios. */
@media (min-width:901px) and (max-width:1350px){
  #reports .reports-period-topline{grid-template-columns:minmax(410px,.9fr) minmax(500px,1.1fr)!important}
  #reports .reports-period-topline > .page-title p{display:none!important}
  #reports .reports-period-topline .report-actions .btn{font-size:.42rem!important;padding-inline:3px!important}
  #reports .reports-period-topline .report-period-toolbar label > span{display:none!important}
  #reports .reports-period-topline .period-caption small{display:none!important}
  #reports .report-filter-panel .report-filters label{grid-template-columns:minmax(0,1fr)!important}
  #reports .report-filter-panel .report-filters label > span{display:none!important}
  #reports .integral-kpi-panel > .integral-kpi-head.panel-head{grid-template-columns:minmax(235px,.7fr) minmax(500px,1.3fr) auto!important}
  #reports .integral-kpi-kicker,#reports .integral-kpi-head p{display:none!important}
  #reports .integral-kpi-head small{max-width:155px!important}
  #reports .integral-kpi-filters label{grid-template-columns:minmax(0,1fr)!important}
  #reports .integral-kpi-filters label{font-size:0!important}
}

/* Tableta/móvil: prioriza legibilidad y permite apilado controlado. */
@media (max-width:900px){
  #reports .reports-period-topline{display:block!important;padding:6px!important}
  #reports .reports-period-topline > .page-title{margin-bottom:5px!important}
  #reports .reports-period-topline .report-period-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #reports .report-filter-panel > .report-filters.panel-head{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #reports .integral-kpi-panel > .integral-kpi-head.panel-head{display:block!important}
  #reports .integral-kpi-filters{margin-top:5px!important}
}

/* AMBER V19.30.170 — Centro de notificaciones en una sola línea, centrado y ajustado a pantalla. */
@media (min-width:901px){
  #notifications{
    width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;
  }
  #notifications .notification-topline{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
    margin:0 0 4px!important;padding:4px 6px!important;border-radius:8px!important;
    display:grid!important;grid-template-columns:minmax(250px,.78fr) minmax(350px,1fr) minmax(360px,1.05fr)!important;
    align-items:center!important;justify-items:stretch!important;gap:6px!important;overflow:hidden!important;
  }
  #notifications .notification-topline > .page-title{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px!important;
  }
  #notifications .notification-topline > .page-title > div:first-child{
    min-width:0!important;text-align:center!important;
  }
  #notifications .notification-topline > .page-title h1{
    margin:0!important;font-size:.72rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #notifications .notification-topline > .page-title p{
    margin:1px 0 0!important;font-size:.42rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #notifications #sendPendingNotifications{
    width:auto!important;min-width:0!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    padding:1px 6px!important;border-radius:4px!important;font-size:.46rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #notifications .notification-stats{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;
    display:grid!important;grid-template-columns:.52fr .62fr 1.35fr!important;align-items:center!important;gap:4px!important;
  }
  #notifications .notification-stats > div{
    min-width:0!important;height:28px!important;min-height:28px!important;max-height:28px!important;
    margin:0!important;padding:2px 4px!important;border-radius:5px!important;box-shadow:none!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;overflow:hidden!important;
  }
  #notifications .notification-stats span{
    margin:0!important;font-size:.43rem!important;line-height:1!important;white-space:nowrap!important;
  }
  #notifications .notification-stats b{
    min-width:0!important;margin:0!important;font-size:.58rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #notifications .notification-toolbar{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
    display:grid!important;grid-template-columns:minmax(190px,1.25fr) minmax(150px,.85fr)!important;align-items:center!important;gap:4px!important;
  }
  #notifications .notification-toolbar input,
  #notifications .notification-toolbar select{
    min-width:0!important;width:100%!important;max-width:none!important;height:22px!important;min-height:22px!important;max-height:22px!important;
    margin:0!important;padding:1px 4px!important;border-radius:4px!important;font-size:.48rem!important;line-height:1!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  #notifications .notification-topline{
    grid-template-columns:minmax(205px,.65fr) minmax(300px,.9fr) minmax(330px,1.05fr)!important;gap:4px!important;
  }
  #notifications .notification-topline > .page-title p{display:none!important}
  #notifications .notification-stats span{font-size:.40rem!important}
  #notifications .notification-stats b{font-size:.52rem!important}
  #notifications #sendPendingNotifications{padding-inline:4px!important;font-size:.42rem!important}
}

@media (max-width:900px){
  #notifications .notification-topline{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:6px!important}
  #notifications .notification-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:0!important;gap:4px!important}
  #notifications .notification-toolbar{grid-template-columns:1fr!important;margin:0!important;gap:4px!important}
}


/* AMBER V19.30.171 — Cierre y validación + KPI/Reportes sin Ocultar/Mostrar información.
   Reequilibra el espacio liberado para dejar todo centrado, uniforme y a la medida. */
#closures .amber-visibility-toggle,
#closures .amber-module-visibility-bar,
#reports .amber-visibility-toggle,
#reports .amber-module-visibility-bar{
  display:none!important;
}

@media (min-width:901px){
  /* Cierre y validación: dos elementos reales en la cabecera (título + Actualizar). */
  #closures .closure-topline > .page-title{
    grid-template-columns:minmax(0,1fr) auto!important;
    justify-items:center!important;
    align-items:center!important;
  }
  #closures .closure-topline > .page-title > div:first-child{
    min-width:0!important;
    width:100%!important;
    text-align:center!important;
  }
  #closures .closure-topline > .page-title .btn{
    justify-self:end!important;
  }
  #closures .closure-summary{
    align-items:center!important;
    justify-items:stretch!important;
  }
  #closures .closure-summary article{
    justify-content:center!important;
    text-align:center!important;
    border-radius:5px!important;
  }
  #closures .closure-summary span,
  #closures .closure-summary strong{
    text-align:center!important;
  }
  #closures .closure-filters{
    justify-content:center!important;
    align-items:center!important;
  }
  #closures .closure-filters label{
    align-items:center!important;
  }

  /* KPI/Reportes: eliminar las columnas que antes reservaban espacio al botón de visibilidad. */
  #reports .reports-period-topline > .page-title{
    grid-template-columns:minmax(130px,.52fr) minmax(0,1.48fr)!important;
    justify-items:stretch!important;
    align-items:center!important;
  }
  #reports .reports-period-topline > .page-title > div:first-child{
    width:100%!important;
    text-align:center!important;
  }
  #reports .reports-period-topline .report-actions{
    justify-content:center!important;
  }

  #reports .report-filter-panel > .report-filters.panel-head{
    grid-template-columns:minmax(115px,.8fr) minmax(115px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(165px,1.05fr) auto auto!important;
    justify-items:stretch!important;
    align-items:center!important;
  }
  #reports .report-filter-panel .report-filters .btn{
    justify-self:center!important;
  }

  #reports .integral-kpi-panel > .integral-kpi-head.panel-head{
    grid-template-columns:minmax(430px,1.05fr) minmax(600px,1.35fr)!important;
    justify-items:stretch!important;
    align-items:center!important;
  }
  #reports .integral-kpi-head > div:first-child{
    justify-content:center!important;
    text-align:center!important;
  }
  #reports .integral-kpi-filters{
    justify-content:center!important;
  }

  /* Paneles inferiores KPI: títulos centrados una vez eliminado el botón Ocultar/Mostrar. */
  #reports .report-insight-head,
  #reports .kpi-management-register > .panel-head{
    justify-content:center!important;
    text-align:center!important;
  }
  #reports .report-insight-head h2,
  #reports .kpi-management-register > .panel-head h2{
    width:100%!important;
    text-align:center!important;
    margin-inline:auto!important;
  }

  /* Geometría uniforme de los cuadros superiores. */
  #closures .closure-topline,
  #reports .reports-period-topline,
  #reports .report-filter-panel,
  #reports .integral-kpi-panel{
    border-radius:6px!important;
    box-sizing:border-box!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* Escritorio más estrecho: se mantienen las mismas dos/siete/dos columnas reales. */
@media (min-width:901px) and (max-width:1350px){
  #reports .reports-period-topline > .page-title{
    grid-template-columns:minmax(110px,.45fr) minmax(0,1.55fr)!important;
  }
  #reports .report-filter-panel > .report-filters.panel-head{
    grid-template-columns:repeat(5,minmax(95px,1fr)) auto auto!important;
  }
  #reports .integral-kpi-panel > .integral-kpi-head.panel-head{
    grid-template-columns:minmax(235px,.72fr) minmax(500px,1.28fr)!important;
  }
}

/* En móvil/tableta no aparecen los controles de ocultar/mostrar y el contenido queda visible. */
@media (max-width:900px){
  #closures .amber-visibility-toggle,
  #closures .amber-module-visibility-bar,
  #reports .amber-visibility-toggle,
  #reports .amber-module-visibility-bar{
    display:none!important;
  }
}

/* AMBER V19.30.172 — paquete acumulado de correcciones visuales solicitado. */

/* Gestiones: eliminar el naranja del botón Exportar CSV y usar el tono estándar del sistema. */
#routes #exportBtn{
  background:#e8eef3!important;
  color:var(--navy)!important;
  border-color:#d5e0e8!important;
}
#routes #exportBtn:hover{background:#dce7ef!important;color:var(--navy)!important}

@media (min-width:901px){
  /* GPS: conservar el selector de historial con el tamaño de referencia indicado. */
  #gpsmap .gps-history-topline .gps-history-controls{
    grid-template-columns:220px repeat(4,auto)!important;
    justify-content:center!important;
    justify-items:center!important;
  }
  #gpsmap #gpsHistoryManagement{
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    padding:2px 24px 2px 6px!important;
    font-size:.58rem!important;
    border-radius:5px!important;
  }

  /* KPI y Reportes: cabecera superior ligeramente mayor, sin perder la fila única. */
  #reports .reports-period-topline{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
    gap:7px!important;
    padding:5px 7px!important;
    min-height:40px!important;
  }
  #reports .reports-period-topline > .page-title{
    grid-template-columns:minmax(135px,.43fr) minmax(0,1.57fr)!important;
    gap:5px!important;
  }
  #reports .reports-period-topline > .page-title h1{
    font-size:.88rem!important;
    line-height:1.05!important;
  }
  #reports .reports-period-topline > .page-title p{
    font-size:.50rem!important;
    margin:2px 0 0!important;
  }
  #reports .reports-period-topline .report-actions{gap:4px!important}
  #reports .reports-period-topline .report-actions .btn{
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    padding:2px 7px!important;
    font-size:.56rem!important;
    border-radius:5px!important;
  }
  #reports .reports-period-topline .report-period-toolbar{
    grid-template-columns:minmax(120px,.86fr) minmax(130px,.9fr) auto auto minmax(135px,.9fr)!important;
    gap:4px!important;
  }
  #reports .reports-period-topline .report-period-toolbar label{font-size:.50rem!important;gap:3px!important}
  #reports .reports-period-topline .report-period-toolbar input,
  #reports .reports-period-topline .report-period-toolbar select,
  #reports .reports-period-topline .report-period-toolbar .btn,
  #reports .reports-period-topline .period-caption{
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    border-radius:5px!important;
  }
  #reports .reports-period-topline .report-period-toolbar input,
  #reports .reports-period-topline .report-period-toolbar select{font-size:.57rem!important;padding:2px 5px!important}
  #reports .reports-period-topline .report-period-toolbar .btn{font-size:.54rem!important;padding:2px 6px!important}
  #reports .reports-period-topline .period-caption b{font-size:.58rem!important}
  #reports .reports-period-topline .period-caption small{font-size:.47rem!important}

  /* KPI: Detalle de gestiones del período compacto, centrado y sin desbordamiento horizontal. */
  #reports .kpi-management-register{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:6px!important}
  #reports .kpi-management-register-head{
    min-height:34px!important;
    padding:4px 7px!important;
    align-items:center!important;
  }
  #reports .kpi-management-register-head h2{font-size:.78rem!important;text-align:center!important;margin:0!important}
  #reports .kpi-management-register-head p{font-size:.51rem!important;text-align:center!important;margin:1px 0 0!important}
  #reports .kpi-management-register-controls{font-size:.52rem!important;gap:5px!important}
  #reports .kpi-management-register-controls select{
    height:24px!important;min-height:24px!important;max-height:24px!important;
    padding:1px 20px 1px 5px!important;font-size:.52rem!important;border-radius:4px!important;
  }
  #reports .kpi-management-register-scroll{overflow:hidden!important;width:100%!important}
  #reports .kpi-management-register-table{
    width:100%!important;max-width:100%!important;min-width:0!important;
    table-layout:fixed!important;font-size:.56rem!important;
  }
  #reports .kpi-management-register-table th,
  #reports .kpi-management-register-table td{
    min-width:0!important;max-width:none!important;height:auto!important;min-height:30px!important;
    padding:3px 4px!important;font-size:.56rem!important;line-height:1.08!important;
    text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;
  }
  #reports .kpi-management-register-table th{height:28px!important;font-size:.55rem!important}
  #reports .kpi-management-register-table td b{font-size:.57rem!important;line-height:1.06!important}
  #reports .kpi-management-register-table td small{font-size:.47rem!important;line-height:1.04!important;margin-top:1px!important}
  #reports .kpi-management-register-table th:nth-child(1){width:13%!important}
  #reports .kpi-management-register-table th:nth-child(2){width:11%!important}
  #reports .kpi-management-register-table th:nth-child(3){width:10%!important}
  #reports .kpi-management-register-table th:nth-child(4){width:13%!important}
  #reports .kpi-management-register-table th:nth-child(5){width:12%!important}
  #reports .kpi-management-register-table th:nth-child(6){width:11%!important}
  #reports .kpi-management-register-table th:nth-child(7){width:12%!important}
  #reports .kpi-management-register-table th:nth-child(8){width:10%!important}
  #reports .kpi-management-register-table th:nth-child(9){width:8%!important}
  #reports .kpi-management-state{
    max-width:100%!important;padding:3px 4px!important;font-size:.48rem!important;line-height:1.02!important;
    white-space:normal!important;border-radius:8px!important;
  }
  #reports .kpi-management-actions{justify-content:center!important;gap:2px!important;white-space:normal!important}
  #reports .kpi-management-actions .small-btn{
    min-height:23px!important;height:23px!important;padding:2px 4px!important;font-size:.48rem!important;border-radius:4px!important;
  }
  #reports .kpi-management-register-footer{padding:4px 7px!important;font-size:.52rem!important;min-height:29px!important}
  #reports .kpi-management-register-footer .small-btn{
    min-height:23px!important;height:23px!important;padding:2px 6px!important;font-size:.50rem!important;border-radius:4px!important;
  }

  /* Cierre y validación: tabla más pequeña, centrada y completamente dentro de la página. */
  #closures #closureList{width:100%!important;max-width:100%!important;overflow:hidden!important;padding:0!important}
  #closures .closure-table{
    width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:.56rem!important;
  }
  #closures .closure-table th,
  #closures .closure-table td{
    padding:3px 5px!important;font-size:.56rem!important;line-height:1.08!important;
    text-align:center!important;vertical-align:middle!important;white-space:normal!important;
    overflow-wrap:anywhere!important;word-break:break-word!important;
  }
  #closures .closure-table th{height:28px!important;font-size:.55rem!important}
  #closures .closure-table th:nth-child(1){width:17%!important}
  #closures .closure-table th:nth-child(2){width:17%!important}
  #closures .closure-table th:nth-child(3){width:17%!important}
  #closures .closure-table th:nth-child(4){width:17%!important}
  #closures .closure-table th:nth-child(5){width:17%!important}
  #closures .closure-table th:nth-child(6){width:15%!important}
  #closures .closure-table .muted{font-size:.50rem!important;line-height:1.06!important;margin-top:1px!important}
  #closures .closure-table .badge{font-size:.50rem!important;padding:2px 5px!important;border-radius:7px!important}
  #closures .validation-note{
    margin:2px 0 0!important;padding:3px 4px!important;font-size:.52rem!important;line-height:1.06!important;
    border-left:2px solid var(--navy2)!important;background:#f3f7fa!important;border-radius:3px!important;
  }
  #closures .closure-table .table-actions{justify-content:center!important;gap:3px!important}
  #closures .closure-table .small-btn{min-height:23px!important;padding:2px 5px!important;font-size:.49rem!important;border-radius:4px!important}

  /* Planes de mejora: cabecera + seis indicadores con altura total equivalente a una franja compacta. */
  #improvementPlans > .page-title{
    min-height:30px!important;height:30px!important;margin:0!important;padding:2px 5px!important;
    align-items:center!important;border-bottom:1px solid #d7e2ea!important;
  }
  #improvementPlans > .page-title h1{font-size:.78rem!important;line-height:1!important;margin:0!important}
  #improvementPlans > .page-title p{
    font-size:.46rem!important;line-height:1!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #improvementPlans > .page-title .btn{height:24px!important;min-height:24px!important;padding:2px 6px!important;font-size:.50rem!important;border-radius:4px!important}
  #improvementPlans > .improvement-summary{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;margin:4px 0 5px!important;
  }
  #improvementPlans > .improvement-summary article{
    min-width:0!important;height:34px!important;min-height:34px!important;max-height:34px!important;
    padding:3px 6px!important;border-radius:5px!important;box-shadow:none!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;text-align:center!important;
  }
  #improvementPlans > .improvement-summary span{font-size:.50rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #improvementPlans > .improvement-summary strong{font-size:.82rem!important;line-height:1!important;margin:0!important}

  /* Reporte ejecutivo de planes: cabecera en una línea. */
  #improvementPlans .improvement-executive-report{padding:6px!important;border-radius:6px!important}
  #improvementPlans .improvement-executive-head{
    display:grid!important;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)!important;
    align-items:center!important;gap:6px!important;margin:0 0 5px!important;
  }
  #improvementPlans .improvement-executive-head > div:first-child{min-width:0!important;text-align:center!important}
  #improvementPlans .improvement-executive-head > div:first-child > span{font-size:.48rem!important;margin:0!important;color:var(--navy2)!important}
  #improvementPlans .improvement-executive-head h2{font-size:.78rem!important;line-height:1!important;margin:1px 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #improvementPlans .improvement-executive-head p{font-size:.45rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #improvementPlans .improvement-executive-controls{
    min-width:0!important;display:grid!important;grid-template-columns:minmax(120px,.75fr) minmax(155px,1fr) auto auto auto!important;
    align-items:center!important;justify-content:center!important;gap:4px!important;flex-wrap:nowrap!important;
  }
  #improvementPlans .improvement-executive-controls label{
    min-width:0!important;width:100%!important;font-size:.48rem!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:3px!important;
  }
  #improvementPlans .improvement-executive-controls input,
  #improvementPlans .improvement-executive-controls select,
  #improvementPlans .improvement-executive-controls .btn{
    min-width:0!important;height:25px!important;min-height:25px!important;max-height:25px!important;
    padding:2px 5px!important;font-size:.50rem!important;border-radius:4px!important;margin:0!important;
  }
  #improvementPlans .improvement-executive-summary{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;margin:0 0 5px!important;
  }
  #improvementPlans .improvement-executive-summary article{
    min-height:34px!important;height:34px!important;max-height:34px!important;padding:3px 7px!important;border-radius:5px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;text-align:center!important;
  }
  #improvementPlans .improvement-executive-summary span{font-size:.49rem!important;margin:0!important;white-space:nowrap!important}
  #improvementPlans .improvement-executive-summary strong{font-size:.80rem!important;line-height:1!important}
  #improvementPlans .improvement-executive-grid{
    grid-template-columns:minmax(0,2.2fr) minmax(230px,.8fr)!important;gap:6px!important;align-items:start!important;
  }
  #improvementPlans .improvement-executive-grid h3{font-size:.68rem!important;margin:0 0 3px!important;text-align:center!important;line-height:1!important}
  #improvementPlans .improvement-report-table,
  #improvementPlans .improvement-responsible-list{
    min-height:58px!important;max-height:92px!important;overflow:auto!important;border-radius:5px!important;
  }
  #improvementPlans .improvement-empty{padding:12px!important;min-height:58px!important;font-size:.58rem!important;border-radius:5px!important}
  #improvementPlans .improvement-report-table th,
  #improvementPlans .improvement-report-table td{padding:3px 4px!important;font-size:.54rem!important;line-height:1.05!important}
  #improvementPlans .improvement-responsible-list{gap:3px!important}
  #improvementPlans .improvement-responsible-list article{padding:4px 6px!important;border-radius:4px!important;gap:1px 5px!important}
  #improvementPlans .improvement-responsible-list b,
  #improvementPlans .improvement-responsible-list span,
  #improvementPlans .improvement-responsible-list small{font-size:.50rem!important;line-height:1.04!important;margin:0!important}
  #improvementPlans .improvement-responsible-list strong{font-size:.70rem!important}
  #improvementPlans .improvement-report-updated{margin-top:3px!important;font-size:.45rem!important}

  /* Crear plan de mejora: ocho campos en dos filas, botón integrado en la cabecera y sin café/naranja. */
  #improvementPlans #improvementCreatePanel{
    position:relative!important;margin-top:6px!important;padding:5px!important;border-radius:6px!important;
    border-color:#d4e0e8!important;background:#fff!important;
  }
  #improvementPlans #improvementCreatePanel .section-banner{
    height:31px!important;min-height:31px!important;margin:-5px -5px 5px!important;padding:6px 145px 5px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    font-size:.82rem!important;line-height:1!important;border-radius:6px 6px 0 0!important;
    background:#eaf2f8!important;color:var(--navy)!important;border-bottom:2px solid var(--navy2)!important;
  }
  #improvementPlans #improvementCreateForm .form-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:5px!important;
  }
  #improvementPlans #improvementCreateForm .form-grid > label,
  #improvementPlans #improvementCreateForm .form-grid > label.full{
    grid-column:auto!important;min-width:0!important;gap:2px!important;font-size:.52rem!important;line-height:1!important;
  }
  #improvementPlans #improvementCreateForm input,
  #improvementPlans #improvementCreateForm select{
    height:28px!important;min-height:28px!important;max-height:28px!important;
    padding:2px 6px!important;font-size:.56rem!important;border-radius:4px!important;
    border:1px solid #b8c7d4!important;background:#fff!important;
  }
  #improvementPlans #improvementCreateForm textarea{
    height:46px!important;min-height:46px!important;max-height:46px!important;resize:none!important;
    padding:4px 6px!important;font-size:.55rem!important;line-height:1.12!important;border-radius:4px!important;
    border:1px solid #b8c7d4!important;background:#fff!important;
  }
  #improvementPlans #improvementCreateForm select:focus,
  #improvementPlans #improvementCreateForm input:focus,
  #improvementPlans #improvementCreateForm textarea:focus{border-color:var(--navy2)!important;background:#fff!important;outline:1px solid #8db5d4!important}
  #improvementPlans #improvementCreateForm .form-actions{
    position:absolute!important;top:3px!important;right:6px!important;margin:0!important;z-index:2!important;
  }
  #improvementPlans #improvementCreateForm .form-actions .btn{
    height:25px!important;min-height:25px!important;padding:2px 7px!important;font-size:.50rem!important;border-radius:4px!important;
    background:var(--navy)!important;color:#fff!important;
  }

  /* Notificaciones: eliminar Canales y redistribuir el espacio en una sola línea. */
  #notifications .notification-topline{
    grid-template-columns:minmax(250px,.82fr) minmax(170px,.48fr) minmax(420px,1.35fr)!important;
    gap:5px!important;
  }
  #notifications .notification-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
  #notifications .notification-stats > div{height:27px!important;min-height:27px!important;max-height:27px!important}
  #notifications .notification-toolbar{grid-template-columns:minmax(240px,1.35fr) minmax(170px,.85fr)!important}

  /* Entrega de documentos: título, acción y cinco indicadores en una sola línea. */
  #documents.active{
    display:grid!important;grid-template-columns:minmax(275px,.82fr) minmax(0,2.18fr)!important;
    column-gap:6px!important;row-gap:5px!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;
  }
  #documents > .page-title{
    min-width:0!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:3px 5px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px!important;
    border:1px solid var(--line)!important;border-radius:6px!important;background:#fff!important;
  }
  #documents > .page-title > div:first-child{min-width:0!important;text-align:center!important}
  #documents > .page-title h1{font-size:.76rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents > .page-title p{font-size:.45rem!important;line-height:1!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents > .page-title .btn{height:25px!important;min-height:25px!important;padding:2px 6px!important;font-size:.49rem!important;border-radius:4px!important;white-space:nowrap!important}
  #documents > .office-document-summary{
    min-width:0!important;width:100%!important;height:42px!important;min-height:42px!important;max-height:42px!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;margin:0!important;
  }
  #documents > .office-document-summary article{
    min-width:0!important;height:42px!important;min-height:42px!important;max-height:42px!important;
    padding:3px 6px!important;border-radius:6px!important;box-shadow:none!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:5px!important;text-align:center!important;
  }
  #documents > .office-document-summary span{font-size:.49rem!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents > .office-document-summary strong{font-size:.82rem!important;line-height:1!important;margin:0!important}
  #documents > .panel{grid-column:1/-1!important;width:100%!important;max-width:100%!important;margin-top:0!important}

  /* Documentos pendientes: título, explicación, actualizar, búsqueda y estado en una sola fila. */
  #documents .office-document-control-panel{
    display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr)!important;
    align-items:center!important;gap:5px!important;padding:4px 6px!important;border-radius:6px!important;
    border-color:#d6e1e8!important;background:#fff!important;
  }
  #documents .office-document-control-panel > .page-title{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px!important;
  }
  #documents .office-document-control-panel > .page-title > div:first-child{min-width:0!important;text-align:center!important}
  #documents .office-document-control-panel > .page-title h2{font-size:.70rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents .office-document-control-panel > .page-title p{font-size:.43rem!important;line-height:1!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents .office-document-control-panel > .page-title .btn,
  #documents .office-document-control-panel > .page-title .amber-visibility-toggle{
    height:24px!important;min-height:24px!important;padding:2px 6px!important;font-size:.47rem!important;border-radius:4px!important;white-space:nowrap!important;
  }
  #documents .office-document-control-panel > .office-document-filters{
    min-width:0!important;width:100%!important;margin:0!important;display:grid!important;
    grid-template-columns:minmax(180px,1fr) minmax(165px,.72fr)!important;gap:4px!important;align-items:center!important;
  }
  #documents .office-document-control-panel .office-document-filters label{min-width:0!important;gap:1px!important;font-size:.45rem!important;line-height:1!important}
  #documents .office-document-control-panel .office-document-filters input,
  #documents .office-document-control-panel .office-document-filters select{
    min-width:0!important;width:100%!important;max-width:none!important;height:24px!important;min-height:24px!important;max-height:24px!important;
    padding:1px 5px!important;font-size:.49rem!important;border-radius:4px!important;
  }
  #documents .office-document-control-panel > .table-wrap{grid-column:1/-1!important;margin-top:2px!important}

  /* Historial general de documentos: una sola línea y sin Ocultar/Mostrar. */
  #documents .document-history-panel{
    display:grid!important;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)!important;
    align-items:center!important;gap:5px!important;padding:4px 6px!important;border-radius:6px!important;
  }
  #documents .document-history-panel > .page-title{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  }
  #documents .document-history-panel > .page-title > div:first-child{min-width:0!important;width:100%!important;text-align:center!important}
  #documents .document-history-panel > .page-title h2{font-size:.70rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents .document-history-panel > .page-title p{font-size:.44rem!important;line-height:1!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #documents .document-history-panel .amber-visibility-toggle,
  #documents .document-history-panel .amber-module-visibility-bar{display:none!important}
  #documents .document-history-panel > .toolbar{
    min-width:0!important;width:100%!important;margin:0!important;padding:0!important;display:grid!important;
    grid-template-columns:minmax(230px,1fr) minmax(150px,.62fr)!important;gap:4px!important;align-items:center!important;
  }
  #documents .document-history-panel > .toolbar input,
  #documents .document-history-panel > .toolbar select{
    min-width:0!important;width:100%!important;max-width:none!important;height:24px!important;min-height:24px!important;max-height:24px!important;
    padding:1px 5px!important;font-size:.49rem!important;border-radius:4px!important;
  }
  #documents .document-history-panel > .table-wrap{grid-column:1/-1!important;margin-top:2px!important}
}

/* Escritorio estrecho: conservar filas únicas ocultando solo textos secundarios cuando sea necesario. */
@media (min-width:901px) and (max-width:1250px){
  #reports .reports-period-topline > .page-title p,
  #improvementPlans .improvement-executive-head p,
  #documents > .page-title p,
  #documents .office-document-control-panel > .page-title p,
  #documents .document-history-panel > .page-title p{display:none!important}
  #reports .reports-period-topline > .page-title{grid-template-columns:minmax(110px,.35fr) minmax(0,1.65fr)!important}
  #improvementPlans .improvement-executive-head{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr)!important}
  #improvementPlans .improvement-executive-controls label{font-size:0!important;grid-template-columns:minmax(0,1fr)!important}
  #documents.active{grid-template-columns:minmax(235px,.72fr) minmax(0,2.28fr)!important}
  #documents .office-document-control-panel{grid-template-columns:minmax(0,1.3fr) minmax(330px,.9fr)!important}
}

/* Móvil/tableta: mantener tactilidad y permitir apilado para evitar recortes. */
@media (max-width:900px){
  #gpsmap #gpsHistoryManagement{width:100%!important;max-width:none!important;min-width:0!important}
  #documents.active{display:block!important}
  #documents > .page-title{height:auto!important;min-height:0!important;margin-bottom:5px!important}
  #documents > .office-document-summary{height:auto!important;max-height:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:5px!important}
  #documents > .office-document-summary article{height:auto!important;min-height:42px!important;max-height:none!important}
  #documents .office-document-control-panel,
  #documents .document-history-panel{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  #documents .office-document-control-panel > .office-document-filters,
  #documents .document-history-panel > .toolbar{grid-template-columns:1fr!important}
  #improvementPlans #improvementCreateForm .form-grid{grid-template-columns:1fr!important}
  #improvementPlans #improvementCreateForm .form-actions{position:static!important;margin-top:5px!important}
  #improvementPlans #improvementCreatePanel .section-banner{padding:7px!important;height:auto!important;min-height:32px!important}
  #improvementPlans .improvement-executive-head{display:block!important}
  #improvementPlans .improvement-executive-controls{grid-template-columns:1fr!important;margin-top:5px!important}
  #improvementPlans .improvement-executive-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #improvementPlans .improvement-executive-summary article{height:auto!important;max-height:none!important;min-height:38px!important}
  #improvementPlans .improvement-executive-grid{grid-template-columns:1fr!important}
}

/* V19.30.172 — integrar controles universales de visibilidad sin crear filas extra. */
@media (min-width:901px){
  #notifications .notification-topline > .page-title{
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  #notifications .notification-topline > .page-title .amber-visibility-toggle{
    height:22px!important;min-height:22px!important;padding:1px 5px!important;font-size:.43rem!important;border-radius:4px!important;white-space:nowrap!important;
  }
  #documents .office-document-control-panel > .page-title{
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  #improvementPlans .improvement-executive-report,
  #improvementPlans #improvementCreatePanel{position:relative!important}
  #improvementPlans .improvement-executive-report > .amber-module-visibility-bar,
  #improvementPlans #improvementCreatePanel > .amber-module-visibility-bar{
    position:absolute!important;top:3px!important;right:5px!important;z-index:4!important;
    width:auto!important;min-width:0!important;height:25px!important;min-height:25px!important;margin:0!important;padding:0!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
  #improvementPlans .improvement-executive-report > .amber-module-visibility-bar .amber-collapse-label,
  #improvementPlans #improvementCreatePanel > .amber-module-visibility-bar .amber-collapse-label{display:none!important}
  #improvementPlans .improvement-executive-report > .amber-module-visibility-bar .amber-visibility-toggle,
  #improvementPlans #improvementCreatePanel > .amber-module-visibility-bar .amber-visibility-toggle{
    height:25px!important;min-height:25px!important;padding:2px 5px!important;font-size:.46rem!important;border-radius:4px!important;white-space:nowrap!important;
  }
  #improvementPlans .improvement-executive-head{padding-right:105px!important}
  #improvementPlans #improvementCreatePanel .section-banner{padding-right:260px!important;padding-left:145px!important}
  #improvementPlans #improvementCreateForm .form-actions{right:112px!important}
}


/* AMBER V19.30.173 — navegación agrupada, cabecera simplificada y ajuste visual solicitado. */

/* Cabecera: logo + Operaciones, sin repetir AMBER junto al logotipo. */
header .brand{display:flex!important;align-items:center!important;gap:8px!important;min-width:150px!important}
header .brand img{width:76px!important;height:50px!important;object-fit:contain!important}
header .brand b,#brandCompanyName{display:none!important}
header .brand > div{display:flex!important;align-items:center!important;min-width:0!important}
header #brandSystemName{
  display:block!important;margin:0!important;color:var(--copper)!important;
  font-size:1.08rem!important;line-height:1!important;font-weight:800!important;letter-spacing:.01em!important;
  white-space:nowrap!important;
}

/* Navegación principal: siete módulos visibles + desplegable para módulos secundarios. */
.main-nav{
  display:flex!important;align-items:center!important;gap:5px!important;overflow:visible!important;
  padding:4px 10px!important;min-height:38px!important;
}
.main-nav .nav-primary-links{
  min-width:0!important;display:flex!important;align-items:center!important;gap:2px!important;flex:1 1 auto!important;
  justify-content:flex-start!important;overflow:hidden!important;
}
.main-nav .nav-primary-links > button{
  flex:0 1 auto!important;min-width:0!important;padding:5px 9px!important;font-size:.68rem!important;
}
.main-nav .nav-more{position:relative!important;flex:0 0 auto!important;margin-left:auto!important}
.main-nav .nav-more-toggle{
  min-height:29px!important;padding:5px 10px!important;background:#164f7d!important;color:#fff!important;
  border:1px solid #ffffff33!important;font-weight:800!important;
}
.main-nav .nav-more-toggle.active{background:var(--copper)!important;color:#fff!important}
.main-nav .nav-more-menu{
  position:absolute!important;right:0!important;top:calc(100% + 6px)!important;z-index:80!important;
  width:min(1060px,calc(100vw - 20px))!important;max-height:min(70vh,540px)!important;overflow:auto!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:6px!important;
  padding:10px!important;background:#fff!important;border:1px solid #cbdce8!important;border-radius:10px!important;
  box-shadow:0 18px 42px rgba(12,46,79,.22)!important;
}
.main-nav .nav-more-menu[hidden]{display:none!important}
.main-nav .nav-more-menu button{
  width:100%!important;min-height:34px!important;justify-content:flex-start!important;text-align:left!important;
  padding:7px 9px!important;color:#173f62!important;background:#f5f9fc!important;border:1px solid #d8e6f0!important;
  border-radius:6px!important;font-size:.67rem!important;font-weight:750!important;white-space:normal!important;
}
.main-nav .nav-more-menu button:hover{background:#e7f2fa!important;color:#0c2e4f!important}
.main-nav .nav-more-menu button.active{background:#dcecf7!important;color:#0b4f7d!important;border-color:#8ebad7!important;box-shadow:none!important}
.main-nav .nav-more-menu .nav-counter{margin-left:auto!important}

/* Indicadores compactos: aumentar solo tipografía/contraste, sin agrandar los recuadros. */
.kpi-grid span,.report-kpi-grid span,.closure-summary span,.office-document-summary span,
.credential-summary span,.training-summary span,.equipment-summary span,.vehicle-summary span,
.expense-summary span,.cash-summary span,.route-budget-summary span,.route-profitability-summary span,
.billing-summary span,.attendance-summary span,.attendance-monthly-summary span,.work-schedule-summary span,
.audit-summary span,.integral-kpi-summary span,.operations-control-summary span,
.executive-dashboard-summary span,.auxiliary-status-summary-grid span,.dashboard-gps-summary span,
.workday-punctuality-summary span,.improvement-summary span,.improvement-executive-summary span{
  font-size:clamp(.60rem,.62vw,.72rem)!important;line-height:1!important;font-weight:800!important;opacity:1!important;
}
.kpi-grid strong,.report-kpi-grid strong,.closure-summary strong,.office-document-summary strong,
.credential-summary strong,.training-summary strong,.equipment-summary strong,.vehicle-summary strong,
.expense-summary strong,.cash-summary strong,.route-budget-summary strong,.route-profitability-summary strong,
.billing-summary strong,.attendance-summary strong,.attendance-monthly-summary strong,.work-schedule-summary strong,
.audit-summary strong,.integral-kpi-summary strong,.operations-control-summary strong,
.executive-dashboard-summary strong,.auxiliary-status-summary-grid strong,.dashboard-gps-summary strong,
.workday-punctuality-summary strong,.improvement-summary strong,.improvement-executive-summary strong{
  font-size:clamp(.96rem,1vw,1.18rem)!important;line-height:1!important;font-weight:900!important;letter-spacing:.01em!important;
}
/* En los indicadores muy bajos, texto y número permanecen centrados sin aumentar la caja. */
#closures .closure-summary article,#improvementPlans > .improvement-summary article,
#improvementPlans .improvement-executive-summary article,#documents > .office-document-summary article{
  overflow:hidden!important;align-items:center!important;align-content:center!important;justify-content:center!important;
}
#closures .closure-summary span,#closures .closure-summary strong,
#improvementPlans > .improvement-summary span,#improvementPlans > .improvement-summary strong,
#improvementPlans .improvement-executive-summary span,#improvementPlans .improvement-executive-summary strong,
#documents > .office-document-summary span,#documents > .office-document-summary strong{
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}

/* Planes de mejora: filtros y control de visibilidad en una sola línea en escritorio. */
@media (min-width:901px){
  #improvementPlans > .improvement-filter-panel{
    width:100%!important;max-width:100%!important;display:grid!important;
    grid-template-columns:minmax(125px,.55fr) minmax(165px,.85fr) minmax(190px,1fr) minmax(165px,.85fr)!important;
    gap:6px!important;align-items:end!important;justify-content:center!important;padding:5px 7px!important;
    margin-top:5px!important;border-radius:6px!important;overflow:visible!important;
  }
  #improvementPlans > .improvement-filter-panel > .amber-module-visibility-bar{
    position:static!important;display:flex!important;width:100%!important;height:25px!important;min-height:25px!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
    align-items:center!important;justify-content:center!important;
  }
  #improvementPlans > .improvement-filter-panel > .amber-module-visibility-bar .amber-collapse-label{display:none!important}
  #improvementPlans > .improvement-filter-panel > .amber-module-visibility-bar .amber-visibility-toggle{
    width:100%!important;height:25px!important;min-height:25px!important;padding:2px 6px!important;
    font-size:.53rem!important;border-radius:4px!important;white-space:nowrap!important;
  }
  #improvementPlans > .improvement-filter-panel > label{
    min-width:0!important;width:100%!important;gap:2px!important;text-align:center!important;align-items:stretch!important;
    font-size:.52rem!important;line-height:1!important;
  }
  #improvementPlans > .improvement-filter-panel input,
  #improvementPlans > .improvement-filter-panel select{
    width:100%!important;min-width:0!important;max-width:none!important;height:25px!important;min-height:25px!important;
    padding:2px 6px!important;font-size:.55rem!important;text-align:center!important;border-radius:4px!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  .main-nav .nav-primary-links > button{padding:5px 6px!important;font-size:.62rem!important}
  .main-nav .nav-more-toggle{padding:5px 7px!important;font-size:.62rem!important}
  .main-nav .nav-more-menu{grid-template-columns:repeat(3,minmax(165px,1fr))!important}
  header #brandSystemName{font-size:.98rem!important}
}
@media (max-width:900px){
  header #brandSystemName{font-size:.88rem!important}
  .main-nav{overflow:visible!important;padding:4px 7px!important}
  .main-nav .nav-primary-links{overflow-x:auto!important;scrollbar-width:thin!important}
  .main-nav .nav-primary-links > button{flex:0 0 auto!important}
  .main-nav .nav-more-menu{position:fixed!important;left:8px!important;right:8px!important;top:122px!important;width:auto!important;grid-template-columns:1fr 1fr!important;max-height:65vh!important}
  #improvementPlans > .improvement-filter-panel{grid-template-columns:1fr 1fr!important}
}
@media (max-width:560px){
  .main-nav .nav-more-menu{grid-template-columns:1fr!important}
}

/* V19.30.173 — ajuste final de prioridad para los indicadores compactos y la barra principal. */
@media (min-width:901px){
  .main-nav .nav-primary-links{
    display:grid!important;
    grid-template-columns:.78fr 1.55fr .78fr 1.18fr .82fr 1.15fr 1.42fr!important;
    gap:2px!important;width:100%!important;overflow:hidden!important;
  }
  .main-nav .nav-primary-links > button{
    width:100%!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
}
#closures .closure-summary span{font-size:.56rem!important;font-weight:850!important;color:#24577a!important}
#closures .closure-summary strong{font-size:.98rem!important;font-weight:900!important;color:#064f83!important}
#improvementPlans > .improvement-summary span{font-size:.58rem!important;font-weight:850!important}
#improvementPlans > .improvement-summary strong{font-size:.98rem!important;font-weight:900!important}
#improvementPlans .improvement-executive-summary span{font-size:.58rem!important;font-weight:850!important}
#improvementPlans .improvement-executive-summary strong{font-size:.98rem!important;font-weight:900!important}
#documents > .office-document-summary span{font-size:.58rem!important;font-weight:850!important;color:#24577a!important}
#documents > .office-document-summary strong{font-size:.98rem!important;font-weight:900!important}

/* AMBER V19.30.174 — login aprobado + cabecera dinámica 3D para PC. */

/* Inicio de sesión: logo protagonista, sin la palabra AMBER duplicada y Operaciones más visible. */
.login-screen{
  background:linear-gradient(145deg,#f7f9fb,#edf2f5)!important;
}
.login-card{
  width:min(500px,92vw)!important;
  padding:30px 34px 28px!important;
  border-radius:24px!important;
  text-align:center!important;
}
.login-card #loginCompanyName{
  display:none!important;
}
.login-card .login-logo{
  display:block!important;
  width:min(390px,88%)!important;
  height:128px!important;
  margin:0 auto 4px!important;
  object-fit:contain!important;
}
.login-card #loginSystemName{
  margin:0 0 20px!important;
  color:var(--copper)!important;
  font-size:2rem!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85)!important;
}
.login-card form{gap:12px!important}
.login-card form label{
  gap:4px!important;
  color:#123b60!important;
  font-size:.84rem!important;
  font-weight:800!important;
}
.login-card form input{
  min-height:43px!important;
  padding:8px 12px!important;
  border-radius:8px!important;
}
.login-card form .btn{
  min-height:38px!important;
  border-radius:7px!important;
}
.login-card small{
  margin-top:16px!important;
  font-size:.77rem!important;
}

/* Cabecera PC: logo + Operaciones + convoy AMBER animado + controles de sesión. */
header{
  overflow:hidden!important;
}
header .brand{
  flex:0 0 auto!important;
  gap:8px!important;
  min-width:265px!important;
  max-width:310px!important;
  z-index:2!important;
}
header .brand img{
  width:118px!important;
  height:48px!important;
  object-fit:contain!important;
}
header #brandSystemName{
  font-size:1.08rem!important;
  color:var(--copper)!important;
  font-weight:850!important;
}

.header-motion-stage{
  position:relative!important;
  flex:1 1 420px!important;
  min-width:220px!important;
  max-width:520px!important;
  height:52px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
  isolation:isolate!important;
}
.header-motion-convoy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:max-content!important;
  will-change:transform,opacity!important;
  animation:amberHeaderConvoyPass 12s cubic-bezier(.45,.05,.18,1) infinite!important;
}
.header-vehicle{
  display:block!important;
  width:auto!important;
  max-width:92px!important;
  height:38px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 3px 4px rgba(12,46,79,.18))!important;
  transform-style:preserve-3d!important;
  backface-visibility:hidden!important;
}
.header-ship{height:39px!important;animation:amberShipFloat 3.2s ease-in-out infinite!important}
.header-plane{height:34px!important;animation:amberPlaneFloat 2.4s ease-in-out infinite!important}
.header-truck{height:37px!important;animation:amberTruckRoll 2.8s ease-in-out infinite!important}

@keyframes amberHeaderConvoyPass{
  0%{transform:translate3d(-118%,0,0) scale(.96);opacity:0}
  9%{opacity:1}
  25%{transform:translate3d(0,0,0) scale(1);opacity:1}
  70%{transform:translate3d(0,0,0) scale(1);opacity:1}
  88%{opacity:1}
  100%{transform:translate3d(118%,0,0) scale(.96);opacity:0}
}
@keyframes amberShipFloat{
  0%,100%{transform:translate3d(0,1px,0) rotateY(-2deg)}
  50%{transform:translate3d(0,-2px,0) rotateY(2deg)}
}
@keyframes amberPlaneFloat{
  0%,100%{transform:translate3d(0,2px,0) rotate(-1deg) scale(1)}
  50%{transform:translate3d(3px,-3px,0) rotate(1deg) scale(1.02)}
}
@keyframes amberTruckRoll{
  0%,100%{transform:translate3d(-1px,0,0) rotateY(1deg)}
  50%{transform:translate3d(2px,0,0) rotateY(-1deg)}
}

@media (min-width:1280px){
  header .top-actions{flex:0 0 auto!important}
}
@media (min-width:1101px) and (max-width:1279px){
  header .brand{min-width:220px!important}
  header .brand img{width:100px!important}
  header #brandSystemName{font-size:.98rem!important}
  .header-motion-stage{flex-basis:300px!important;max-width:340px!important}
  .header-vehicle{max-width:75px!important;height:32px!important}
  .header-ship{height:34px!important}
  .header-plane{height:29px!important}
  .header-truck{height:33px!important}
}
@media (max-width:1100px){
  .header-motion-stage{display:none!important}
  header .brand{min-width:150px!important;max-width:none!important}
  header .brand img{width:82px!important;height:44px!important}
}
@media (max-width:600px){
  .login-card{padding:25px 20px!important}
  .login-card .login-logo{width:92%!important;height:105px!important}
  .login-card #loginSystemName{font-size:1.6rem!important}
}
@media (prefers-reduced-motion:reduce){
  .header-motion-convoy,.header-ship,.header-plane,.header-truck{
    animation:none!important;
  }
  .header-motion-convoy{transform:none!important;opacity:1!important}
}


/* AMBER V19.30.175 — secuencia individual de transportes: barco → avión → camión. */

/* Cabecera PC: solo un transporte visible a la vez, entrando y saliendo en orden. */
.header-motion-stage{
  position:relative!important;
}
.header-motion-stage .header-vehicle{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  margin:0!important;
  opacity:0;
  transform:translate3d(-130%,-50%,0) scale(.88);
  will-change:transform,opacity!important;
  animation:amberHeaderVehicleSequence 9s cubic-bezier(.42,.02,.22,1) infinite!important;
}
.header-motion-stage .header-ship{animation-delay:0s!important}
.header-motion-stage .header-plane{animation-delay:3s!important}
.header-motion-stage .header-truck{animation-delay:6s!important}

@keyframes amberHeaderVehicleSequence{
  0%{transform:translate3d(-130%,-50%,0) scale(.88);opacity:0}
  3%{opacity:1}
  12%{transform:translate3d(120%,-50%,0) scale(1.02);opacity:1}
  22%{transform:translate3d(235%,-50%,0) scale(1);opacity:1}
  31%{transform:translate3d(405%,-50%,0) scale(.94);opacity:1}
  33.333%,100%{transform:translate3d(430%,-50%,0) scale(.92);opacity:0}
}

/* Login / logo principal: repite la misma secuencia debajo del logo sin alterar el formulario. */
.login-motion-stage{
  position:relative!important;
  width:min(350px,88%)!important;
  height:46px!important;
  margin:-2px auto 5px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.login-motion-stage .login-vehicle{
  position:absolute!important;
  top:50%!important;
  left:0!important;
  display:block!important;
  width:auto!important;
  max-width:96px!important;
  height:39px!important;
  object-fit:contain!important;
  opacity:0;
  filter:drop-shadow(0 3px 4px rgba(12,46,79,.16))!important;
  transform:translate3d(-125%,-50%,0) scale(.88);
  will-change:transform,opacity!important;
  animation:amberLoginVehicleSequence 9s cubic-bezier(.42,.02,.22,1) infinite!important;
}
.login-motion-stage .login-ship{height:40px!important;animation-delay:0s!important}
.login-motion-stage .login-plane{height:35px!important;animation-delay:3s!important}
.login-motion-stage .login-truck{height:39px!important;animation-delay:6s!important}

@keyframes amberLoginVehicleSequence{
  0%{transform:translate3d(-125%,-50%,0) scale(.88);opacity:0}
  3%{opacity:1}
  12%{transform:translate3d(105%,-50%,0) scale(1.03);opacity:1}
  22%{transform:translate3d(205%,-50%,0) scale(1);opacity:1}
  31%{transform:translate3d(355%,-50%,0) scale(.94);opacity:1}
  33.333%,100%{transform:translate3d(385%,-50%,0) scale(.92);opacity:0}
}

/* Anula el convoy simultáneo de V19.30.174. */
.header-motion-convoy{display:contents!important;animation:none!important}
.header-ship,.header-plane,.header-truck{animation-name:amberHeaderVehicleSequence!important}

@media (min-width:1101px) and (max-width:1279px){
  .header-motion-stage .header-vehicle{max-width:74px!important}
}
@media (max-width:1100px){
  .header-motion-stage{display:none!important}
}
@media (max-width:600px){
  .login-motion-stage{height:40px!important;width:92%!important}
  .login-motion-stage .login-vehicle{max-width:82px!important;height:33px!important}
  .login-motion-stage .login-ship{height:34px!important}
  .login-motion-stage .login-plane{height:30px!important}
  .login-motion-stage .login-truck{height:33px!important}
}
@media (prefers-reduced-motion:reduce){
  .header-motion-stage .header-vehicle,.login-motion-stage .login-vehicle{animation:none!important;opacity:0!important}
  .header-motion-stage .header-ship,.login-motion-stage .login-ship{
    opacity:1!important;transform:translate3d(160%,-50%,0) scale(1)!important;
  }
}


/* AMBER V19.30.177 — corrección de visibilidad de transportes animados.
   Las propiedades opacity/transform de los vehículos no usan !important,
   para permitir que los @keyframes controlen realmente entrada, recorrido y salida. */
.header-motion-stage .header-vehicle,
.login-motion-stage .login-vehicle{
  visibility:visible!important;
}


/* AMBER V19.30.182 — plataforma modular con un solo acceso. */
.amber-modules-page{padding-bottom:12px}
.amber-modules-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:22px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#f8fbfd,#fff8f1)}
.amber-modules-eyebrow,.amber-module-workspace-head>div>span{display:block;color:var(--copper);font-size:.78rem;font-weight:800;letter-spacing:.09em}.amber-modules-hero h1{margin:6px 0 8px}.amber-modules-hero p{margin:0;color:#5e7182;max-width:760px}
.amber-modules-shared-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.amber-modules-shared-summary article{border:1px solid #d9e2e9;border-radius:14px;padding:12px;background:#fff}.amber-modules-shared-summary span{display:block;color:#6c7e8d;font-size:.75rem}.amber-modules-shared-summary strong{display:block;color:var(--navy);font-size:1.55rem;margin-top:3px}
.amber-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.amber-module-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff;box-shadow:0 7px 20px rgba(12,46,79,.06)}.amber-module-card.is-active{border-left:5px solid var(--navy)}.amber-module-card.is-ready{border-left:5px solid var(--copper)}.amber-module-card.locked{opacity:.62;background:#f7f9fa}.amber-module-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#edf3f7;color:var(--navy);font-size:1.5rem;font-weight:800}.amber-module-card-copy{min-width:0}.amber-module-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.amber-module-card h2{margin:0;font-size:1.15rem}.amber-module-card p{margin:5px 0;color:#5c6f80}.amber-module-card small{color:#758593}.amber-module-state{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;white-space:nowrap}.amber-module-state.active{background:#dff3e7;color:#176d40}.amber-module-state.ready{background:#f8eadf;color:#8a4d1f}.amber-module-card button:disabled{cursor:not-allowed}
.amber-platform-note{margin-top:14px;border:1px dashed #b9c9d6;border-radius:14px;padding:13px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fbfcfd}.amber-platform-note b{color:var(--navy)}.amber-platform-note span{color:#66798a}.amber-module-loading{grid-column:1/-1;padding:24px;text-align:center;color:#66798a}
.amber-module-workspace{padding-bottom:18px}.amber-module-workspace-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:6px 0 18px}.amber-module-workspace-head h1{margin:3px 0}.amber-module-workspace-head p{margin:0;color:#65798a}.amber-module-future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.amber-module-future-grid article{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.amber-module-future-grid h3{margin:0 0 8px;color:var(--navy)}.amber-module-future-grid p{margin:0;color:#65798a}
@media(max-width:900px){.amber-modules-hero{grid-template-columns:1fr}.amber-module-grid{grid-template-columns:1fr}.amber-module-future-grid{grid-template-columns:1fr}.amber-module-workspace-head{grid-template-columns:1fr}.amber-module-workspace-head>.amber-module-state{justify-self:start}}
@media(max-width:600px){.amber-modules-shared-summary{grid-template-columns:repeat(2,1fr)}.amber-module-card{grid-template-columns:46px minmax(0,1fr)}.amber-module-card>button{grid-column:1/-1;width:100%}.amber-module-icon{width:44px;height:44px}.amber-modules-hero{padding:18px}}


/* AMBER V19.30.182 — cinco módulos AMBER visibles permanentemente en la barra superior. */
.main-nav{
  display:block!important;
  padding:5px 10px!important;
  min-height:0!important;
  overflow:visible!important;
}
.main-nav .amber-module-nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  padding:0 0 5px!important;
  margin:0 0 4px!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}
.main-nav .amber-module-nav-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:31px!important;
  padding:6px 10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:7px!important;
  background:#164f7d!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.main-nav .amber-module-nav-btn:hover{background:#1e659c!important}
.main-nav .amber-module-nav-btn.active{
  background:var(--copper)!important;
  color:#fff!important;
  border-color:#e2a06f!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;
}
.main-nav .amber-operation-nav-row{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
}
.main-nav .amber-operation-nav-row .nav-primary-links{
  display:grid!important;
  grid-template-columns:.55fr 1.45fr .72fr 1.15fr .78fr 1.02fr 1.22fr!important;
  gap:2px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  overflow:hidden!important;
}
.main-nav .amber-operation-nav-row .nav-primary-links > button{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:5px 7px!important;
  font-size:.65rem!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.main-nav .amber-operation-nav-row .nav-more{
  position:relative!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
}
@media (max-width:900px){
  .main-nav .amber-module-nav{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:thin!important;
    padding-bottom:5px!important;
  }
  .main-nav .amber-module-nav-btn{flex:0 0 auto!important;min-width:126px!important;font-size:.67rem!important}
  .main-nav .amber-operation-nav-row .nav-primary-links{
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:thin!important;
  }
  .main-nav .amber-operation-nav-row .nav-primary-links > button{flex:0 0 auto!important;width:auto!important}
  .main-nav .nav-more-menu{top:156px!important}
}
@media (max-width:560px){
  .main-nav{padding:4px 6px!important}
  .main-nav .amber-module-nav-btn{min-width:118px!important;font-size:.64rem!important}
  .main-nav .nav-more-menu{top:150px!important}
}


/* AMBER V19.30.183 — selección de módulo en el mismo acceso protegido. */
.login-card{width:min(680px,94vw)!important}
.login-module-chooser{display:grid;gap:14px;margin-top:2px;text-align:left}
.login-module-welcome{text-align:center;border-top:1px solid var(--line);padding-top:14px}
.login-module-welcome>span{display:block;color:var(--copper);font-size:.72rem;font-weight:900;letter-spacing:.09em}
.login-module-welcome>b{display:block;color:var(--navy);font-size:1.02rem;margin-top:3px}
.login-module-welcome>p{margin:5px 0 0;color:#607789;font-size:.82rem}
.login-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.login-module-btn{min-height:72px;border:1px solid #c7d5e1;border-radius:13px;background:#f7fafc;color:var(--navy);padding:10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.login-module-btn:hover{border-color:var(--copper);background:#fff8f2;transform:translateY(-1px)}
.login-module-btn:focus-visible{outline:3px solid rgba(184,107,49,.24);outline-offset:2px}
.login-module-btn:disabled{cursor:wait;opacity:.72;transform:none}
.login-module-btn-icon{grid-row:1/3;width:36px;height:36px;border-radius:10px;background:#e6eef5;color:var(--navy);display:grid;place-items:center;font-size:1.08rem;font-weight:900}
.login-module-btn b{font-size:.88rem;line-height:1.12}
.login-module-btn small{margin:0!important;color:#718596!important;font-size:.7rem!important}
.login-module-grid .login-module-btn:last-child:nth-child(odd){grid-column:1/-1}
.login-change-user{justify-self:center;background:transparent!important;color:var(--navy)!important;border:1px solid #c7d5e1!important;min-width:150px}
.login-no-module{grid-column:1/-1;border:1px solid #e5c9b4;background:#fff7f0;color:#80471f;border-radius:12px;padding:14px;text-align:center;font-size:.82rem;font-weight:700}
@media(max-width:600px){.login-card{width:min(500px,94vw)!important}.login-module-grid{grid-template-columns:1fr}.login-module-grid .login-module-btn:last-child:nth-child(odd){grid-column:auto}.login-module-btn{min-height:64px}}


/* AMBER V19.30.184 — formularios compactos y uniformes en los cuatro flujos operativos.
   Reduce altura y ancho excesivos sin cambiar lógica, opciones ni validaciones. */
#assign .messaging-wizard-step{
  padding:14px 16px;
  gap:12px;
  border-radius:16px;
}
#assign .messaging-step-number{
  width:42px;
  height:42px;
  border-radius:12px;
  font-size:1rem;
}
#assign .messaging-step-content h3{
  margin:1px 0 3px;
  font-size:1.08rem;
  line-height:1.08;
}
#assign .messaging-step-content>p{
  margin:0 0 10px;
  font-size:.72rem;
  line-height:1.18;
}
#assign .messaging-step-content>label,
#assign .messaging-wizard-grid label{
  gap:4px;
  font-size:.72rem;
}
#assign .messaging-step-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
#assign .messaging-step-content select{
  min-height:38px;
  height:38px;
  padding:6px 10px;
  border-radius:8px;
  font-size:.78rem;
  line-height:1.1;
}
#assign .messaging-step-content textarea{
  min-height:58px;
  padding:7px 10px;
  border-radius:8px;
  font-size:.78rem;
}
#assign .messaging-wizard-grid{
  grid-template-columns:minmax(260px,420px) minmax(300px,520px);
  gap:8px 12px;
  justify-content:start;
  align-items:start;
}
#assign .messaging-wizard-grid .span-2{
  grid-column:1/-1;
  width:100%;
  max-width:952px;
}
#assign .messaging-step-actions{
  margin-top:12px;
  gap:7px;
}
#assign .messaging-step-actions .btn{
  min-height:32px;
  padding:6px 10px;
  font-size:.72rem;
}
/* Fecha y hora: ancho equivalente al recuadro solicitado, no a toda la pantalla. */
#msgAssignedDate,#opAssignedDate,#msgAssignedTime,#opAssignedTime{
  width:min(460px,100%)!important;
  max-width:460px!important;
}
#assign .messaging-step-content>label:has(#msgAssignedDate),
#assign .messaging-step-content>label:has(#opAssignedDate),
#assign .messaging-step-content>label:has(#msgAssignedTime),
#assign .messaging-step-content>label:has(#opAssignedTime){
  width:min(460px,100%);
  max-width:460px;
}
/* Paso Distrito de Aforo/Inspección: dos selectores compactos y sin estirarse. */
#opDistrictMode{max-width:420px}
#opDistrict{max-width:520px}
#opDistrictHelp{max-width:520px}
/* Los formularios tradicionales de los cuatro tipos mantienen la misma altura compacta. */
#assignForm input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
#assignForm select,
#operationalStepDialog input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
#operationalStepDialog select,
#messagingProofDialog input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
#messagingProofDialog select{
  min-height:36px;
  height:36px;
  padding:6px 9px;
  border-radius:7px;
}
/* Formularios de los demás módulos/pantallas administrativas: misma escala visual. */
.page .form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
.page .form-grid select{
  min-height:34px;
  height:34px;
  padding:5px 8px;
}
@media(max-width:820px){
  #assign .messaging-wizard-step{padding:12px;gap:9px}
  #assign .messaging-wizard-grid{grid-template-columns:1fr;gap:8px}
  #assign .messaging-wizard-grid .span-2{grid-column:auto;max-width:none}
  #assign .messaging-step-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  #assign .messaging-step-content select{width:100%!important;max-width:none!important;min-height:42px;height:42px}
  #assign .messaging-step-content>label{width:100%!important;max-width:none!important}
  #msgAssignedDate,#opAssignedDate,#msgAssignedTime,#opAssignedTime{width:100%!important;max-width:none!important}
}


/* AMBER V19.30.185 — Fecha y Hora: mitad de ancho y altura exactamente uniforme.
   Aplica a Mensajería, Aforo, Inspecciones y Otras Gestiones sin alterar lógica. */
#assign #msgAssignedDate,
#assign #msgAssignedTime,
#assign #opAssignedDate,
#assign #opAssignedTime{
  box-sizing:border-box!important;
  width:230px!important;
  max-width:230px!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  font-size:.82rem!important;
  line-height:1.15!important;
}
#assign .messaging-step-content>label:has(#msgAssignedDate),
#assign .messaging-step-content>label:has(#msgAssignedTime),
#assign .messaging-step-content>label:has(#opAssignedDate),
#assign .messaging-step-content>label:has(#opAssignedTime){
  width:230px!important;
  max-width:230px!important;
}
/* Compatibilidad con formularios alternos/legados de los mismos módulos. */
#assignForm [name="assigned_date"],
#assignForm [name="assigned_time"]{
  box-sizing:border-box!important;
  width:230px!important;
  max-width:230px!important;
  height:46px!important;
  min-height:46px!important;
}
@media(max-width:520px){
  #assign #msgAssignedDate,
  #assign #msgAssignedTime,
  #assign #opAssignedDate,
  #assign #opAssignedTime,
  #assignForm [name="assigned_date"],
  #assignForm [name="assigned_time"]{
    width:min(230px,100%)!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
  }
  #assign .messaging-step-content>label:has(#msgAssignedDate),
  #assign .messaging-step-content>label:has(#msgAssignedTime),
  #assign .messaging-step-content>label:has(#opAssignedDate),
  #assign .messaging-step-content>label:has(#opAssignedTime){
    width:min(230px,100%)!important;
    max-width:100%!important;
  }
}


/* AMBER V19.30.187 — ajustes conjuntos solicitados.
   1) Los módulos pasan a “Más opciones”.
   2) Se conserva Fecha/Hora compactas de V19.30.185.
   3) El encabezado descriptivo de crear gestión no ocupa espacio durante el flujo.
   4) Barco, avión y camión entran desde la derecha y avanzan en el sentido real de su frente. */

/* La barra vuelve a una sola fila: los módulos se muestran dentro de Más opciones. */
.main-nav .amber-module-nav{display:none!important}
.main-nav .nav-more-menu .nav-more-section-label{
  grid-column:1/-1!important;
  color:var(--navy)!important;
  font-size:.66rem!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  padding:3px 4px 1px!important;
  border-bottom:1px solid #d7e4ed!important;
}
.main-nav .nav-more-menu .nav-more-section-secondary{margin-top:3px!important}
.main-nav .nav-more-menu .nav-module-option{
  border-left:4px solid var(--copper)!important;
  background:#eef5fa!important;
  color:#123f66!important;
  font-weight:900!important;
}
.main-nav .nav-more-menu .nav-module-option.active{
  background:var(--copper)!important;
  border-color:var(--copper)!important;
  color:#fff!important;
}
@media(max-width:900px){.main-nav .nav-more-menu{top:122px!important}}
@media(max-width:560px){.main-nav .nav-more-menu{top:118px!important}}

/* El bloque grande “Nueva gestión / Nueva asignación…” queda retirado del flujo.
   Se mantiene en el DOM solo por compatibilidad con el código y siempre oculto. */
#assign #assignmentFormHeader{display:none!important}

/* Movimiento correcto: los recursos gráficos tienen el frente orientado hacia la izquierda.
   Por ello entran desde el lado derecho y recorren la pantalla hacia la izquierda, sin espejo,
   preservando el logotipo AMBER legible. */
.header-motion-stage .header-vehicle{
  animation-name:amberHeaderVehicleSequenceV186!important;
}
.login-motion-stage .login-vehicle{
  animation-name:amberLoginVehicleSequenceV186!important;
}
@keyframes amberHeaderVehicleSequenceV186{
  0%{transform:translate3d(430%,-50%,0) scale(.92);opacity:0}
  3%{opacity:1}
  12%{transform:translate3d(300%,-50%,0) scale(.96);opacity:1}
  22%{transform:translate3d(135%,-50%,0) scale(1.02);opacity:1}
  31%{transform:translate3d(-135%,-50%,0) scale(.96);opacity:1}
  33.333%,100%{transform:translate3d(-155%,-50%,0) scale(.92);opacity:0}
}
@keyframes amberLoginVehicleSequenceV186{
  0%{transform:translate3d(385%,-50%,0) scale(.92);opacity:0}
  3%{opacity:1}
  12%{transform:translate3d(255%,-50%,0) scale(.97);opacity:1}
  22%{transform:translate3d(105%,-50%,0) scale(1.03);opacity:1}
  31%{transform:translate3d(-125%,-50%,0) scale(.96);opacity:1}
  33.333%,100%{transform:translate3d(-145%,-50%,0) scale(.92);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .header-motion-stage .header-ship,.login-motion-stage .login-ship{
    transform:translate3d(120%,-50%,0) scale(1)!important;
  }
}


/* AMBER V19.30.187 — selector compacto de módulos y segunda clave de acceso. */
.main-nav[hidden]{display:none!important}
#modules.amber-modules-page{
  padding:14px 18px 22px!important;
  background:#f3f7fa!important;
}
#modules .amber-module-grid{
  display:grid!important;
  grid-template-columns:minmax(0,720px)!important;
  justify-content:start!important;
  gap:8px!important;
  max-width:760px!important;
  margin:0!important;
}
#modules .amber-module-card{
  box-sizing:border-box!important;
  min-height:84px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
#modules .amber-module-icon{
  width:44px!important;height:44px!important;border-radius:11px!important;
  font-size:1.05rem!important;
}
#modules .amber-module-card-copy{min-width:0!important}
#modules .amber-module-card-title{gap:8px!important;margin-bottom:2px!important}
#modules .amber-module-card-title h2{font-size:1rem!important;line-height:1.08!important;margin:0!important}
#modules .amber-module-state{font-size:.62rem!important;padding:4px 8px!important;white-space:nowrap!important}
#modules .amber-module-card-copy p{font-size:.76rem!important;line-height:1.2!important;margin:2px 0 3px!important}
#modules .amber-module-card-copy small{font-size:.66rem!important;line-height:1.15!important;margin:0!important}
#modules .amber-module-card>.btn{min-height:30px!important;padding:5px 9px!important;font-size:.68rem!important;white-space:nowrap!important}
.module-key-dialog{width:min(420px,92vw);border:0;border-radius:16px;padding:0;background:#fff;color:var(--navy);box-shadow:0 24px 70px rgba(12,46,79,.25)}
.module-key-dialog::backdrop{background:rgba(8,29,48,.52)}
.module-key-dialog form{display:grid;gap:13px;padding:20px}
.module-key-head span{display:block;color:var(--copper);font-size:.68rem;font-weight:900;letter-spacing:.08em}
.module-key-head h2{margin:3px 0 4px;font-size:1.25rem;color:var(--navy)}
.module-key-head p{margin:0;color:#607789;font-size:.78rem}
.module-key-dialog label{display:grid;gap:5px;font-size:.76rem;font-weight:800}
.module-key-dialog input{box-sizing:border-box;width:100%;height:42px;border:1px solid #b7cbd9;border-radius:9px;padding:7px 10px;font-size:.9rem}
.module-key-dialog .dialog-actions{margin-top:0;display:flex;justify-content:flex-end;gap:8px}
@media(max-width:600px){
  #modules.amber-modules-page{padding:10px!important}
  #modules .amber-module-grid{grid-template-columns:1fr!important;max-width:none!important}
  #modules .amber-module-card{grid-template-columns:42px minmax(0,1fr)!important;min-height:78px!important;padding:9px 10px!important}
  #modules .amber-module-icon{width:38px!important;height:38px!important}
  #modules .amber-module-card>.btn{grid-column:2;justify-self:start!important;margin-top:2px!important}
}

/* AMBER V19.30.188 (trabajo en curso) — compactación de asistentes y navegación modular. */
:root{--amber-wizard-compact-field:260px}

/* El avance deja de ocupar un bloque independiente: el número del paso vive dentro de la tarjeta. */
#assign .messaging-wizard-progress{display:none!important}
#assign .messaging-wizard-flow{gap:10px!important}
#assign .messaging-wizard-step{position:relative!important;grid-template-columns:54px minmax(0,1fr)!important;gap:14px!important}
#assign .messaging-step-number{position:relative!important;width:48px!important;height:48px!important;font-size:1.05rem!important}
#assign .messaging-step-number::after{content:'→';position:absolute;right:-18px;top:50%;transform:translateY(-50%);font-size:.9rem;color:#6c8ca5;font-weight:900}
#assign .messaging-step-content{min-width:0!important}

/* Botones de navegación más grandes y fáciles de usar. */
#assign .messaging-step-actions .btn,
#assign .messaging-final-actions .btn{
  min-height:44px!important;
  padding:9px 16px!important;
  border-radius:9px!important;
  font-size:.82rem!important;
  font-weight:800!important;
}

/* Ancho compacto solicitado para los campos principales de los pasos. */
#assign #msgClient,
#assign #msgRouteStart,
#assign #msgSector,
#assign #msgDestinationLocation,
#assign #msgRouteTransport,
#assign #msgDeliveryDocuments,
#assign #opDistrictMode,
#assign #opDistrict,
#assign #opManagementType,
#assign #opCargoMode,
#assign #opClient,
#assign #opAdvisor,
#assign #opAuxiliary,
#assign #opDestinationLocation,
#assign #opReferenceMode,
#assign #opAuxDocumentDelivery{
  width:var(--amber-wizard-compact-field)!important;
  max-width:var(--amber-wizard-compact-field)!important;
  min-width:0!important;
}

#assign .messaging-step-content>label:has(#msgClient),
#assign .messaging-step-content>label:has(#msgRouteStart),
#assign .messaging-step-content>label:has(#msgSector),
#assign .messaging-step-content>label:has(#msgDestinationLocation),
#assign .messaging-step-content>label:has(#msgRouteTransport),
#assign .messaging-step-content>label:has(#msgDeliveryDocuments),
#assign .messaging-wizard-grid>label:has(#msgClient),
#assign .messaging-wizard-grid>label:has(#msgRouteStart),
#assign .messaging-wizard-grid>label:has(#msgSector),
#assign .messaging-wizard-grid>label:has(#msgDestinationLocation),
#assign .messaging-wizard-grid>label:has(#msgRouteTransport),
#assign .messaging-wizard-grid>label:has(#msgDeliveryDocuments),
#assign .messaging-wizard-grid>label:has(#opDistrictMode),
#assign .messaging-wizard-grid>label:has(#opDistrict),
#assign .messaging-wizard-grid>label:has(#opManagementType),
#assign .messaging-wizard-grid>label:has(#opCargoMode),
#assign .messaging-wizard-grid>label:has(#opClient),
#assign .messaging-wizard-grid>label:has(#opAdvisor),
#assign .messaging-wizard-grid>label:has(#opAuxiliary),
#assign .messaging-wizard-grid>label:has(#opDestinationLocation),
#assign .operational-reference-mode-field,
#assign .operational-aux-documents-step>label:has(#opAuxDocumentDelivery){
  width:var(--amber-wizard-compact-field)!important;
  max-width:var(--amber-wizard-compact-field)!important;
  grid-column:auto!important;
}

/* Cliente, asesor y auxiliar: uno debajo del otro. Compartido por Aforo e Inspecciones. */
#assign .operational-wizard-step[data-op-step="5"] .messaging-wizard-grid{
  grid-template-columns:var(--amber-wizard-compact-field)!important;
  gap:10px!important;
}
#assign .operational-wizard-step[data-op-step="5"] .messaging-wizard-grid .span-2{
  grid-column:auto!important;
  width:var(--amber-wizard-compact-field)!important;
  max-width:var(--amber-wizard-compact-field)!important;
}

/* Pasos 6 a 9: mantener controles de selección compactos cuando corresponda. */
#assign .operational-wizard-step[data-op-step="6"] .messaging-wizard-grid,
#assign .operational-wizard-step[data-op-step="7"] .messaging-wizard-grid,
#assign .operational-wizard-step[data-op-step="8"] .messaging-wizard-grid{
  justify-content:start!important;
}

/* El logo AMBER funciona como acceso de regreso a la pantalla principal. */
#logo[role="button"]{cursor:pointer!important}
#logo[role="button"]:focus-visible{outline:3px solid rgba(184,107,49,.28);outline-offset:5px;border-radius:6px}

@media(max-width:600px){
  :root{--amber-wizard-compact-field:100%}
  #assign .messaging-wizard-step{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important}
  #assign .messaging-step-number{width:42px!important;height:42px!important}
  #assign .messaging-step-number::after{display:none!important}
  #assign #msgClient,#assign #msgRouteStart,#assign #msgSector,#assign #msgDestinationLocation,
  #assign #msgRouteTransport,#assign #msgDeliveryDocuments,#assign #opDistrictMode,#assign #opDistrict,
  #assign #opManagementType,#assign #opCargoMode,#assign #opClient,#assign #opAdvisor,#assign #opAuxiliary,
  #assign #opDestinationLocation,#assign #opReferenceMode,#assign #opAuxDocumentDelivery{width:100%!important;max-width:100%!important}
  #assign .operational-wizard-step[data-op-step="5"] .messaging-wizard-grid{grid-template-columns:1fr!important}
  #assign .operational-wizard-step[data-op-step="5"] .messaging-wizard-grid .span-2{width:100%!important;max-width:100%!important}
}

/* V19.30.188 — carga masiva de Catálogos desde Excel. */
#catalogs .catalog-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.catalog-import-dialog{width:min(980px,94vw)!important}
.catalog-import-body{display:grid;gap:12px}
.catalog-import-body>label{display:grid;gap:6px;font-weight:800}
.catalog-import-body input[type="file"]{width:100%;padding:10px;border:1px solid #c8d5df;border-radius:9px;background:#fff}
.catalog-import-help{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #d8e4ec;border-radius:10px;background:#f7fafc}
.catalog-import-help span{font-size:.82rem;color:#546b7c}
.catalog-import-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;border:1px solid #d6e2eb;border-radius:9px;background:#fff}
.catalog-import-summary small{flex-basis:100%;color:#607687}
.catalog-import-preview{max-height:430px;overflow:auto;border:1px solid #dbe5ec;border-radius:9px}
.catalog-import-preview table{margin:0}
.catalog-import-preview th{position:sticky;top:0;z-index:1;background:#eef5f9}
@media(max-width:700px){#catalogs .catalog-page-actions{justify-content:flex-start;width:100%}.catalog-import-dialog{width:96vw!important}.catalog-import-summary{align-items:flex-start}.catalog-import-preview{max-height:52vh}}


/* AMBER V19.30.189 — botones de acción principales más grandes y uniformes.
   Se recupera legibilidad sin perder la compactación de tablas y listados. */
:root{
  --amber-action-btn-height:42px;
  --amber-action-btn-font:.82rem;
  --amber-row-btn-height:30px;
  --amber-row-btn-font:.62rem;
}

/* "Crear ruta" y acciones principales de entrada: tamaño claramente visible. */
#assign .messaging-create-route-btn{
  min-width:240px!important;
  min-height:48px!important;
  height:auto!important;
  padding:12px 24px!important;
  border-radius:10px!important;
  font-size:.92rem!important;
  line-height:1.15!important;
  font-weight:900!important;
}

/* Acciones principales en páginas, formularios, diálogos y módulos operativos. */
.page > .page-title .btn,
.page-actions .btn,
.catalog-page-actions .btn,
.form-actions .btn,
.dialog-actions .btn,
.integration-actions .btn,
.backup-actions .btn,
.budget-form-actions .btn,
.report-actions .btn,
.gps-map-title-actions .btn,
.audit-title-actions .btn,
.attendance-filter-actions .btn,
.kpi-management-register-controls .btn,
.operations-control-actions .btn,
.operational-navigation-actions .btn,
.operational-workflow-head-actions .btn,
.office-mobile-actions .btn,
.focused-messaging-actions .btn,
.my-route-actions .btn,
.route-option-actions .btn,
.assignment-route-draft-actions .btn,
.improvement-actions .btn,
.signature-actions .btn,
.camera-source-actions .btn,
.amber-route-confirm-actions .btn,
.amber-route-decline-actions .btn,
.arrival-exception-actions .btn,
.dashboard-gps-card-actions .btn{
  min-height:var(--amber-action-btn-height)!important;
  height:auto!important;
  padding:9px 15px!important;
  border-radius:9px!important;
  font-size:var(--amber-action-btn-font)!important;
  line-height:1.12!important;
  font-weight:800!important;
}

/* Los botones Atrás/Continuar del asistente permanecen grandes y uniformes. */
#assign .messaging-step-actions .btn,
#assign .messaging-final-actions .btn,
#assign .operational-navigation-actions .btn{
  min-height:46px!important;
  padding:10px 18px!important;
  border-radius:10px!important;
  font-size:.86rem!important;
}

/* Acciones dentro de filas/tablas: un poco mayores para lectura, sin agrandar las filas en exceso. */
.table-actions .btn,.table-actions .small-btn,
.list-row .btn,.catalog-row .btn,
.credential-type-item .btn,.work-schedule-item .btn,
.recipient-option .btn,.messaging-document-row .btn,.messaging-review-row .btn,
.expense-item-row .btn,.backup-item-actions .btn,
.office-document-actions .btn,.office-document-alert-actions .btn,
.gps-table-actions .btn,.amber-registry-actions .btn,
.amber-photo-attachment-actions .btn,.amber-offline-item-actions .btn{
  min-height:var(--amber-row-btn-height)!important;
  height:auto!important;
  padding:5px 9px!important;
  border-radius:7px!important;
  font-size:var(--amber-row-btn-font)!important;
  line-height:1.05!important;
}

/* Accesibilidad táctil en teléfono/tablet: los botones principales ocupan un área cómoda. */
@media(max-width:700px){
  #assign .messaging-create-route-btn{width:100%!important;min-width:0!important;min-height:50px!important}
  .page > .page-title .btn,.page-actions .btn,.catalog-page-actions .btn,.form-actions .btn,
  .dialog-actions .btn,.integration-actions .btn,.backup-actions .btn,.budget-form-actions .btn,
  .report-actions .btn,.gps-map-title-actions .btn,.audit-title-actions .btn,
  .operations-control-actions .btn,.operational-navigation-actions .btn,
  .operational-workflow-head-actions .btn,.office-mobile-actions .btn,.focused-messaging-actions .btn,
  .my-route-actions .btn,.route-option-actions .btn,.assignment-route-draft-actions .btn,
  .camera-source-actions .btn{
    min-height:46px!important;
    padding:10px 14px!important;
    font-size:.86rem!important;
  }
}


/* AMBER V19.30.192 — barra de avance visible en todos los asistentes.
   Se conserva el diseño compacto: solo se muestra la línea de progreso,
   desde el primer paso hasta el último, tanto en Mensajería como en
   Aforo/Inspecciones (comparten el asistente operacional). */
#assign .messaging-wizard-progress{
  display:block!important;
  width:100%!important;
  padding:7px 18px 3px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#assign .messaging-wizard-progress>div:first-child{
  display:none!important;
}
#assign .messaging-wizard-progress .messaging-progress-track{
  display:block!important;
  width:100%!important;
  height:9px!important;
  background:#dcebf8!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
#assign .messaging-wizard-progress .messaging-progress-track>i{
  display:block!important;
  height:100%!important;
  min-width:3px!important;
  border-radius:999px!important;
  background:#17679f!important;
  transition:width .25s ease!important;
}
@media(max-width:700px){
  #assign .messaging-wizard-progress{padding:6px 10px 2px!important}
  #assign .messaging-wizard-progress .messaging-progress-track{height:8px!important}
}

/* AMBER V19.30.192 — flujos verticales móviles y validaciones visibles. */
#assign .vertical-wizard-grid,
#assign .messaging-wizard-grid.vertical-wizard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,560px)!important;
  justify-content:start!important;
  gap:10px!important;
  width:100%!important;
}
#assign .vertical-wizard-grid>label,
#assign .vertical-wizard-grid>.span-2{
  grid-column:1!important;
  width:100%!important;
  max-width:560px!important;
}
#assign .messaging-documents-builder,
#assign .operational-reference-step-fieldset,
#assign .operational-aux-documents-step,
#assign .operational-upload-box{
  width:100%!important;
  max-width:760px!important;
}
#assign .vertical-document-entry,
#assign .operational-reference-entry{
  display:grid!important;
  grid-template-columns:minmax(0,420px)!important;
  justify-content:start!important;
  gap:8px!important;
  align-items:start!important;
}
#assign .vertical-document-entry>label,
#assign .operational-reference-entry>label,
#assign .operational-reference-entry>button{
  grid-column:1!important;
}
#assign .operational-fixed-document-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
}
#assign .operational-fixed-document-grid>*{
  grid-column:1!important;
  width:100%!important;
  max-width:720px!important;
}
#assign .operational-reference-number-compact{
  width:190px!important;
  max-width:190px!important;
}
#assign .compact-action-btn{
  width:max-content!important;
  min-width:150px!important;
  max-width:100%!important;
}
#assign .messaging-original-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:14px!important;
  border:1px solid #d7e2ea!important;
  border-radius:12px!important;
  background:#fff!important;
  margin-top:10px!important;
}
#assign .messaging-document-main{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:9px!important;
}
#assign .messaging-document-main>div{display:grid!important;gap:2px!important}
#assign .messaging-original-card>label{max-width:520px!important}
#assign .messaging-original-evidence{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px!important;
  border-radius:10px!important;
  background:#f7fafc!important;
}
#assign .messaging-original-evidence p{margin:0!important;font-size:.8rem!important;color:#496273!important}
#assign .messaging-evidence-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
#assign .messaging-evidence-status{font-weight:700!important;color:#4d6879!important}
#assign .messaging-pending-original{
  padding:10px 12px!important;
  border:1px solid #e3c784!important;
  border-radius:9px!important;
  background:#fff8e5!important;
  color:#74520a!important;
  font-weight:800!important;
}
#assign .amber-step-validation{
  display:block;
  margin:8px 0 12px!important;
  padding:10px 12px!important;
  border:1px solid #c63f3f!important;
  border-radius:9px!important;
  background:#fff1f1!important;
  color:#8b1f1f!important;
  font-weight:800!important;
}
#assign .amber-step-validation[hidden]{display:none!important}
#assign .amber-field-error{
  outline:2px solid #c63f3f!important;
  outline-offset:3px!important;
  border-radius:8px!important;
  background:#fff3f3!important;
}
#assign label.amber-field-error input,
#assign label.amber-field-error select,
#assign label.amber-field-error textarea,
#assign .amber-field-error input,
#assign .amber-field-error select,
#assign .amber-field-error textarea{
  border-color:#c63f3f!important;
  box-shadow:0 0 0 3px rgba(198,63,63,.10)!important;
}
#assign .operational-reference-subtitle{margin-top:12px!important}
#assign .operational-reference-builder{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
#assign .operational-reference-builder>*{grid-column:1!important}
#assign .operational-aux-documents-step{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
#assign .operational-aux-documents-step>label{width:min(100%,560px)!important;max-width:560px!important}

/* El formulario genérico de Otras Gestiones también queda en una sola columna. */
#assign #assignForm[data-category="otras"]{
  grid-template-columns:minmax(0,680px)!important;
  justify-content:start!important;
  gap:10px!important;
}
#assign #assignForm[data-category="otras"]>.span-2,
#assign #assignForm[data-category="otras"]>label,
#assign #assignForm[data-category="otras"]>fieldset,
#assign #assignForm[data-category="otras"]>button{
  grid-column:1!important;
  width:100%!important;
  max-width:680px!important;
}

@media(max-width:700px){
  #assign .vertical-wizard-grid,
  #assign .messaging-wizard-grid.vertical-wizard-grid,
  #assign .vertical-document-entry,
  #assign .operational-reference-entry,
  #assign #assignForm[data-category="otras"]{grid-template-columns:1fr!important;width:100%!important}
  #assign .vertical-wizard-grid>label,
  #assign .vertical-wizard-grid>.span-2,
  #assign .messaging-documents-builder,
  #assign .operational-reference-step-fieldset,
  #assign .operational-aux-documents-step,
  #assign .operational-upload-box,
  #assign #assignForm[data-category="otras"]>*{width:100%!important;max-width:100%!important}
  #assign .operational-reference-number-compact{width:100%!important;max-width:100%!important}
  #assign .messaging-document-main{grid-template-columns:32px minmax(0,1fr)!important}
  #assign .messaging-document-main>button{grid-column:1 / -1!important;width:100%!important}
  #assign .messaging-evidence-actions{display:grid!important;grid-template-columns:1fr!important}
  #assign .messaging-evidence-actions .btn{width:100%!important}
}

/* V19.30.192: campos faltantes resaltados en cualquier módulo. */
.amber-global-field-error{outline:2px solid rgba(180,35,35,.72)!important;outline-offset:3px;border-radius:10px;background:rgba(180,35,35,.055)!important}
.amber-global-input-error{border-color:#b42323!important;box-shadow:0 0 0 3px rgba(180,35,35,.12)!important}

/* =============================================================
   AMBER V19.30.192 — CORRECCIONES DE REVISIÓN (base de V19.30.193)
   Campos compactos, confirmaciones táctiles, resumen reducido.
   ============================================================= */

/* Validaciones siempre visibles y vinculadas al campo faltante. */
.amber-step-validation{
  display:block;margin:8px 0 12px;padding:10px 12px;border:1px solid #c63f3f;
  border-radius:9px;background:#fff1f1;color:#8b1f1f;font-weight:800;max-width:760px
}
.amber-step-validation[hidden]{display:none!important}
.amber-field-error{outline:2px solid #c63f3f!important;outline-offset:3px;border-radius:8px;background:#fff3f3!important}
.amber-field-error input,.amber-field-error select,.amber-field-error textarea,
label.amber-field-error input,label.amber-field-error select,label.amber-field-error textarea{
  border-color:#c63f3f!important;box-shadow:0 0 0 3px rgba(198,63,63,.10)!important
}

/* Confirmación de procedimiento: botones grandes y fáciles de pulsar. */
.amber-advance-confirmation-actions{gap:14px!important;align-items:stretch!important}
.amber-advance-confirmation-actions .btn{
  min-height:58px!important;min-width:250px!important;padding:15px 26px!important;
  font-size:1rem!important;font-weight:900!important;border-radius:12px!important
}
.amber-advance-no,.amber-advance-yes{min-width:250px!important}

/* AFORO / INSPECCIÓN — información de asignación compacta y uniforme. */
#assign [data-op-step="1"] label:has(#opAuxiliary),
#assign [data-op-step="1"] label:has(#opAdvisor),
#assign [data-op-step="1"] label:has(#opClient){width:390px!important;max-width:390px!important}
#assign [data-op-step="1"] #opAuxiliary,
#assign [data-op-step="1"] #opAdvisor,
#assign [data-op-step="1"] #opClient{width:100%!important;max-width:100%!important}

/* AFORO / INSPECCIÓN — recorrido de ruta: cuatro controles del mismo ancho. */
#assign [data-op-step="3"] label:has(#opRouteStart),
#assign [data-op-step="3"] label:has(#opSector),
#assign [data-op-step="3"] label:has(#opDestinationLocation),
#assign [data-op-step="3"] label:has(#opTransport){width:390px!important;max-width:390px!important}
#assign [data-op-step="3"] #opRouteStart,
#assign [data-op-step="3"] #opSector,
#assign [data-op-step="3"] #opDestinationLocation,
#assign [data-op-step="3"] #opTransport{width:100%!important;max-width:100%!important}

/* OTRAS GESTIONES — Paso 1: todo a menos de la mitad del contenedor. */
#assign [data-other-step="1"] .vertical-wizard-grid>label{
  width:min(42vw,430px)!important;max-width:430px!important;min-width:300px
}
#assign [data-other-step="1"] input,
#assign [data-other-step="1"] select{width:100%!important;max-width:100%!important}

/* OTRAS GESTIONES — Paso 2: campos principales a la mitad y del mismo tamaño. */
#assign [data-other-step="2"] label:has(#otherManagementType),
#assign [data-other-step="2"] label:has(#otherDocumentType),
#assign [data-other-step="2"] label:has(#otherDocumentDescription),
#assign [data-other-step="2"] label:has(#otherOriginalAction){width:300px!important;max-width:300px!important}
#assign [data-other-step="2"] #otherManagementType,
#assign [data-other-step="2"] #otherDocumentType,
#assign [data-other-step="2"] #otherDocumentDescription,
#assign [data-other-step="2"] #otherOriginalAction{width:100%!important;max-width:100%!important}
#assign [data-other-step="2"] .other-documents-builder{width:min(100%,760px)!important;max-width:760px!important}

/* OTRAS GESTIONES — Paso 3: recorrido del auxiliar a la mitad, uniforme. */
#assign [data-other-step="3"] label:has(#otherRouteStart),
#assign [data-other-step="3"] label:has(#otherSector),
#assign [data-other-step="3"] label:has(#otherDestination),
#assign [data-other-step="3"] label:has(#otherTransport){width:380px!important;max-width:380px!important}
#assign [data-other-step="3"] #otherRouteStart,
#assign [data-other-step="3"] #otherSector,
#assign [data-other-step="3"] #otherDestination,
#assign [data-other-step="3"] #otherTransport{width:100%!important;max-width:100%!important}

/* Revisión final compacta en Mensajería, Aforo, Inspecciones y Otras Gestiones. */
#assign .messaging-final-review,
#assign .messaging-wizard-route-summary{width:min(100%,760px)!important;max-width:760px!important}
#assign .messaging-review-row{min-height:48px!important;padding:7px 8px!important;gap:8px!important}
#assign .messaging-review-row>span{width:38px!important;height:38px!important;min-width:38px!important}
#assign .messaging-review-row p{margin:2px 0 0!important;font-size:.82rem!important;line-height:1.25!important}
#assign .messaging-wizard-route-summary{padding:12px!important;margin-top:12px!important}
#assign .messaging-wizard-route-card{padding:8px 10px!important;min-height:48px!important}

/* Acciones Excel / volver visibles sin romper el encabezado. */
.catalog-page-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important}
.catalog-page-actions .btn{white-space:nowrap}

@media(max-width:700px){
  .amber-advance-confirmation-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .amber-advance-confirmation-actions .btn,.amber-advance-no,.amber-advance-yes{width:100%!important;min-width:0!important;min-height:58px!important}
  #assign [data-op-step="1"] label:has(#opAuxiliary),#assign [data-op-step="1"] label:has(#opAdvisor),#assign [data-op-step="1"] label:has(#opClient),
  #assign [data-op-step="3"] label:has(#opRouteStart),#assign [data-op-step="3"] label:has(#opSector),#assign [data-op-step="3"] label:has(#opDestinationLocation),#assign [data-op-step="3"] label:has(#opTransport),
  #assign [data-other-step="1"] .vertical-wizard-grid>label,
  #assign [data-other-step="2"] label:has(#otherManagementType),#assign [data-other-step="2"] label:has(#otherDocumentType),#assign [data-other-step="2"] label:has(#otherDocumentDescription),#assign [data-other-step="2"] label:has(#otherOriginalAction),
  #assign [data-other-step="3"] label:has(#otherRouteStart),#assign [data-other-step="3"] label:has(#otherSector),#assign [data-other-step="3"] label:has(#otherDestination),#assign [data-other-step="3"] label:has(#otherTransport){width:100%!important;max-width:100%!important;min-width:0!important}
  #assign .messaging-final-review,#assign .messaging-wizard-route-summary{width:100%!important;max-width:100%!important}
  .catalog-page-actions{justify-content:flex-start!important;width:100%!important}
  .catalog-page-actions .btn{flex:1 1 145px!important}
}

/* Mensajería — recorrido de ruta uniforme con el resto de módulos. */
#assign [data-msg-step="3"] label:has(#msgRouteStart),
#assign [data-msg-step="3"] label:has(#msgSector),
#assign [data-msg-step="3"] label:has(#msgDestinationLocation),
#assign [data-msg-step="3"] label:has(#msgRouteTransport){width:390px!important;max-width:390px!important}
#assign [data-msg-step="3"] #msgRouteStart,
#assign [data-msg-step="3"] #msgSector,
#assign [data-msg-step="3"] #msgDestinationLocation,
#assign [data-msg-step="3"] #msgRouteTransport{width:100%!important;max-width:100%!important}
@media(max-width:700px){
  #assign [data-msg-step="3"] label:has(#msgRouteStart),#assign [data-msg-step="3"] label:has(#msgSector),#assign [data-msg-step="3"] label:has(#msgDestinationLocation),#assign [data-msg-step="3"] label:has(#msgRouteTransport){width:100%!important;max-width:100%!important}
}


/* =============================================================
   AMBER V19.30.193 — AJUSTES VISUALES, REFERENCIAS INLINE Y GPS
   ============================================================= */

/* Los campos Auxiliar / Asesor / Cliente comparten EXACTAMENTE el mismo ancho. */
#assign .amber-person-select-field{
  width:390px!important;
  max-width:390px!important;
  min-width:0!important;
}
#assign .amber-person-select-field>select{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Mensajería: Documento, Número y entrega de original a la mitad y uniformes. */
#assign [data-msg-step="2"] .messaging-document-control,
#assign [data-msg-step="2"] .messaging-original-delivery-control{
  width:300px!important;
  max-width:300px!important;
  min-width:0!important;
}
#assign [data-msg-step="2"] .messaging-document-control>input,
#assign [data-msg-step="2"] .messaging-document-control>select,
#assign [data-msg-step="2"] .messaging-original-delivery-control>select{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Aforo/Inspecciones: selector de referencias aparece primero y cada número agregado queda debajo de su propio campo. */
#assign .operational-reference-step-fieldset{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
#assign .operational-reference-mode-field{order:1!important}
#assign .operational-reference-completion-option{order:2!important}
#assign #operationalReferenceDocumentsBox{order:3!important}
#assign #operationalNoReferenceNote{order:4!important}
#assign .operational-inline-reference-list{
  width:100%!important;
  max-width:390px!important;
  display:grid!important;
  gap:6px!important;
  margin:2px 0 4px!important;
}
#assign .operational-inline-reference-row{
  display:grid!important;
  grid-template-columns:minmax(70px,auto) minmax(100px,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 8px!important;
  border:1px solid #c9deed!important;
  border-radius:9px!important;
  background:#f8fcff!important;
  font-size:.78rem!important;
}
#assign .operational-inline-reference-row span{min-width:0!important;overflow-wrap:anywhere!important}
#assign .operational-inline-reference-row .btn{min-height:32px!important;padding:5px 8px!important;font-size:.7rem!important}

/* Navegación de TODOS los asistentes al final y alineada a la izquierda. */
#assign .messaging-step-actions,
#assign .messaging-final-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
}
#assign .messaging-step-actions .btn,
#assign .messaging-final-actions .btn{width:auto!important;flex:0 0 auto!important}

/* Avisos de validación: aproximadamente la mitad del ancho anterior. */
#assign .amber-step-validation,
.amber-step-validation{
  width:min(100%,390px)!important;
  max-width:390px!important;
  box-sizing:border-box!important;
}

/* Revisión final: aproximadamente a la mitad, conservando legibilidad. */
#assign .messaging-final-review,
#assign .messaging-wizard-route-summary{
  width:min(100%,430px)!important;
  max-width:430px!important;
}
#assign .messaging-review-row{
  width:100%!important;
  box-sizing:border-box!important;
}
/* Estos dos bloques específicos permanecen iguales entre sí y con proporción de tarjeta amplia. */
#assign .operational-reference-review{
  width:min(100%,760px)!important;
  max-width:760px!important;
  box-sizing:border-box!important;
}

/* Georreferencia: ayuda visual del catálogo de Ubicaciones. */
#catalogDialog #locationFields{border-color:#9fc9e6!important;background:#f7fbff!important}
#catalogDialog #locationFields small{display:block!important;color:#35617e!important;line-height:1.35!important}

@media(max-width:700px){
  #assign .amber-person-select-field,
  #assign [data-msg-step="2"] .messaging-document-control,
  #assign [data-msg-step="2"] .messaging-original-delivery-control,
  #assign .amber-step-validation,
  .amber-step-validation,
  #assign .messaging-final-review,
  #assign .messaging-wizard-route-summary,
  #assign .operational-reference-review{
    width:100%!important;
    max-width:100%!important;
  }
  #assign .messaging-step-actions,
  #assign .messaging-final-actions{justify-content:flex-start!important}
  #assign .messaging-step-actions .btn,
  #assign .messaging-final-actions .btn{min-height:48px!important}
  #assign .operational-inline-reference-list{max-width:100%!important}
  #assign .operational-inline-reference-row{grid-template-columns:1fr!important}
  #assign .operational-inline-reference-row .btn{justify-self:start!important}
}


/* =============================================================
   AMBER V19.30.194 — VERIFICACIÓN REAL DE CORRECCIONES SOLICITADAS
   ============================================================= */

/* 1) Información de asignación: medidas EXACTAS y uniformes. */
#assign .amber-person-select-field,
#assign [data-op-step="1"] label:has(#opDistrictMode),
#assign [data-op-step="1"] label:has(#opDistrict),
#assign [data-msg-step="1"] label:has(#msgAuxiliary),
#assign [data-msg-step="1"] label:has(#msgAdvisor),
#assign [data-msg-step="1"] label:has(#msgClient){
  width:260px!important;
  max-width:260px!important;
  min-width:0!important;
}
#assign .amber-person-select-field>select,
#assign [data-op-step="1"] #opDistrictMode,
#assign [data-op-step="1"] #opDistrict,
#assign [data-msg-step="1"] #msgAuxiliary,
#assign [data-msg-step="1"] #msgAdvisor,
#assign [data-msg-step="1"] #msgClient{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* 2) Paso 2 Aforo/Inspección: referencias primero y carga después. */
#assign [data-op-step="2"] .operational-reference-step-fieldset{
  width:430px!important;
  max-width:430px!important;
  margin:0 0 12px!important;
}
#assign [data-op-step="2"] .operational-cargo-after-references{
  width:260px!important;
  max-width:260px!important;
  margin-top:4px!important;
}
#assign [data-op-step="2"] .operational-cargo-after-references>label,
#assign [data-op-step="2"] #opCargoMode{width:260px!important;max-width:260px!important}
#assign [data-op-step="2"] .operational-reference-mode-field{width:260px!important;max-width:260px!important}
#assign [data-op-step="2"] .operational-reference-mode-field>select{width:100%!important;max-width:100%!important}
#assign [data-op-step="2"] .operational-reference-builder{width:100%!important;max-width:390px!important}
#assign [data-op-step="2"] .operational-reference-entry{grid-template-columns:minmax(0,260px)!important}
#assign [data-op-step="2"] label:has(#opReferenceType){width:170px!important;max-width:170px!important}
#assign [data-op-step="2"] #opReferenceType{width:170px!important;max-width:170px!important}
#assign [data-op-step="2"] .operational-inline-reference-list{
  grid-column:1!important;
  width:260px!important;
  max-width:260px!important;
  margin:0 0 2px!important;
}
#assign [data-op-step="2"] .operational-inline-reference-row{grid-template-columns:58px minmax(80px,1fr) auto!important}

/* 3) Recorrido: todos los controles del mismo ancho compacto. */
#assign [data-msg-step="3"] label:has(#msgRouteStart),
#assign [data-msg-step="3"] label:has(#msgSector),
#assign [data-msg-step="3"] label:has(#msgDestinationLocation),
#assign [data-msg-step="3"] label:has(#msgRouteTransport),
#assign [data-op-step="3"] label:has(#opRouteStart),
#assign [data-op-step="3"] label:has(#opSector),
#assign [data-op-step="3"] label:has(#opDestinationLocation),
#assign [data-op-step="3"] label:has(#opTransport){
  width:260px!important;
  max-width:260px!important;
  min-width:0!important;
}
#assign [data-msg-step="3"] select,
#assign [data-op-step="3"] select{width:100%!important;max-width:100%!important}

/* 4) Mensajería: Documento / número / original antes de Agregar. */
#assign [data-msg-step="2"] .messaging-document-entry{grid-template-columns:minmax(0,300px)!important}
#assign [data-msg-step="2"] .messaging-document-control,
#assign [data-msg-step="2"] .messaging-original-delivery-control{width:300px!important;max-width:300px!important}
#assign [data-msg-step="2"] #msgDocumentType,
#assign [data-msg-step="2"] #msgDocumentNumber,
#assign [data-msg-step="2"] #msgOriginalDelivery{width:100%!important;max-width:100%!important}
#assign [data-msg-step="2"] #msgAddDocumentBtn{justify-self:start!important}

/* 5) Validaciones compactas y visibles. */
#assign .amber-step-validation,.amber-step-validation{width:430px!important;max-width:430px!important}

/* 6) Resúmenes finales: tamaño compacto verificado. */
#assign .messaging-final-review,
#assign .messaging-wizard-route-summary,
#assign .operational-reference-review,
#assign .messaging-channel-box,
#assign .messaging-wizard-estimate{
  width:430px!important;
  max-width:430px!important;
  box-sizing:border-box!important;
}
#assign .operational-reference-review{margin-top:10px!important}
#assign .messaging-channel-box{margin-inline:0!important}
#assign .messaging-wizard-estimate{margin-inline:0!important}

/* 7) Todos los botones del pie permanecen a la izquierda. */
#assign .messaging-step-actions,#assign .messaging-final-actions{justify-content:flex-start!important}

/* 8) Clientes: botón de recuperación visible y acciones compactas. */
#clients .catalog-page-actions{justify-content:flex-start!important}
#recoverClientsBtn{white-space:nowrap!important}

@media(max-width:700px){
  #assign .amber-person-select-field,
  #assign [data-op-step="1"] label:has(#opDistrictMode),
  #assign [data-op-step="1"] label:has(#opDistrict),
  #assign [data-msg-step="1"] label:has(#msgAuxiliary),
  #assign [data-msg-step="1"] label:has(#msgAdvisor),
  #assign [data-msg-step="1"] label:has(#msgClient),
  #assign [data-op-step="2"] .operational-reference-step-fieldset,
  #assign [data-op-step="2"] .operational-cargo-after-references,
  #assign [data-op-step="2"] .operational-cargo-after-references>label,
  #assign [data-op-step="2"] #opCargoMode,
  #assign [data-op-step="2"] .operational-reference-mode-field,
  #assign [data-op-step="2"] .operational-reference-builder,
  #assign [data-op-step="2"] .operational-reference-entry,
  #assign [data-op-step="2"] label:has(#opReferenceType),
  #assign [data-op-step="2"] #opReferenceType,
  #assign [data-op-step="2"] .operational-inline-reference-list,
  #assign [data-msg-step="3"] label:has(#msgRouteStart),
  #assign [data-msg-step="3"] label:has(#msgSector),
  #assign [data-msg-step="3"] label:has(#msgDestinationLocation),
  #assign [data-msg-step="3"] label:has(#msgRouteTransport),
  #assign [data-op-step="3"] label:has(#opRouteStart),
  #assign [data-op-step="3"] label:has(#opSector),
  #assign [data-op-step="3"] label:has(#opDestinationLocation),
  #assign [data-op-step="3"] label:has(#opTransport),
  #assign [data-msg-step="2"] .messaging-document-entry,
  #assign [data-msg-step="2"] .messaging-document-control,
  #assign [data-msg-step="2"] .messaging-original-delivery-control,
  #assign .amber-step-validation,.amber-step-validation,
  #assign .messaging-final-review,#assign .messaging-wizard-route-summary,
  #assign .operational-reference-review,#assign .messaging-channel-box,#assign .messaging-wizard-estimate{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  #assign [data-op-step="2"] .operational-inline-reference-row{grid-template-columns:1fr!important}
}

/* =============================================================
   AMBER V19.30.195 — CORRECCIONES VISUALES Y ORDEN DOCUMENTAL
   ============================================================= */

/* Información de asignación: Auxiliar, Asesor y Cliente con el ancho
   exacto compacto solicitado en Mensajería, Aforo, Inspecciones y Otras. */
#assign .amber-person-select-field,
#assign [data-msg-step="1"] label:has(#msgAuxiliary),
#assign [data-msg-step="1"] label:has(#msgAdvisor),
#assign [data-msg-step="1"] label:has(#msgClient),
#assign [data-op-step="1"] label:has(#opAuxiliary),
#assign [data-op-step="1"] label:has(#opAdvisor),
#assign [data-op-step="1"] label:has(#opClient),
#assign [data-other-step="1"] label:has(#otherAuxiliary),
#assign [data-other-step="1"] label:has(#otherAdvisor),
#assign [data-other-step="1"] label:has(#otherClient){
  width:min(220px,100%)!important;
  max-width:220px!important;
  min-width:0!important;
}
#assign .amber-person-select-field>select,
#assign [data-msg-step="1"] #msgAuxiliary,
#assign [data-msg-step="1"] #msgAdvisor,
#assign [data-msg-step="1"] #msgClient,
#assign [data-op-step="1"] #opAuxiliary,
#assign [data-op-step="1"] #opAdvisor,
#assign [data-op-step="1"] #opClient,
#assign [data-other-step="1"] #otherAuxiliary,
#assign [data-other-step="1"] #otherAdvisor,
#assign [data-other-step="1"] #otherClient{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Mensajería: números ya agregados se muestran ARRIBA del botón Agregar,
   inmediatamente debajo de ¿Se entrega documento original? */
#assign [data-msg-step="2"] .messaging-added-number-list{
  width:min(300px,100%)!important;
  max-width:300px!important;
  display:grid!important;
  gap:6px!important;
  margin:0 0 2px!important;
  grid-column:1!important;
}
#assign [data-msg-step="2"] .messaging-added-number-list[hidden]{display:none!important}
#assign [data-msg-step="2"] .messaging-added-number-row{
  display:grid!important;
  grid-template-columns:28px 56px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-height:36px!important;
  padding:6px 8px!important;
  border:1px solid #bdd8eb!important;
  border-radius:9px!important;
  background:#f7fbfe!important;
  color:#0c3d68!important;
  font-size:.78rem!important;
}
#assign [data-msg-step="2"] .messaging-added-number-row>span{
  display:grid!important;place-items:center!important;width:24px!important;height:24px!important;
  border-radius:50%!important;background:#1477af!important;color:#fff!important;font-weight:900!important
}
#assign [data-msg-step="2"] .messaging-added-number-row>strong{
  min-width:0!important;overflow-wrap:anywhere!important;color:#183148!important
}
/* En la tarjeta inferior NO se repite el número del documento. */
#assign [data-msg-step="2"] .messaging-original-card .messaging-document-main>div>span{display:none!important}

/* Aforo / Inspecciones: Tipo de carga DENTRO de Documentos de referencia,
   después de la opción/validación y antes de Referencia MRN. */
#assign [data-op-step="2"] .operational-reference-step-fieldset>.operational-cargo-after-references{
  width:min(220px,100%)!important;
  max-width:220px!important;
  margin:10px 0 8px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
#assign [data-op-step="2"] .operational-reference-step-fieldset>.operational-cargo-after-references>label,
#assign [data-op-step="2"] .operational-reference-step-fieldset #opCargoMode{
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:700px){
  #assign .amber-person-select-field,
  #assign [data-msg-step="1"] label:has(#msgAuxiliary),
  #assign [data-msg-step="1"] label:has(#msgAdvisor),
  #assign [data-msg-step="1"] label:has(#msgClient),
  #assign [data-op-step="1"] label:has(#opAuxiliary),
  #assign [data-op-step="1"] label:has(#opAdvisor),
  #assign [data-op-step="1"] label:has(#opClient),
  #assign [data-other-step="1"] label:has(#otherAuxiliary),
  #assign [data-other-step="1"] label:has(#otherAdvisor),
  #assign [data-other-step="1"] label:has(#otherClient),
  #assign [data-msg-step="2"] .messaging-added-number-list,
  #assign [data-op-step="2"] .operational-reference-step-fieldset>.operational-cargo-after-references{
    width:min(220px,100%)!important;
    max-width:220px!important;
  }
}


/* =============================================================
   AMBER V19.30.202 — ORDEN FINAL Y BOTONES CREAR RUTA A LA IZQUIERDA
   ============================================================= */

/* Aforo / Inspecciones — orden visual exacto solicitado:
   1. Opción de documentos de referencia
   2. Tipo de carga
   3. Aviso / validación
   4. Referencias MRN, BL, DAI y otras. */
#assign [data-op-step="2"] .operational-reference-step-fieldset{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
#assign [data-op-step="2"] .operational-reference-mode-field{order:1!important}
#assign [data-op-step="2"] .operational-cargo-after-references{order:2!important}
#assign [data-op-step="2"] .operational-reference-completion-option{order:3!important}
#assign [data-op-step="2"] #operationalReferenceDocumentsBox{order:4!important}
#assign [data-op-step="2"] #operationalNoReferenceNote{order:5!important}

/* Mensajería / Aforo / Inspecciones — cuando exista evidencia de documento
   original, la evidencia queda inmediatamente debajo del encabezado 1. BL
   (o el documento que corresponda), sin separarse del documento. */
#assign .messaging-original-card>.messaging-original-evidence{
  margin:8px 0 0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#assign .messaging-original-card>.messaging-document-main + .messaging-original-evidence{
  display:block!important;
}

/* Botón de entrada Crear ruta / Crear asignación / Crear gestión:
   siempre al lado izquierdo en Mensajería, Aforo, Inspecciones y Otras Gestiones. */
#assign .messaging-wizard-intro{
  grid-template-columns:auto minmax(0,1fr)!important;
}
#assign .messaging-wizard-intro>.messaging-create-route-btn{
  grid-column:1 / -1!important;
  justify-self:start!important;
  align-self:start!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:auto!important;
}
@media(max-width:820px){
  #assign .messaging-wizard-intro>.messaging-create-route-btn{
    width:auto!important;
    justify-self:start!important;
  }
}


/* =============================================================
   AMBER V19.30.202 — DOCUMENTOS SIN DUPLICADO / CAMPOS UNIFORMES
   ============================================================= */
/* Mensajería: una sola representación del documento agregado. */
#assign [data-msg-step="2"] #msgDocumentsList{display:none!important}
#assign [data-msg-step="2"] .messaging-added-number-list{
  width:min(300px,100%)!important;max-width:300px!important;display:grid!important;gap:8px!important
}
#assign [data-msg-step="2"] .messaging-added-document-card{
  width:100%!important;display:grid!important;gap:8px!important;padding:9px!important;
  border:1px solid #bdd8eb!important;border-radius:10px!important;background:#fff!important
}
#assign [data-msg-step="2"] .messaging-added-document-head{
  display:grid!important;grid-template-columns:28px 54px minmax(0,1fr)!important;gap:6px!important;align-items:center!important
}
#assign [data-msg-step="2"] .messaging-added-document-index{
  width:26px!important;height:26px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:#1477af!important;color:#fff!important;font-weight:900!important
}
#assign [data-msg-step="2"] .messaging-added-document-head>strong{min-width:0!important;overflow-wrap:anywhere!important}
#assign [data-msg-step="2"] .messaging-added-document-head>small{grid-column:2/4!important;font-size:.72rem!important}
#assign [data-msg-step="2"] .messaging-added-document-head>button{grid-column:2/4!important;justify-self:start!important;margin-top:2px!important}
#assign [data-msg-step="2"] .messaging-added-document-card .messaging-original-evidence,
#assign [data-msg-step="2"] .messaging-added-document-card .messaging-pending-original{width:100%!important;margin:0!important}

/* Otras Gestiones: todos los campos de Información de la gestión iguales. */
#assign [data-other-step="1"] .vertical-wizard-grid>label,
#assign [data-other-step="1"] label:has(#otherAssignedDate),
#assign [data-other-step="1"] label:has(#otherAssignedTime),
#assign [data-other-step="1"] label:has(#otherDistrict),
#assign [data-other-step="1"] label:has(#otherCity),
#assign [data-other-step="1"] label:has(#otherAuxiliary),
#assign [data-other-step="1"] label:has(#otherAdvisor),
#assign [data-other-step="1"] label:has(#otherClient){
  width:min(220px,100%)!important;max-width:220px!important;min-width:0!important
}
#assign [data-other-step="1"] input,
#assign [data-other-step="1"] select{width:100%!important;max-width:100%!important;box-sizing:border-box!important}

/* Confirmación de creación: toda la información en una sola línea. */
#assignResult .assignment-success-single-line{
  display:flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;
  overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;
  padding:10px 12px!important;scrollbar-width:thin!important
}
#assignResult .assignment-success-single-line>span{display:inline-block!important;flex:0 0 auto!important}
#assignResult .assignment-success-separator{font-style:normal!important;color:#76a287!important;flex:0 0 auto!important}

@media(max-width:700px){
  #assign [data-other-step="1"] .vertical-wizard-grid>label,
  #assign [data-other-step="1"] label:has(#otherAssignedDate),
  #assign [data-other-step="1"] label:has(#otherAssignedTime),
  #assign [data-other-step="1"] label:has(#otherDistrict),
  #assign [data-other-step="1"] label:has(#otherCity),
  #assign [data-other-step="1"] label:has(#otherAuxiliary),
  #assign [data-other-step="1"] label:has(#otherAdvisor),
  #assign [data-other-step="1"] label:has(#otherClient){width:min(220px,100%)!important;max-width:220px!important}
}

/* =============================================================
   AMBER V19.30.202 — CIERRE DE REVISIÓN RESPONSIVE
   ============================================================= */
/* Confirmación final: sin desplazamiento horizontal. Cada dato muestra etiqueta arriba y valor debajo. */
#assignResult .assignment-success-single-line{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
  align-items:stretch!important;
  gap:8px 10px!important;
  white-space:normal!important;
  overflow:visible!important;
  width:100%!important;
  max-width:100%!important;
  padding:10px 12px!important;
}
#assignResult .assignment-success-single-line>span{
  display:block!important;
  min-width:0!important;
  padding:6px 8px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.34)!important;
  overflow-wrap:anywhere!important;
  line-height:1.25!important;
}
#assignResult .assignment-success-single-line>span:first-child{
  grid-column:1/-1!important;
  background:transparent!important;
  padding:0 2px 4px!important;
}
#assignResult .assignment-success-single-line>span b{
  display:block!important;
  margin-bottom:2px!important;
  color:#174e32!important;
  font-weight:900!important;
}
#assignResult .assignment-success-single-line>span:first-child b{margin-bottom:0!important}
#assignResult .assignment-success-separator{display:none!important}
#assignResult .assignment-success-single-line .warning-text,
#assignResult .assignment-success-single-line .error{grid-column:1/-1!important}

/* Otras Gestiones — Recorrido del auxiliar aproximadamente a la mitad del ancho anterior. */
#assign [data-other-step="3"] .messaging-step-content{max-width:360px!important;width:100%!important}
#assign [data-other-step="3"] .vertical-wizard-grid,
#assign [data-other-step="3"] .messaging-wizard-grid.vertical-wizard-grid{max-width:230px!important;width:230px!important}
#assign [data-other-step="3"] label:has(#otherRouteStart),
#assign [data-other-step="3"] label:has(#otherSector),
#assign [data-other-step="3"] label:has(#otherDestination),
#assign [data-other-step="3"] label:has(#otherTransport){width:220px!important;max-width:220px!important;min-width:0!important}
#assign [data-other-step="3"] #otherRouteStart,
#assign [data-other-step="3"] #otherSector,
#assign [data-other-step="3"] #otherDestination,
#assign [data-other-step="3"] #otherTransport{width:100%!important;max-width:100%!important}

@media(max-width:700px){
  #assignResult .assignment-success-single-line{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  #assignResult .assignment-success-single-line>span:first-child{grid-column:1/-1!important}
  #assign [data-other-step="3"] .messaging-step-content{max-width:100%!important}
  #assign [data-other-step="3"] .vertical-wizard-grid,
  #assign [data-other-step="3"] .messaging-wizard-grid.vertical-wizard-grid{width:min(220px,100%)!important;max-width:220px!important}
  #assign [data-other-step="3"] label:has(#otherRouteStart),
  #assign [data-other-step="3"] label:has(#otherSector),
  #assign [data-other-step="3"] label:has(#otherDestination),
  #assign [data-other-step="3"] label:has(#otherTransport){width:min(220px,100%)!important;max-width:220px!important}
}
@media(max-width:420px){
  #assignResult .assignment-success-single-line{grid-template-columns:1fr!important}
}


/* =============================================================
   AMBER V19.30.208 — ASIGNACIÓN DE AUXILIAR VERTICAL + CIERRE COMPACTO
   ============================================================= */
#assign .assignment-type-card.auxiliary-assignment-card{border-color:#b7d4e8;background:linear-gradient(135deg,#fff,#f1f8fd)}
#assign .assignment-type-card.auxiliary-assignment-card .assignment-type-icon{background:#e7f3fb;color:#155a88}
.auxiliary-assignment-editor{margin:12px 0 14px;padding:14px;border:1px solid #c8ddea;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(21,73,111,.07)}
.auxiliary-assignment-editor-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:11px}.auxiliary-assignment-editor-head>div{min-width:0}.auxiliary-assignment-editor-head span{font-size:.69rem;letter-spacing:.07em;font-weight:900;color:#21689e}.auxiliary-assignment-editor-head h2{font-size:1.08rem;margin:1px 0 2px;color:#153d62}.auxiliary-assignment-editor-head p{font-size:.78rem;margin:0;color:#667f92}
.auxiliary-assignment-compact-form{display:grid;grid-template-columns:minmax(0,230px);gap:8px;align-items:start;justify-content:start}.auxiliary-assignment-compact-form label{display:grid;grid-template-columns:1fr;gap:4px;width:100%;font-size:.76rem;font-weight:800;color:#173c60}.auxiliary-assignment-compact-form select{width:100%;height:36px;min-height:36px;border:1px solid #bdd4e5;border-radius:9px;background:#f9fcff;padding:5px 9px;font:inherit;color:#17324d}.auxiliary-assignment-compact-form .btn{width:max-content;height:36px;min-height:36px;padding:6px 14px;white-space:nowrap;justify-self:start}
.auxiliary-assignment-channel-note{margin-top:8px;font-size:.73rem;color:#58748a}.auxiliary-assignment-created{margin-top:9px;display:flex!important;align-items:center;gap:7px!important;flex-wrap:wrap!important;padding:8px 10px!important}.auxiliary-assignment-created>b{width:100%;font-size:.8rem}.auxiliary-assignment-created>span{display:grid;gap:1px;padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.42);min-width:105px}.auxiliary-assignment-created small{font-size:.65rem}.auxiliary-assignment-created strong{font-size:.76rem}
.auxiliary-assignment-pending{margin:10px 0 12px;padding:10px;border:1px solid #cbddea;border-radius:12px;background:#f9fcfe}.auxiliary-assignment-pending-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.auxiliary-assignment-pending-head span{display:block;font-size:.65rem;letter-spacing:.07em;color:#21689e;font-weight:900}.auxiliary-assignment-pending-head b{font-size:.85rem;color:#173e60}.auxiliary-assignment-pending-list{display:grid;gap:6px}.auxiliary-assignment-pending-row{display:grid;grid-template-columns:minmax(145px,1.05fr) minmax(125px,1fr) minmax(125px,1fr) minmax(120px,.8fr) auto;gap:7px;align-items:center;padding:7px 8px;border:1px solid #d5e4ef;border-radius:9px;background:#fff;font-size:.73rem}.auxiliary-assignment-pending-row small{display:block;color:#6a8092;font-size:.63rem}.auxiliary-assignment-pending-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;color:#173c60}.auxiliary-assignment-pending-main{min-width:0}.auxiliary-assignment-pending-main b,.auxiliary-assignment-pending-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auxiliary-assignment-pending-main b{font-size:.75rem;color:#15466c}.auxiliary-assignment-pending-main span{font-size:.68rem;color:#60788b}.auxiliary-assignment-empty{padding:7px 8px;color:#60798d;font-size:.75rem}
/* Confirmación creada: tarjetas aproximadamente a mitad de altura, centradas y ocupando el ancho disponible. */
#assignResult .assignment-success-single-line{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:5px!important;align-items:stretch!important;padding:6px 8px!important;margin-inline:auto!important}
#assignResult .assignment-success-single-line>span{padding:4px 5px!important;border-radius:6px!important;min-height:46px!important;font-size:.72rem!important;line-height:1.13!important;display:flex!important;flex-direction:column!important;justify-content:center!important;text-align:left!important}
#assignResult .assignment-success-single-line>span:first-child{grid-column:1/-1!important;min-height:auto!important;padding:0 2px 2px!important;font-size:.72rem!important;display:block!important;text-align:left!important}
#assignResult .assignment-success-single-line>span b{font-size:.71rem!important;margin-bottom:2px!important}
@media(max-width:1100px){#assignResult .assignment-success-single-line{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.auxiliary-assignment-compact-form{grid-template-columns:minmax(0,230px)}.auxiliary-assignment-pending-row{grid-template-columns:1fr 1fr}.auxiliary-assignment-pending-row .btn{grid-column:1/-1;justify-self:start}#assignResult .assignment-success-single-line{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.auxiliary-assignment-editor{padding:10px}.auxiliary-assignment-editor-head{display:grid}.auxiliary-assignment-compact-form{grid-template-columns:1fr}.auxiliary-assignment-compact-form label,.auxiliary-assignment-compact-form select{width:100%}.auxiliary-assignment-pending-row{grid-template-columns:1fr}#assignResult .assignment-success-single-line{grid-template-columns:1fr!important}}


/* V19.30.208 — centro de actualización remota, compacto. */
.central-update-card{max-width:760px}.central-update-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.central-update-head h2{margin:0 0 4px}.central-update-head p{margin:0}.central-update-badge{white-space:nowrap;border:1px solid #d9b68e;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.central-update-status{display:grid;gap:3px;margin:12px 0;padding:10px 12px;border:1px solid #dbe4ea;border-radius:10px;background:#f8fafb}.central-update-status span,.central-update-status small{display:block}.central-update-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.8fr) minmax(210px,.9fr);gap:10px;align-items:end}.central-update-form label{display:grid;gap:5px;font-weight:700}.central-update-form input{width:100%;box-sizing:border-box}.central-update-form button{min-height:40px}@media(max-width:820px){.central-update-form{grid-template-columns:1fr}.central-update-head{display:grid}.central-update-badge{justify-self:start}}
