:root{
 --petrol:#005071;--blue:#1E6FB7;--turq:#41AB9E;--orange:#F29100;
 --red:#C11325;--magenta:#A2195A;--ink:#17313A;--muted:#6C7F85;
 --bg:#F4F7F7;--line:#D9E4E6;--white:#fff;--radius:18px
}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}a{text-decoration:none;color:var(--blue)}
.hidden{display:none!important}.full{width:100%}.small{font-size:12px}.center{text-align:center}.muted{color:var(--muted)}
.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:900;color:#687E84}.eyebrow.light{color:#B9E0E5}
.btn{border:1px solid #CBD8DB;background:#fff;color:var(--ink);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}
.btn.big{padding:14px 16px;font-size:16px}.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.turquoise{background:var(--turq);border-color:var(--turq);color:#fff}.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}
.btn.primary{background:var(--petrol);border-color:var(--petrol);color:#fff}.btn.ghost{background:#F3F7F7;color:#536A70}.btn:disabled{opacity:.48;cursor:not-allowed}
.notice{padding:12px 14px;border-radius:13px;margin:10px 0;border:1px solid var(--line);background:#fff}
.notice.success{background:#E4F5F2;color:#167668;border-color:#AFE0D8}.notice.error{background:#FBE9EC;color:#A50F20;border-color:#EDBBC2}

/* LOGIN */
.login-body{min-height:100vh;background:linear-gradient(145deg,var(--petrol),#0B6B85 45%,var(--blue))}
.login-shell{max-width:460px;margin:auto;padding:8vh 18px}.login-card{background:#fff;border-radius:24px;padding:26px;box-shadow:0 24px 70px rgba(0,30,50,.22)}
.login-card h1{font-size:30px;margin:4px 0 6px;color:var(--petrol)}.brand-logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--petrol),var(--blue));color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;box-shadow:inset 0 -8px 0 rgba(65,171,158,.38)}
.login-help{text-align:center;color:#8A9A9E;font-size:11px;margin-top:16px}.form-grid{display:grid;gap:12px}.form-grid h3{margin:8px 0 0;color:var(--petrol)}
.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea,.rut-input{width:100%;padding:10px 11px;border:1px solid #CBD8DB;border-radius:10px;background:#fff}
.form-grid small{font-size:10px;color:var(--muted);font-weight:500}.check{display:flex!important;align-items:center;gap:8px!important}.check input{width:auto!important}

/* SCANNER: no scroll */
.scanner-body{height:100dvh;overflow:hidden;background:linear-gradient(180deg,var(--petrol) 0 105px,var(--bg) 105px 100%);overscroll-behavior:none}
.scanner-shell{height:100dvh;max-width:560px;margin:auto;padding:max(8px,env(safe-area-inset-top)) 11px max(7px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:7px;overflow:hidden}
.scanner-header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff}
.scanner-brand{display:flex;align-items:center;gap:9px}.scanner-logo{width:36px;height:36px;border-radius:11px;background:#fff;color:var(--petrol);display:grid;place-items:center;font-weight:900;box-shadow:inset 0 -5px 0 rgba(242,145,0,.28)}
.scanner-header h1{font-size:20px;margin:1px 0 0;line-height:1}.scanner-head-actions{display:flex;align-items:center;gap:6px}.logout-link{color:#fff;font-size:10px;font-weight:900;padding:6px 8px;border:1px solid rgba(255,255,255,.28);border-radius:99px}
.status-dot-label{font-size:9px;padding:6px 8px;border-radius:99px;font-weight:900}.status-dot-label.online{background:rgba(65,171,158,.26);color:#D8FFF8}.status-dot-label.offline{background:rgba(193,19,37,.27)}
.device-strip{min-height:30px;background:#fff;border-radius:11px;border:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:6px 9px;font-size:10px;box-shadow:0 4px 16px rgba(0,60,80,.05)}
.device-strip strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-right{margin-left:auto;color:#557079;white-space:nowrap}.tiny-dot{width:7px;height:7px;border-radius:50%;background:#AEBDBF}.tiny-dot.ok{background:var(--turq);box-shadow:0 0 0 3px #DDF3EF}.tiny-dot.warn{background:var(--orange);box-shadow:0 0 0 3px #FFF0D6}
.main-card{min-height:0;background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,68,90,.08);overflow:hidden}
.idle-card{padding:14px;display:grid;grid-template-rows:1fr auto;gap:10px}.idle-art{display:flex;flex-direction:column;justify-content:center;text-align:center}.idle-art h2{font-size:24px;color:var(--petrol);margin:6px 0}.idle-art p{font-size:12px;line-height:1.35;color:var(--muted);margin:0 auto;max-width:360px}
.nfc-icon{width:72px;height:72px;margin:0 auto 10px;border-radius:24px;background:linear-gradient(145deg,var(--petrol),var(--blue));box-shadow:inset 0 -9px 0 rgba(65,171,158,.35),0 12px 26px rgba(0,80,113,.16);display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:.09em}
.idle-actions{display:grid;gap:7px}.rut-fallback{border:0;background:transparent;color:#7B8E93;text-decoration:underline;text-underline-offset:3px;font-size:10px;font-weight:700;padding:5px}
.identify-card{padding:18px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:7px}.identify-card h2{font-size:26px;color:var(--petrol);margin:2px}.identify-card p{font-size:12px;color:var(--muted);margin:0 auto 8px}.pulse-nfc{width:82px;height:82px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:#E0F4F1;color:var(--petrol);font-weight:900;box-shadow:0 0 0 0 rgba(65,171,158,.4);animation:pulse 1.5s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(65,171,158,0)}100%{box-shadow:0 0 0 0 rgba(65,171,158,0)}}
.patrol-card{padding:11px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:7px}.patrol-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.guard-info{min-width:0}.guard-info h2{font-size:19px;margin:4px 0 2px;color:var(--petrol);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.round-chip{display:inline-block;background:var(--magenta);color:#fff;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.08em}.progress-box{text-align:right;flex:0 0 auto}.progress-box strong{display:block;font-size:25px;color:var(--petrol);line-height:1}.progress-box span{font-size:9px;color:var(--muted)}
.progress-track{height:7px;background:#E5ECEE;border-radius:99px;overflow:hidden}.progress-track div{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--turq));border-radius:99px;transition:width .3s}
.next-panel{min-height:0;border-radius:16px;padding:11px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.panel-label{font-size:9px;letter-spacing:.13em;font-weight:900}
.next-panel h3{font-size:clamp(19px,5vw,26px);line-height:1.06;margin:5px 0;max-width:100%}
.travel-panel{background:linear-gradient(145deg,#FFF6E8,#FFE6BC);border:1px solid #F4C979;color:#774600}.travel-caption{font-size:10px;font-weight:800;margin-top:5px}.travel-countdown{font-size:clamp(50px,15vw,76px);font-weight:900;line-height:.92;color:var(--orange);letter-spacing:-.04em;margin:5px 0}.orange-note{font-size:10px;background:#fff7e9;padding:6px 9px;border-radius:9px}
.ready-panel{background:linear-gradient(145deg,#E2F5F1,#C8EEE7);border:1px solid #9FD9CE;color:#155F55}.ready-check{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--turq);color:#fff;font-size:30px;font-weight:900;margin:7px}.ready-note{font-size:11px;font-weight:800}
.patrol-actions{display:grid;grid-template-columns:1fr auto;gap:6px}.micro-action{border:0;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:900;background:#EFF4F5;color:#566E75}.warning-action{background:#FFF0D6;color:#975900}.micro-action:disabled{opacity:.45}
.scanner-footer{font-size:9px;color:#7B8F94;display:flex;justify-content:center;gap:5px;min-height:18px;align-items:center}
.toast{position:fixed;z-index:1500;top:calc(max(8px,env(safe-area-inset-top)) + 55px);left:50%;transform:translateX(-50%);width:min(536px,calc(100vw - 22px));padding:10px 12px;border-radius:12px;font-size:11px;font-weight:900;line-height:1.25;box-shadow:0 12px 34px rgba(0,30,50,.18);background:#fff;border:1px solid var(--line)}
.toast.success{background:#DDF3EF;color:#116B60;border-color:#9FD9CE}.toast.warning{background:#FFF0D6;color:#8A5100;border-color:#F1C56F}.toast.error{background:#FBE9EC;color:#A40F20;border-color:#ECB8C0}
.modal{position:fixed;inset:0;z-index:1600;background:rgba(0,44,58,.5);display:flex;align-items:flex-end;justify-content:center;padding:9px}.sheet{width:min(560px,100%);max-height:88dvh;overflow:auto;background:#fff;border-radius:22px 22px 16px 16px;padding:14px;box-shadow:0 -12px 40px rgba(0,35,50,.22)}.sheet-handle{width:42px;height:4px;background:#D8E1E3;border-radius:99px;margin:0 auto 9px}.sheet h3{text-align:center;color:var(--petrol);font-size:20px;margin:5px 0 9px}
.rut-input{text-align:center;font-size:22px;font-weight:900;letter-spacing:.03em;margin:8px 0 10px;border:2px solid var(--blue)}
.warning-circle{width:44px;height:44px;border-radius:50%;margin:0 auto 7px;display:grid;place-items:center;background:#FFF0D6;color:var(--orange);font-size:26px;font-weight:900}
.compare-box{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}.compare-box>div:not(.compare-arrow){background:#E1F4F1;border-radius:11px;padding:9px}.compare-box .wrong-side{background:#FFF0D6!important}.compare-box span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#75878C;font-weight:900}.compare-box strong{display:block;font-size:11px;line-height:1.2;margin-top:3px}.compare-arrow{color:#819499;font-size:20px}
.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0}.reason-grid button{border:1px solid #D5E1E3;background:#fff;border-radius:11px;padding:10px;font-weight:800;color:var(--ink)}.reason-grid button.selected{background:#FFF0D6;border-color:var(--orange);color:#8A5100}.sheet textarea{width:100%;min-height:60px;max-height:90px;resize:none;border:1px solid #CCDADD;border-radius:10px;padding:9px;margin:7px 0;font:inherit;font-size:12px}
.finish-option{width:100%;text-align:left;border:1px solid #D8E3E5;background:#F7FAFA;border-radius:13px;padding:11px;margin:6px 0}.finish-option strong,.finish-option span{display:block}.finish-option strong{font-size:13px}.finish-option span{font-size:10px;color:#6C7F85;margin-top:3px}.finish-option.danger{background:#FBE9EC;border-color:#E9BCC3;color:#A40F20}.finish-option.disabled{opacity:.45}

/* ADMIN */
.admin-body{background:linear-gradient(180deg,#F1F6F7 0%,#F7FAFB 32%,#F3F7F8 100%)}.admin-top{height:60px;background:linear-gradient(90deg,#062D3C,#0A5167 58%,#0C627A);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 22px;position:sticky;top:0;z-index:10;box-shadow:0 10px 28px rgba(3,35,48,.16);border-bottom:1px solid rgba(255,255,255,.08)}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand span{color:#BFE1E6;font-size:12px}.admin-logo{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--petrol);display:grid;place-items:center;font-weight:900;box-shadow:inset 0 -5px 0 rgba(242,145,0,.3),0 6px 18px rgba(0,0,0,.12)}.admin-top-links{display:flex;gap:12px}.admin-top-links a{color:#fff;font-size:12px;font-weight:800}
.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 60px)}.admin-nav{background:linear-gradient(180deg,#FCFEFE 0%,#F7FBFB 100%);border-right:1px solid #D8E4E7;padding:16px 10px;display:flex;flex-direction:column;gap:5px;box-shadow:inset -1px 0 0 rgba(255,255,255,.75)}.admin-nav a{color:#38545D;padding:10px 11px;border-radius:12px;font-size:12px;font-weight:800;transition:background .18s,color .18s,transform .18s,box-shadow .18s}.admin-nav a:hover{background:#EEF5F7;color:var(--petrol)}.admin-nav a.active{background:linear-gradient(90deg,#E6F2F4,#F3F9FA);color:var(--petrol);box-shadow:inset 4px 0 0 var(--turq),0 6px 16px rgba(0,70,90,.06)}
.admin-main{padding:24px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.page-head h1{font-size:27px;color:var(--petrol);margin:4px 0}.panel{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(251,253,253,.98));border:1px solid #DCE8EA;border-radius:20px;padding:18px;margin-bottom:17px;box-shadow:0 14px 34px rgba(6,47,63,.06)}.panel h2{margin-top:0;color:var(--petrol);font-size:18px}
.admin-alert{background:#FFF0D6;border:1px solid #F0C26A;color:#814B00;border-radius:13px;padding:11px 13px;margin-bottom:13px;display:flex;justify-content:space-between;align-items:center}.admin-alert a{font-weight:900;color:#814B00}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:11px;margin-bottom:16px}.kpi{--kpi-accent:var(--petrol);position:relative;background:linear-gradient(180deg,#FFFFFF 0%,#F9FCFC 100%);border:1px solid #D8E6E8;border-radius:16px;padding:14px 14px 13px;box-shadow:0 10px 22px rgba(4,43,59,.05);overflow:hidden}.kpi:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--kpi-accent),color-mix(in srgb, var(--kpi-accent) 52%, white));opacity:.92}.kpi:after{content:"";position:absolute;right:12px;top:12px;width:10px;height:10px;border-radius:50%;background:color-mix(in srgb, var(--kpi-accent) 18%, white);box-shadow:0 0 0 5px color-mix(in srgb, var(--kpi-accent) 8%, white)}.kpi span{display:block;font-size:10px;color:#70838A;font-weight:800;margin-bottom:7px;letter-spacing:.03em;text-transform:uppercase;max-width:85%}.kpi strong{font-size:25px;color:#0C4257;line-height:1.05}.kpi.teal{--kpi-accent:var(--turq)}.kpi.orange{--kpi-accent:var(--orange)}.kpi.blue{--kpi-accent:var(--blue)}.kpi.red{--kpi-accent:var(--red)}.kpi.magenta{--kpi-accent:var(--magenta)}.kpi.navy{--kpi-accent:var(--petrol)}
.two-col{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.35fr);gap:17px}.route-builder{grid-template-columns:minmax(280px,.7fr) minmax(0,1.5fr)}.filter-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.filter-row label{display:grid;gap:4px;font-size:10px;font-weight:800}.filter-row input{padding:8px;border:1px solid #CBD8DB;border-radius:9px}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid #E5EBEC;vertical-align:middle}th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#6F8186;background:#F7FAFA}.status-pill{display:inline-block;padding:4px 7px;border-radius:99px;font-size:9px;font-weight:900}.status-good{background:#DDF3EF;color:#116B60}.status-warn{background:#FFF0D6;color:#8A5100}.status-bad{background:#FBE9EC;color:#A40F20}.status-blue{background:#E3EFF9;color:#155D98}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.route-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:13px;padding:13px 13px 13px 18px;color:var(--ink);background:#FBFDFD}.route-card strong,.route-card span{display:block}.route-card span{font-size:10px;color:var(--muted);margin-top:4px}.route-color{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--blue),var(--turq),var(--orange))}.empty-state{padding:20px;text-align:center;color:#86969A;background:#F7FAFA;border-radius:12px}
.guard-checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chip-check{background:#F2F7F8;border:1px solid #DDE6E8;border-radius:99px;padding:6px 9px;font-size:10px!important}.mini-input{width:54px;padding:6px;border:1px solid #CBD8DB;border-radius:8px}.time-input{width:75px;padding:6px;border:1px solid #CBD8DB;border-radius:8px}.tag-ok{color:#17786B;font-weight:900;font-size:10px}.link-danger{border:0;background:transparent;color:var(--red);font-size:10px;font-weight:800;cursor:pointer}
.device-authorize-card{border-top:5px solid var(--blue)}.account-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #E5EBEC}.account-row strong,.account-row span{display:block}.account-row span{font-size:10px;color:var(--muted);margin-top:3px}.password-form{display:flex;gap:6px}.password-form input{padding:8px;border:1px solid #CBD8DB;border-radius:9px}
@media(max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-nav{position:sticky;top:60px;z-index:9;display:flex;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.admin-main{padding:15px}.two-col,.route-builder{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.kpis{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start;flex-direction:column}.admin-top{padding:0 11px}.admin-brand span{display:none}.route-grid{grid-template-columns:1fr}}
@media(max-height:700px){
 .scanner-shell{gap:5px;padding-top:5px}.scanner-header{min-height:43px}.scanner-logo{width:31px;height:31px}.scanner-header h1{font-size:17px}
 .device-strip{min-height:26px;padding:4px 7px}.idle-card{padding:9px}.nfc-icon{width:58px;height:58px;border-radius:19px;margin-bottom:6px}
 .idle-art h2{font-size:20px}.patrol-card{padding:8px;gap:5px}.guard-info h2{font-size:16px}.next-panel{padding:7px}.travel-countdown{font-size:52px}
}

/* v1.1 · selector de acceso y login NFC */
.modern-login{max-width:440px}
.login-sub{margin:2px 0 15px}
.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px}
.role-card{
 position:relative;display:flex;align-items:center;gap:9px;
 border:2px solid #D8E4E6;border-radius:14px;padding:10px;
 background:#F9FBFB;cursor:pointer;transition:.18s
}
.role-card input{position:absolute;opacity:0;pointer-events:none}
.role-card:has(input:checked){border-color:var(--blue);background:#EAF3FA;box-shadow:0 0 0 3px rgba(30,111,183,.08)}
.role-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;font-weight:900;color:white;flex:0 0 auto}
.porter-icon{background:linear-gradient(145deg,var(--turq),var(--petrol))}
.admin-icon{background:linear-gradient(145deg,var(--magenta),var(--red))}
.role-copy{min-width:0}.role-copy strong,.role-copy small{display:block}.role-copy strong{font-size:12px;color:var(--petrol)}.role-copy small{font-size:8px;line-height:1.2;color:#71848A;margin-top:2px}
.radio-dot{width:13px;height:13px;border-radius:50%;border:2px solid #AAB9BD;margin-left:auto;flex:0 0 auto}
.role-card:has(input:checked) .radio-dot{border:4px solid var(--blue)}
.password-zone{display:grid;gap:9px}.password-zone label{display:grid;gap:5px;font-size:11px;font-weight:900}.password-zone input{width:100%;padding:11px;border:1px solid #CBD8DB;border-radius:10px}
.login-divider{display:flex;align-items:center;gap:8px;color:#96A5A9;font-size:9px;margin:12px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#E1E8E9;flex:1}
.nfc-login-btn{background:linear-gradient(90deg,#E3F5F1,#E5F0F8);border:1px solid #B9DCD7;color:var(--petrol);display:flex;gap:10px;justify-content:flex-start;text-align:left}
.nfc-login-btn strong,.nfc-login-btn small{display:block}.nfc-login-btn strong{font-size:11px}.nfc-login-btn small{font-size:8px;color:#6B8187;margin-top:2px}
.nfc-mini{width:38px;height:38px;border-radius:11px;background:var(--petrol);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900;letter-spacing:.08em;flex:0 0 auto}
.nfc-login-state{text-align:center;color:#809095;font-size:8px;line-height:1.3;margin-top:7px;min-height:20px}.nfc-login-state.waiting-text{color:#A66300;font-weight:800}.nfc-login-state.error-text{color:var(--red);font-weight:800}
.porter-nfc-panel{border-top:5px solid var(--turq)}
.porter-nfc-add{display:grid;grid-template-columns:1fr 1.2fr auto auto;gap:8px;align-items:end;margin-bottom:14px}
.porter-nfc-add label{display:grid;gap:5px;font-size:10px;font-weight:800}.porter-nfc-add input{width:100%;padding:9px;border:1px solid #CBD8DB;border-radius:9px}
@media(max-width:750px){.porter-nfc-add{grid-template-columns:1fr}.role-picker{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.role-picker{grid-template-columns:1fr}.role-card{padding:8px}.role-icon{width:32px;height:32px}}

/* v1.2 · sonido, voz y silencio */
.sound-toggle{
  width:32px;height:32px;border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.12);color:#fff;border-radius:10px;
  display:grid;place-items:center;font-size:15px;cursor:pointer;padding:0;
  backdrop-filter:blur(4px)
}
.sound-toggle.muted{
  background:rgba(193,19,37,.28);
  border-color:rgba(255,255,255,.26)
}
.sound-toggle:active{transform:scale(.96)}
@media(max-height:700px){
  .sound-toggle{width:29px;height:29px;font-size:13px}
}

/* v1.3 · credenciales NFC por perfil */
.account-nfc-add{
  grid-template-columns:.8fr 1fr 1.15fr auto auto;
}
.account-nfc-add select,
.account-nfc-add input{
  width:100%;
  padding:9px;
  border:1px solid #CBD8DB;
  border-radius:9px;
  background:#fff;
}
.account-nfc-help{
  display:flex;
  align-items:center;
  gap:6px;
  margin:3px 0 12px;
  font-size:10px;
  color:var(--muted);
}
.access-badge{
  width:22px;height:22px;border-radius:7px;
  display:inline-grid;place-items:center;
  color:#fff;font-weight:900;font-size:9px;
  margin-left:5px;
}
.porter-access{background:linear-gradient(145deg,var(--turq),var(--petrol))}
.admin-access{background:linear-gradient(145deg,var(--magenta),var(--red))}
.status-admin{background:#F4E3EC;color:#8C164E}
.status-porter{background:#DDF3EF;color:#126D61}
.nfc-login-state.success-text{color:#167668;font-weight:900}
.upgrade-list{
  background:#F5F9F9;border:1px solid #DCE7E9;border-radius:12px;
  padding:10px 12px;margin:12px 0;font-size:11px;line-height:1.7;color:#416068
}
@media(max-width:900px){
  .account-nfc-add{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .account-nfc-add{grid-template-columns:1fr}
}

/* v1.4 · eliminar rondas */
.row-actions{white-space:nowrap;text-align:right}
.delete-patrol-form{display:inline}
.delete-round-btn{
  border:1px solid #E8B8BF;
  background:#FFF4F5;
  color:var(--red);
  border-radius:9px;
  padding:6px 9px;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.delete-round-btn:hover{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

/* =========================================================
   Faro v1.5 · identidad, elegancia y feedback
   ========================================================= */
.faro-header{position:relative;overflow:hidden}
.faro-beam{
  position:absolute;
  width:170px;height:70px;
  right:22px;top:-5px;
  background:linear-gradient(90deg,rgba(242,145,0,.22),rgba(242,145,0,0));
  clip-path:polygon(0 42%,100% 0,100% 100%,0 58%);
  transform-origin:0 50%;
  animation:faroSweep 6.5s ease-in-out infinite;
  pointer-events:none;
  opacity:.7
}
@keyframes faroSweep{
  0%,100%{transform:rotate(-10deg);opacity:.25}
  50%{transform:rotate(11deg);opacity:.78}
}
.faro-logo{
  background:transparent!important;
  overflow:hidden;
  box-shadow:0 5px 14px rgba(0,30,50,.18)!important
}
.faro-logo img,.faro-brand-logo img,.faro-admin-logo img,.faro-pulse img{
  width:100%;height:100%;display:block;object-fit:cover
}
.faro-brand-logo{padding:0!important;background:transparent!important;overflow:hidden}
.faro-admin-logo{padding:0!important;background:transparent!important;overflow:hidden}
.auto-nfc-hint{
  text-align:center;font-size:9px;color:#829398;
  padding:2px 0 0;min-height:14px;transition:.2s
}
.faro-start-btn{
  position:relative;overflow:hidden;
  background:linear-gradient(105deg,var(--petrol),var(--blue))!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(0,80,113,.17)
}
.faro-start-btn:before{
  content:"";
  position:absolute;inset:-20% auto -20% -45%;
  width:34%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  animation:faroButtonShine 4.4s ease-in-out infinite
}
@keyframes faroButtonShine{
  0%,70%{left:-45%}
  88%,100%{left:125%}
}
.faro-pulse{
  overflow:hidden;padding:0!important;background:transparent!important;
  box-shadow:0 0 0 0 rgba(65,171,158,.34);
  animation:faroBeaconPulse 1.7s ease-out infinite!important
}
@keyframes faroBeaconPulse{
  0%{box-shadow:0 0 0 0 rgba(65,171,158,.34)}
  65%{box-shadow:0 0 0 20px rgba(65,171,158,0)}
  100%{box-shadow:0 0 0 0 rgba(65,171,158,0)}
}
.faro-footer{
  color:#98A5A9!important;
  font-size:8px!important;
  letter-spacing:.025em;
  font-weight:500;
  opacity:.82
}
.travel-panel{position:relative}
.travel-panel:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 120%,rgba(242,145,0,.16),transparent 48%);
  pointer-events:none
}
.ready-panel{position:relative;overflow:hidden}
.ready-panel:after{
  content:"";
  position:absolute;
  width:45%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:rotate(22deg);
  animation:faroReadyShimmer 3.5s ease-in-out infinite;
  pointer-events:none
}
@keyframes faroReadyShimmer{
  0%,60%{left:-70%}
  90%,100%{left:140%}
}
.travel-countdown{
  text-shadow:0 3px 16px rgba(242,145,0,.13);
  animation:faroCountdownBreath 2s ease-in-out infinite
}
@keyframes faroCountdownBreath{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.025)}
}

/* feedback animations */
.faro-anim-error .main-card{animation:faroShake .48s ease}
.faro-anim-success .patrol-card{animation:faroSuccessFlash .72s ease}
.faro-anim-ready .ready-panel{animation:faroReadyPulse .82s ease}
.faro-anim-start .main-card{animation:faroStartGlow .8s ease}
.faro-anim-finish .main-card{animation:faroFinishGlow .9s ease}
@keyframes faroShake{
  0%,100%{transform:translateX(0)}
  18%{transform:translateX(-5px)}
  36%{transform:translateX(4px)}
  54%{transform:translateX(-3px)}
  72%{transform:translateX(2px)}
}
@keyframes faroSuccessFlash{
  0%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
  40%{box-shadow:0 0 0 4px rgba(65,171,158,.18),0 16px 38px rgba(65,171,158,.16)}
  100%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
}
@keyframes faroReadyPulse{
  0%{transform:scale(.985)}
  45%{transform:scale(1.012)}
  100%{transform:scale(1)}
}
@keyframes faroStartGlow{
  0%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
  45%{box-shadow:0 0 0 5px rgba(30,111,183,.12),0 18px 42px rgba(30,111,183,.13)}
  100%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
}
@keyframes faroFinishGlow{
  0%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
  35%{box-shadow:0 0 0 4px rgba(162,25,90,.11),0 18px 42px rgba(162,25,90,.14)}
  70%{box-shadow:0 0 0 4px rgba(65,171,158,.10),0 18px 42px rgba(65,171,158,.14)}
  100%{box-shadow:0 12px 34px rgba(0,68,90,.08)}
}
.toast{backdrop-filter:blur(8px)}
.toast.success{box-shadow:0 12px 35px rgba(65,171,158,.18)}
.toast.error{box-shadow:0 12px 35px rgba(193,19,37,.16)}
.toast.warning{box-shadow:0 12px 35px rgba(242,145,0,.16)}
.admin-signature{
  text-align:center;color:#9AA7AB;font-size:9px;
  padding:8px 0 13px;background:#F4F7F7
}
@media(prefers-reduced-motion:reduce){
  .faro-beam,.faro-start-btn:before,.faro-pulse,.ready-panel:after,.travel-countdown{
    animation:none!important
  }
}

/* =========================================================
   Faro SaaS v2 · SuperAdmin / multi-institución
   ========================================================= */
.sa-main{max-width:1500px;margin:auto;padding:24px}
.sa-grid{display:grid;grid-template-columns:minmax(320px,.65fr) minmax(0,1.5fr);gap:18px}
.sa-list-panel{min-width:0}
.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.three-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.tenant-cards{display:grid;gap:11px}
.tenant-card{border:1px solid var(--line);border-radius:15px;padding:13px;background:#FBFDFD;box-shadow:0 7px 20px rgba(0,60,80,.04)}
.tenant-card-head{display:flex;align-items:center;gap:10px}
.tenant-logo{width:46px;height:46px;border-radius:12px;border:1px solid #D9E4E6;background:white;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.tenant-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.tenant-title{min-width:0;flex:1}.tenant-title strong,.tenant-title span{display:block}.tenant-title strong{color:var(--petrol);font-size:14px}.tenant-title span{font-size:9px;color:var(--muted);margin-top:3px}
.tenant-status{font-size:8px;font-weight:900;border-radius:99px;padding:5px 7px}.tenant-status.on{background:#DDF3EF;color:#116B60}.tenant-status.off{background:#FBE9EC;color:#A40F20}
.tenant-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}
.tenant-metrics span{background:#F0F6F7;border-radius:9px;padding:7px;text-align:center;font-size:8px;color:#6A7D82}.tenant-metrics strong{display:block;color:var(--petrol);font-size:15px}
.tenant-details{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:9px}.tenant-details>div{padding:7px;background:#F7FAFA;border-radius:8px;min-width:0}.tenant-details span{display:block;color:#7A8C91;margin-bottom:3px}.tenant-details code,.tenant-details strong{font-size:9px;overflow-wrap:anywhere}
.tenant-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.tenant-actions form{margin:0}
.activation-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:linear-gradient(110deg,#E2F5F1,#E5F0F8);border:1px solid #A8DCD3;border-radius:15px;padding:13px;margin-bottom:15px}
.activation-result div{background:rgba(255,255,255,.68);padding:9px;border-radius:9px;min-width:0}.activation-result span,.activation-result strong{display:block}.activation-result span{font-size:8px;color:#677D83;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.activation-result strong{font-size:11px;color:var(--petrol);margin-top:3px;overflow-wrap:anywhere}.activation-result p{grid-column:1/-1;font-size:9px;color:#526A70;margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.activation-card{border-top:5px solid var(--turq)}
.activation-help{text-align:center;font-size:9px;color:#8A999D;margin:12px 0 0}
.tenant-login-logo{width:76px;height:76px;margin:0 auto 10px;border:1px solid #DDE6E8;border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px rgba(0,60,80,.08)}
.tenant-login-logo img{width:100%;height:100%;object-fit:contain;padding:7px}
@media(max-width:1050px){.sa-grid{grid-template-columns:1fr}.activation-result{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.sa-main{padding:12px}.two-inputs,.three-inputs,.tenant-details{grid-template-columns:1fr}.tenant-metrics{grid-template-columns:1fr 1fr}.activation-result{grid-template-columns:1fr}}

/* v2.0.1 · salud y reparación de tenants */
.tenant-health{
  font-size:7px;font-weight:900;border-radius:99px;padding:5px 7px;
  white-space:nowrap
}
.tenant-health.ok{background:#DDF3EF;color:#116B60}
.tenant-health.bad{background:#FFF0D6;color:#8A5100}
.health-detail{grid-column:1/-1}
.health-detail strong{color:#536C72}
.repair-btn{
  background:#F29100!important;border-color:#F29100!important;color:#fff!important
}
.repair-result{border-color:#41AB9E}


/* v2.1.0 · detalles de ronda + NFC access polish */
.porter-nfc-panel{grid-column:1/-1}
.nfc-access-hero{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  background:linear-gradient(110deg,#E7F5F2,#EAF3FA);
  border:1px solid #C9E1DD;border-radius:16px;padding:14px 16px;margin:8px 0 14px;
}
.nfc-access-copy{display:flex;align-items:center;gap:12px}
.nfc-access-copy strong{display:block;color:var(--petrol);font-size:14px;margin-bottom:3px}
.nfc-access-copy p{margin:0;font-size:11px;line-height:1.4;color:#60777D;max-width:620px}
.nfc-access-icon{
  width:52px;height:52px;border-radius:15px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--petrol),var(--blue));color:#fff;
  font-size:11px;font-weight:900;letter-spacing:.08em;flex:0 0 auto;
  box-shadow:inset 0 -6px 0 rgba(65,171,158,.35)
}
.polished-nfc-form{
  background:#FBFDFD;border:1px solid #E2EBED;border-radius:16px;
  padding:14px;margin-bottom:12px
}
.nfc-form-grid{
  display:grid;grid-template-columns:.9fr 1.2fr 1.45fr;gap:10px;align-items:end
}
.nfc-form-grid label{display:grid;gap:6px;font-size:11px;font-weight:900}
.nfc-form-grid input,.nfc-form-grid select{
  width:100%;padding:11px;border:1px solid #CBD8DB;border-radius:11px;background:#fff
}
.nfc-form-grid .nfc-wide{grid-column:auto}
.nfc-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:11px}
.section-subhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 10px}
.section-subhead strong{font-size:13px;color:var(--petrol)}
.section-subhead span{font-size:10px;color:var(--muted)}
.porter-nfc-table td strong{font-size:13px}
.access-badge{margin-left:0}
.detail-round-btn{
  border:1px solid #BBD3E6;
  background:#EEF5FB;
  color:var(--blue);
  border-radius:9px;
  padding:6px 9px;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.detail-round-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.admin-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:18px}
.admin-modal-backdrop{position:absolute;inset:0;background:rgba(0,39,54,.52)}
.admin-modal-card{
  position:relative;width:min(1080px,100%);max-height:92vh;overflow:auto;background:#fff;
  border-radius:24px;box-shadow:0 24px 70px rgba(0,25,45,.28);padding:18px 18px 20px
}
.admin-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.admin-modal-head h2{margin:4px 0 3px;color:var(--petrol);font-size:28px}
.admin-modal-close{
  width:38px;height:38px;border-radius:12px;border:1px solid #D8E3E5;background:#F7FAFA;
  color:#52686E;font-size:18px;font-weight:900;cursor:pointer
}
.detail-loading{padding:18px;background:#F8FBFB;border:1px dashed #D6E2E5;border-radius:15px;color:#5F767C}
.detail-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.detail-kpi{
  border:1px solid #E1EAEC;background:#FBFDFD;border-radius:14px;padding:12px
}
.detail-kpi span{display:block;font-size:10px;color:#71858A;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.detail-kpi strong{display:block;margin-top:6px;font-size:19px;color:var(--petrol)}
.detail-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:12px}
.detail-card{
  border:1px solid #E1EAEC;background:#FBFDFD;border-radius:16px;padding:14px
}
.detail-card h3{margin:0 0 11px;color:var(--petrol);font-size:18px}
.detail-card-full{margin-top:12px}
.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.detail-meta div{background:#F6FAFA;border-radius:12px;padding:10px}
.detail-meta span{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#76898E}
.detail-meta strong{display:block;margin-top:4px;font-size:13px;color:#203B43;line-height:1.35}
.detail-timeline{display:grid;gap:9px}
.timeline-item{display:grid;grid-template-columns:116px 1fr;gap:10px;align-items:start}
.timeline-time{
  background:#F1F6F7;border:1px solid #DFE9EB;border-radius:11px;padding:8px 10px;
  font-size:11px;font-weight:900;color:#50686E
}
.timeline-content{
  background:#F9FBFB;border:1px solid #E6EEF0;border-radius:12px;padding:10px
}
.timeline-content strong{display:block;color:var(--ink);margin-bottom:6px}
.timeline-content p{margin:7px 0 0;font-size:11px;color:#61787E;line-height:1.35}
.timeline-pills{display:flex;flex-wrap:wrap;gap:5px}
.detail-points{display:grid;gap:9px}
.point-card{
  display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;
  border:1px solid #E3ECEE;border-radius:14px;background:#FBFDFD;padding:10px
}
.point-order{
  width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--petrol),var(--blue));
  color:#fff;display:grid;place-items:center;font-size:15px;font-weight:900
}
.point-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.point-topline strong{color:var(--ink);font-size:14px}
.point-subline{font-size:11px;color:#647A80;margin-top:5px}
.point-note{
  margin-top:6px;padding:8px 10px;border-radius:10px;background:#FFF8EC;color:#805112;
  border:1px solid #F3D08A;font-size:11px;line-height:1.35
}
.modal-open{overflow:hidden}
@media(max-width:980px){
  .nfc-access-hero{flex-direction:column;align-items:flex-start}
  .nfc-form-grid{grid-template-columns:1fr 1fr}
  .detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .admin-modal{padding:0}
  .admin-modal-card{
    width:100%;max-height:100vh;border-radius:22px 22px 0 0;padding:16px;
    margin-top:auto
  }
  .admin-modal-head h2{font-size:24px}
  .nfc-form-grid{grid-template-columns:1fr}
  .nfc-form-actions{flex-direction:column}
  .detail-kpis{grid-template-columns:1fr 1fr}
  .detail-meta{grid-template-columns:1fr}
  .timeline-item{grid-template-columns:1fr}
}
@media(max-width:480px){
  .detail-kpis{grid-template-columns:1fr}
}

/* =========================================================
   Faro v2.2 · Reporterías, filtros y auditoría
   ========================================================= */
.dashboard-head-actions,.report-actions,.section-title-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dashboard-filter-panel{padding:12px 14px}
.dashboard-filter-grid,.report-filter-form{
  display:grid;grid-template-columns:repeat(6,minmax(125px,1fr)) auto;gap:8px;align-items:end
}
.dashboard-filter-grid label,.report-filter-form label{display:grid;gap:5px;font-size:9px;font-weight:900;color:#5E747A}
.dashboard-filter-grid input,.dashboard-filter-grid select,.report-filter-form input,.report-filter-form select{
  width:100%;padding:9px;border:1px solid #CBD8DB;border-radius:9px;background:#fff
}
.dashboard-filter-actions,.report-filter-buttons{display:flex;gap:6px}
.admin-modal-tools{display:flex;align-items:center;gap:7px}
.audit-detail{display:block;max-width:360px;white-space:normal;overflow-wrap:anywhere;font-size:9px;color:#65787D}
.report-main{max-width:1500px;margin:auto;padding:22px}
.report-title-row{margin-bottom:12px}
.report-filter-panel{border-top:4px solid var(--blue)}
.report-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:12px 0}
.report-kpi{background:#fff;border:1px solid var(--line);border-top:4px solid var(--petrol);border-radius:14px;padding:11px;box-shadow:0 7px 20px rgba(0,60,80,.04)}
.report-kpi span,.report-kpi strong,.report-kpi small{display:block}
.report-kpi span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#71858A}
.report-kpi strong{font-size:24px;color:var(--petrol);margin:5px 0 2px}
.report-kpi small{font-size:8px;color:#829398}.report-kpi.teal{border-top-color:var(--turq)}.report-kpi.blue{border-top-color:var(--blue)}.report-kpi.orange{border-top-color:var(--orange)}.report-kpi.red{border-top-color:var(--red)}.report-kpi.magenta{border-top-color:var(--magenta)}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.mini-rate{width:90px;height:5px;background:#E4EBED;border-radius:99px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}
.mini-rate span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--turq));border-radius:99px}
.night-bars{display:grid;gap:9px}.night-row{display:grid;grid-template-columns:92px 1fr 190px;gap:9px;align-items:center}.night-date{font-size:10px;font-weight:900;color:#536B71}.night-track{height:12px;background:#EDF2F3;border-radius:99px;overflow:hidden;display:flex}.night-track span{height:100%}.night-complete{background:var(--turq)}.night-incomplete{background:var(--orange)}.night-missed{background:var(--red)}.night-values{font-size:9px;color:#687E84}
.issue-list{display:grid;gap:7px}.issue-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#F7FAFA;border:1px solid #E4ECEE;border-radius:11px;padding:9px}.issue-row strong,.issue-row span{display:block}.issue-row strong{font-size:12px;color:var(--petrol)}.issue-row span{font-size:9px;color:#7A8D92;margin-top:2px}.issue-count{width:32px;height:32px;border-radius:10px;background:#FFF0D6;color:#8A5100;display:grid;place-items:center;font-weight:900}
@media(max-width:1200px){
  .dashboard-filter-grid,.report-filter-form{grid-template-columns:repeat(3,1fr)}
  .report-kpis{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:850px){
  .report-grid{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,1fr)}
  .night-row{grid-template-columns:80px 1fr}.night-values{grid-column:1/-1}
}
@media(max-width:620px){
  .dashboard-filter-grid,.report-filter-form{grid-template-columns:1fr 1fr}
  .dashboard-filter-actions,.report-filter-buttons{grid-column:1/-1}
  .report-main{padding:12px}.report-actions{width:100%}.report-actions .btn{flex:1;text-align:center}
}

.sa-commercial-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 16px}
.sa-commercial-kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px;border-top:4px solid var(--turq)}
.sa-commercial-kpis span,.sa-commercial-kpis strong{display:block}.sa-commercial-kpis span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#73868B;font-weight:900}.sa-commercial-kpis strong{font-size:21px;color:var(--petrol);margin-top:4px}
@media(max-width:900px){.sa-commercial-kpis{grid-template-columns:repeat(2,1fr)}}
/* v2.2.1 · continuidad de ronda / reconexión Web NFC */
.nfc-reconnect-banner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid #F1C56F;
  background:linear-gradient(110deg,#FFF8EA,#FFF0D6);
  border-radius:13px;
  padding:9px 10px;
  animation:faroReconnectIn .28s ease-out
}
.nfc-reconnect-icon{
  width:38px;height:38px;border-radius:11px;
  display:grid;place-items:center;
  background:var(--orange);color:#fff;
  font-size:8px;font-weight:900;letter-spacing:.08em;
  box-shadow:0 6px 14px rgba(242,145,0,.18)
}
.nfc-reconnect-copy{min-width:0}
.nfc-reconnect-copy strong,.nfc-reconnect-copy span{display:block}
.nfc-reconnect-copy strong{font-size:11px;color:#7B4900}
.nfc-reconnect-copy span{font-size:8px;line-height:1.25;color:#8C6A35;margin-top:2px}
.nfc-reconnect-banner .btn{padding:8px 10px;font-size:9px;white-space:nowrap}
.device-right.nfc-disconnected{color:#A45D00;font-weight:900}
@keyframes faroReconnectIn{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:520px){
  .nfc-reconnect-banner{grid-template-columns:auto 1fr}
  .nfc-reconnect-banner .btn{grid-column:1/-1;width:100%}
}

/* =========================================================
   Faro v2.3 · control de excepciones
   ========================================================= */
.health-big{padding:8px 12px;border-radius:99px;font-size:10px;font-weight:900}.health-big.ok{background:#DDF3EF;color:#116B60}.health-big.warn{background:#FFF0D6;color:#8A5100}
.health-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 0 14px}.health-kpis>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;border-top:4px solid var(--turq)}.health-kpis span,.health-kpis strong{display:block}.health-kpis span{font-size:8px;text-transform:uppercase;color:#71858A;font-weight:900}.health-kpis strong{font-size:20px;color:var(--petrol);margin-top:4px}
.health-danger{border-top:5px solid var(--red)}.health-list{display:grid;gap:7px}.health-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #E1EAEC;background:#F9FBFB;border-radius:12px;padding:10px;color:var(--ink)}.health-row strong,.health-row span{display:block}.health-row strong{font-size:12px;color:var(--petrol)}.health-row span{font-size:9px;color:#72868B;margin-top:3px}.health-row b{font-size:9px;color:var(--blue)}.health-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.health-dot.red{background:var(--red);box-shadow:0 0 0 4px #FBE9EC}.health-dot.orange{background:var(--orange);box-shadow:0 0 0 4px #FFF0D6}
.transfer-inline{display:flex;gap:6px;align-items:center}.transfer-inline select{padding:7px;border:1px solid #CBD8DB;border-radius:8px}.ua-cell{max-width:330px;font-size:9px;color:#61777D}.red-btn{background:#FFF4F5!important;color:var(--red)!important;border-color:#E8B8BF!important}
@media(max-width:800px){.health-kpis{grid-template-columns:1fr 1fr}.transfer-inline{width:100%;margin-top:7px}.health-row{align-items:flex-start;flex-wrap:wrap}}


/* =========================================================
   Faro alwaysdata ad3 · login orientado a Portería
   ========================================================= */
.porter-first-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 85% 10%,rgba(65,171,158,.20),transparent 25%),
    linear-gradient(150deg,#003F5A,#005071 48%,#1E6FB7);
}
.porter-login-shell{
  max-width:480px;
  padding:6vh 18px 5vh;
}
.porter-first-card{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
}
.porter-first-card:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:6px;
  background:linear-gradient(90deg,var(--turq),var(--blue),var(--orange));
}
.porter-tenant-logo{
  width:62px;height:62px;margin-bottom:18px;border-radius:18px;
  overflow:hidden;background:#F3F7F7;border:1px solid #DDE8EA;
  display:grid;place-items:center;
}
.porter-tenant-logo img{width:100%;height:100%;object-fit:contain}
.porter-login-copy h1{font-size:34px;margin:3px 0 1px;color:var(--petrol);line-height:1}
.porter-title{font-size:17px;font-weight:900;color:var(--turq);margin-top:6px}
.porter-login-copy p{font-size:12px;line-height:1.45;color:#687E84;margin:7px 0 18px}
.porter-nfc-main{
  width:100%;border:0;border-radius:20px;padding:17px;
  background:linear-gradient(115deg,var(--petrol),var(--blue));
  color:#fff;display:flex;align-items:center;gap:14px;text-align:left;
  cursor:pointer;box-shadow:0 14px 28px rgba(0,80,113,.20);
  transition:.18s;
}
.porter-nfc-main:active{transform:scale(.985)}
.porter-nfc-main:disabled{opacity:.65}
.porter-nfc-symbol{
  width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.15);
  display:grid;place-items:center;position:relative;flex:0 0 auto;
  border:1px solid rgba(255,255,255,.18)
}
.porter-nfc-symbol strong{font-size:11px;letter-spacing:.08em}
.porter-nfc-wave{
  position:absolute;top:8px;right:8px;font-size:10px;font-weight:900;
  color:#C9FFF5;transform:rotate(-18deg)
}
.porter-nfc-text strong,.porter-nfc-text small{display:block}
.porter-nfc-text strong{font-size:17px;line-height:1.1}
.porter-nfc-text small{font-size:9px;color:#D8EDF5;margin-top:4px;line-height:1.25}
.porter-nfc-state{
  min-height:44px;margin:10px 0 4px;padding:9px 10px;border-radius:12px;
  background:#F4F8F8;color:#71868B;font-size:9px;line-height:1.4;text-align:center
}
.porter-nfc-state.waiting-text{background:#FFF6E8;color:#8A5100;font-weight:800}
.porter-nfc-state.success-text{background:#DDF3EF;color:#116B60;font-weight:900}
.porter-nfc-state.error-text{background:#FBE9EC;color:#A40F20;font-weight:800}
.porter-login-footer{
  margin-top:14px;padding-top:12px;border-top:1px solid #E5ECEE;
  display:flex;align-items:center;justify-content:space-between;gap:8px
}
.porter-login-footer a,.admin-discreet-link{
  font-size:8px;color:#87999E;font-weight:700
}
.admin-discreet-link{
  border:0;background:transparent;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;padding:4px
}
.admin-login-card{
  margin-top:10px;border-radius:20px;padding:20px;
  box-shadow:0 16px 45px rgba(0,30,50,.18)
}
.admin-login-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.admin-login-head h2{margin:3px 0;color:var(--petrol);font-size:22px}
.admin-login-head p{margin:0 0 12px;color:#7A8E93;font-size:10px}
.admin-close-login{
  width:32px;height:32px;border-radius:10px;border:1px solid #DCE6E8;
  background:#F6F9F9;color:#60777D;cursor:pointer
}
.porter-account-note{background:#F5FBFA;border-radius:11px;padding-left:10px;padding-right:10px}
.porter-only-nfc-grid{grid-template-columns:1fr 1.6fr!important}
@media(max-width:600px){
  .porter-first-card{padding:22px}
  .porter-login-copy h1{font-size:31px}
  .porter-nfc-symbol{width:56px;height:56px}
  .porter-only-nfc-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   Faro alwaysdata ad5 · compactación Portería + consistencia Admin
   Objetivo operativo: Portería cabe completa en 100dvh sin scroll.
   ========================================================= */

/* --- PORTERÍA / LOGIN --- */
.porter-first-body{
  height:100dvh;
  min-height:0;
  overflow:hidden;
}
.porter-login-shell{
  height:100dvh;
  max-width:460px;
  margin:auto;
  padding:max(10px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom));
  display:grid;
  place-items:center;
  overflow:hidden;
}
.porter-first-card{
  width:100%;
  max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));
  padding:clamp(16px,3.5vh,24px);
  border-radius:22px;
}
.porter-tenant-logo{
  width:clamp(44px,8vh,56px);
  height:clamp(44px,8vh,56px);
  margin-bottom:clamp(8px,1.8vh,14px);
  border-radius:15px;
}
.porter-login-copy h1{font-size:clamp(27px,5vh,32px)}
.porter-title{font-size:clamp(14px,2.5vh,17px);margin-top:4px}
.porter-login-copy p{
  font-size:11px;
  line-height:1.35;
  margin:5px 0 clamp(10px,2vh,15px);
}
.porter-nfc-main{
  border-radius:17px;
  padding:clamp(11px,2vh,15px);
  gap:11px;
}
.porter-nfc-symbol{
  width:clamp(48px,8.5vh,58px);
  height:clamp(48px,8.5vh,58px);
  border-radius:15px;
}
.porter-nfc-text strong{font-size:clamp(14px,2.4vh,17px)}
.porter-nfc-state{
  min-height:36px;
  margin:8px 0 2px;
  padding:7px 9px;
  font-size:8.5px;
}
.porter-login-footer{margin-top:9px;padding-top:8px}

/* Admin is deliberately an overlay: it never makes the porter screen taller. */
.admin-login-overlay{
  position:fixed;
  inset:0;
  z-index:2500;
  padding:14px;
  display:grid;
  place-items:center;
  background:rgba(0,39,54,.58);
  backdrop-filter:blur(5px);
}
.admin-login-overlay.hidden{display:none!important}
.admin-login-card{
  width:min(420px,100%);
  max-height:calc(100dvh - 28px);
  overflow:auto;
  margin:0;
  padding:18px;
}

/* --- PORTERÍA / RONDA --- */
.scanner-body{
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.scanner-shell{
  height:100dvh!important;
  min-height:0!important;
  width:min(100%,560px);
  padding:max(5px,env(safe-area-inset-top)) 9px max(6px,env(safe-area-inset-bottom));
  grid-template-rows:44px 27px minmax(0,1fr) 14px;
  gap:5px;
}
.scanner-header{grid-row:1}
.device-strip{grid-row:2}
.idle-card,.identify-card,.patrol-card{grid-row:3;grid-column:1 / -1;width:100%;height:100%;min-height:0}
.scanner-footer{grid-row:4}
.scanner-header{min-height:0;height:44px}
.scanner-logo{width:32px;height:32px;border-radius:9px}
.scanner-header h1{font-size:17px}
.scanner-header .eyebrow{font-size:8px}
.sound-toggle{width:29px;height:29px;border-radius:8px;font-size:13px}
.logout-link{font-size:9px;padding:5px 7px}
.status-dot-label{font-size:8px;padding:5px 7px}
.device-strip{
  min-height:0;height:27px;
  padding:4px 7px;border-radius:9px;font-size:9px;
}
.main-card{border-radius:16px}
.idle-card{
  padding:10px 10px 18px;
  grid-template-rows:auto auto;
  align-content:center;
  gap:9px;
}
.nfc-icon{
  width:clamp(50px,11vh,66px);
  height:clamp(50px,11vh,66px);
  border-radius:18px;
  margin-bottom:7px;
}
.idle-art{justify-content:center;padding-top:4px}
.idle-art h2{font-size:clamp(19px,4.3vh,23px);margin:4px 0}
.idle-art p{font-size:10.5px;line-height:1.3;max-width:330px}
.btn.big{padding:11px 14px;font-size:14px}
.auto-nfc-hint{font-size:8px;min-height:11px;line-height:1.15;padding-bottom:2px}
.identify-card{
  padding:12px;
  gap:5px;
}
.pulse-nfc{
  width:clamp(56px,11vh,72px);
  height:clamp(56px,11vh,72px);
  margin-bottom:3px;
}
.identify-card h2{font-size:clamp(20px,4.5vh,25px);margin:1px}
.identify-card p{font-size:10.5px;margin:0 auto 4px}
.rut-fallback{font-size:9px;padding:3px}
.patrol-card{
  padding:8px;
  grid-template-rows:auto 6px auto minmax(0,1fr) auto;
  gap:5px;
}
.patrol-top{gap:6px}
.guard-info h2{
  font-size:clamp(15px,3.3vh,18px);
  margin:2px 0 1px;
}
.round-chip{font-size:8px;padding:3px 7px}
.routeMeta,.guard-info .small{font-size:9px}
.progress-box strong{font-size:21px}
.progress-box span{font-size:8px}
.progress-track{height:6px}
.nfc-reconnect-banner{
  grid-template-columns:32px 1fr auto;
  gap:7px;
  padding:6px 7px;
  border-radius:10px;
}
.nfc-reconnect-icon{width:32px;height:32px;border-radius:9px;font-size:7px}
.nfc-reconnect-copy strong{font-size:9.5px}
.nfc-reconnect-copy span{font-size:7.5px;line-height:1.15}
.nfc-reconnect-banner .btn{padding:6px 8px;font-size:8px;border-radius:8px}
.next-panel{
  padding:7px;
  border-radius:13px;
}
.panel-label{font-size:7.5px}
.next-panel h3{
  font-size:clamp(18px,4.7vh,24px);
  margin:3px 0;
}
.travel-caption{font-size:8.5px;margin-top:2px}
.travel-countdown{
  font-size:clamp(42px,12vh,66px);
  margin:2px 0;
}
.orange-note{font-size:8.5px;padding:4px 7px}
.ready-check{
  width:clamp(40px,8vh,48px);
  height:clamp(40px,8vh,48px);
  font-size:26px;
  margin:4px;
}
.ready-note{font-size:9.5px}
.patrol-actions{gap:5px}
.micro-action{padding:6px 8px;font-size:9px;border-radius:8px}
.scanner-footer{font-size:7.5px;min-height:12px}

/* Sheets are compact and remain inside viewport. */
.modal{padding:6px}
.sheet{
  max-height:calc(100dvh - 12px);
  border-radius:18px 18px 12px 12px;
  padding:10px;
}
.sheet h3{font-size:17px;margin:3px 0 6px}
.reason-grid{gap:5px;margin:5px 0}
.reason-grid button{padding:8px;border-radius:9px;font-size:10px}
.sheet textarea{min-height:48px;max-height:62px;margin:5px 0}
.finish-option{padding:8px;margin:4px 0}
.finish-option strong{font-size:11px}.finish-option span{font-size:8.5px}

/* Extra compactness on physically short phones. */
@media(max-height:680px){
  .scanner-shell{grid-template-rows:39px 24px minmax(0,1fr) 10px;gap:4px;padding-top:3px}
  .scanner-header{height:39px}.scanner-logo{width:28px;height:28px}.scanner-header h1{font-size:15px}
  .device-strip{height:24px;font-size:8px}
  .idle-card,.identify-card,.patrol-card{padding:7px 7px 12px}
  .nfc-icon{width:48px;height:48px;margin-bottom:4px}
  .idle-art h2{font-size:18px}.idle-art p{font-size:9.5px}
  .travel-countdown{font-size:43px}
  .next-panel h3{font-size:18px}
  .porter-first-card{padding:15px}
  .porter-tenant-logo{width:42px;height:42px;margin-bottom:7px}
  .porter-login-copy h1{font-size:26px}
  .porter-login-copy p{font-size:10px;margin-bottom:8px}
  .porter-nfc-symbol{width:46px;height:46px}
  .porter-nfc-main{padding:10px}
  .porter-nfc-state{min-height:32px;margin-top:6px;padding:6px}
  .porter-login-footer{margin-top:6px;padding-top:6px}
}

/* --- ADMINISTRACIÓN: CONSISTENCIA --- */
.admin-main{padding:20px}
.panel{padding:16px;margin-bottom:14px}
.page-head{margin-bottom:13px}
.page-head h1{font-size:25px}
.btn{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1.1;
}
.form-grid>.btn,
.password-form>.btn{min-height:38px}
table{table-layout:auto}
th,td{padding:8px 7px}
.admin-action-cell{
  width:82px;
  min-width:82px;
  text-align:right;
  white-space:nowrap;
}
.admin-row-action{
  box-sizing:border-box;
  width:72px;
  min-width:72px;
  height:30px;
  min-height:30px;
  padding:0 8px;
  border:1px solid #C7D8DC;
  border-radius:8px;
  background:#F7FAFA;
  color:var(--petrol);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  text-decoration:none;
  vertical-align:middle;
}
.admin-row-action:hover{background:#E8F2F5;border-color:#AFCBD2}
.admin-row-action.danger{
  background:#FFF4F5;
  border-color:#E8B8BF;
  color:var(--red);
}
.admin-row-action.danger:hover{background:var(--red);color:#fff;border-color:var(--red)}
.row-actions{width:82px;min-width:82px}
.detail-round-btn,.delete-round-btn{
  box-sizing:border-box;
  width:78px;
  min-width:78px;
  height:30px;
  min-height:30px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.route-grid{grid-auto-rows:1fr}
.route-card{
  min-height:72px;
  height:100%;
  padding:10px 10px 10px 15px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
}
.route-card-copy{min-width:0}
.route-card strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.route-card-action{
  margin:0!important;
  width:58px;
  height:28px;
  border:1px solid #C7D8DC;
  border-radius:8px;
  background:#F2F7F8;
  color:var(--petrol)!important;
  display:grid!important;
  place-items:center;
  font-size:8px!important;
  font-weight:900;
}
.route-card:hover .route-card-action{background:var(--petrol);color:#fff!important}
.link-danger{min-height:30px}

/* All two-column maintainer panels align from the top and don't stretch weirdly. */
.two-col>section.panel{align-self:start}
.table-wrap table td:last-child button,
.table-wrap table td:last-child a{vertical-align:middle}

@media(max-width:980px){
  .admin-main{padding:13px}
  .panel{padding:13px}
}


/* =========================================================
   Faro alwaysdata ad6 · accesibilidad visual + voz
   Mobile-first: texto más legible sin perder pantalla única.
   ========================================================= */

/* Portería login: increase text, recover space from margins/padding */
.porter-first-card{
  padding:clamp(14px,2.8vh,20px);
}
.porter-login-copy .eyebrow{
  font-size:10px;
  letter-spacing:.10em;
}
.porter-login-copy h1{
  font-size:clamp(30px,5.2vh,35px);
  font-weight:900;
}
.porter-title{
  font-size:clamp(17px,2.8vh,20px);
}
.porter-login-copy p{
  font-size:clamp(12px,1.9vh,14px);
  line-height:1.35;
  color:#536B71;
  margin:4px 0 clamp(8px,1.5vh,12px);
}
.porter-nfc-text strong{
  font-size:clamp(17px,2.6vh,20px);
}
.porter-nfc-text small{
  font-size:clamp(10px,1.55vh,12px);
  line-height:1.25;
  color:#E5F4F8;
}
.porter-nfc-state{
  font-size:clamp(10.5px,1.55vh,12px);
  line-height:1.3;
  min-height:34px;
  padding:6px 8px;
}
.porter-login-footer a,.admin-discreet-link{
  font-size:10px;
}

/* Scanner shell: larger text, less whitespace */
.scanner-header .eyebrow{font-size:9px}
.scanner-header h1{font-size:19px}
.status-dot-label{
  font-size:9px;
  font-weight:900;
}
.logout-link{
  font-size:10px;
}
.device-strip{
  font-size:10.5px;
  font-weight:700;
}
.device-strip strong{font-size:10.5px}
.device-right{font-size:9.5px}

/* Idle */
.idle-art h2{
  font-size:clamp(22px,4.5vh,27px);
  line-height:1.05;
}
.idle-art p{
  font-size:clamp(12px,1.9vh,14px);
  line-height:1.35;
  max-width:390px;
  color:#536B71;
}
.btn.big{
  font-size:clamp(15px,2.2vh,17px);
  min-height:44px;
  padding:9px 13px;
}
.auto-nfc-hint{
  font-size:10px;
  line-height:1.2;
}
.rut-fallback{
  font-size:11px;
  font-weight:800;
}

/* Identification */
.identify-card h2{
  font-size:clamp(23px,4.5vh,28px);
}
.identify-card p{
  font-size:clamp(12px,1.9vh,14px);
  line-height:1.35;
  color:#536B71;
}

/* Active patrol */
.guard-info h2{
  font-size:clamp(18px,3.5vh,22px);
}
.round-chip{
  font-size:9.5px;
  padding:4px 8px;
}
.routeMeta,.guard-info .small{
  font-size:10.5px;
}
.progress-box strong{
  font-size:24px;
}
.progress-box span{
  font-size:9.5px;
}
.panel-label{
  font-size:9px;
  letter-spacing:.11em;
}
.next-panel h3{
  font-size:clamp(23px,4.8vh,30px);
  line-height:1.02;
}
.travel-caption{
  font-size:11px;
}
.travel-countdown{
  font-size:clamp(50px,11.5vh,72px);
}
.orange-note{
  font-size:10.5px;
  line-height:1.25;
}
.ready-note{
  font-size:12px;
  font-weight:900;
}
.micro-action{
  font-size:11px;
  min-height:34px;
  padding:6px 9px;
}

/* reconnect */
.nfc-reconnect-copy strong{
  font-size:11px;
}
.nfc-reconnect-copy span{
  font-size:9px;
  line-height:1.2;
}
.nfc-reconnect-banner .btn{
  font-size:9.5px;
}

/* Modal operative text */
.sheet h3{
  font-size:19px;
}
.reason-grid button{
  font-size:12px;
  font-weight:900;
}
.sheet textarea,.rut-input{
  font-size:14px;
}
.finish-option strong{
  font-size:13px;
}
.finish-option span{
  font-size:10.5px;
}

/* On very short screens, preserve readable minimums rather than shrink tiny. */
@media(max-height:680px){
  .scanner-header h1{font-size:17px}
  .device-strip{font-size:9.5px}
  .idle-art h2{font-size:20px}
  .idle-art p{font-size:11.5px}
  .identify-card h2{font-size:21px}
  .identify-card p{font-size:11.5px}
  .guard-info h2{font-size:17px}
  .next-panel h3{font-size:21px}
  .travel-countdown{font-size:47px}
  .ready-note{font-size:11px}
  .micro-action{font-size:10px}
}

/* Prioritize phone ergonomics; desktop scanner stays phone-width. */
@media(min-width:700px){
  .scanner-shell,.porter-login-shell{max-width:520px}
}


/* =========================================================
   Faro alwaysdata ad7 · reparación layout ronda activa
   El grid anterior dejaba patrol-actions en la fila flexible.
   ========================================================= */

/* Explicit row placement prevents hidden reconnect banner from shifting rows. */
.patrol-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:
    auto
    6px
    auto
    auto
    minmax(0,1fr)
    auto!important;
  gap:6px!important;
  align-content:stretch!important;
  overflow:hidden!important;
}

.patrol-top{grid-row:1}
.progress-track{grid-row:2}
.nfc-reconnect-banner{grid-row:3}
.travel-panel,.ready-panel{
  grid-row:4;
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
  justify-self:stretch!important;
}
.patrol-actions{
  grid-row:6;
  align-self:end!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
}
.patrol-actions .micro-action{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:end!important;
}
.patrol-actions .warning-action{
  background:#FFF3DA!important;
  border:1px solid #F3D08B!important;
  color:#815000!important;
}
#finishBtn{
  background:#F1F5F6!important;
  border:1px solid #D7E2E4!important;
  color:#496167!important;
}

/* Keep checkpoint card informative, not stretched to consume the viewport. */
.travel-panel,.ready-panel{
  padding:12px 10px!important;
  border-radius:15px!important;
}
.travel-panel .panel-label,.ready-panel .panel-label{
  margin-bottom:2px;
}
.next-panel h3{
  margin:3px 0 5px!important;
  font-size:clamp(24px,6.2vw,31px)!important;
}
.travel-caption{
  margin-top:1px!important;
  font-size:12px!important;
}
.travel-countdown{
  margin:4px 0!important;
  font-size:clamp(54px,15vw,72px)!important;
  line-height:.92!important;
}
.orange-note{
  margin-top:2px!important;
  font-size:11px!important;
  padding:5px 9px!important;
}

/* Header information remains readable without stealing vertical space. */
.guard-info h2{
  font-size:clamp(19px,5vw,23px)!important;
}
.routeMeta,.guard-info .small{
  font-size:11px!important;
}
.progress-box strong{
  font-size:24px!important;
}
.progress-box span{
  font-size:10px!important;
}

@media(max-height:700px){
  .patrol-card{
    gap:5px!important;
    grid-template-rows:auto 5px auto auto minmax(0,1fr) auto!important;
  }
  .travel-panel,.ready-panel{padding:9px!important}
  .next-panel h3{font-size:23px!important}
  .travel-countdown{font-size:50px!important}
  .patrol-actions .micro-action{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    font-size:11px!important;
  }
}


/* Faro ad8 · institución persistente */
.porter-login-footer-admin-only{
  justify-content:flex-end!important;
}
.permanent-link-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  gap:5px 8px!important;
  align-items:center!important;
}
.permanent-link-row>span{
  grid-column:1/-1;
}
.permanent-link-code{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.copy-tenant-link{
  width:72px!important;
}


/* =========================================================
   Faro 2.4 Central · sitio público + login central
   ========================================================= */
:root{
  --public-bg:#071E2B;
  --public-bg-2:#0B2B3B;
  --public-line:rgba(255,255,255,.10);
  --public-text:#EDF8F8;
  --public-muted:#A7BEC4;
}
html{scroll-behavior:smooth}
.public-body{margin:0;background:#F5F8F8;color:#18333C;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.public-nav{
  position:sticky;top:0;z-index:1000;height:72px;padding:0 clamp(18px,5vw,76px);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(7,30,43,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--public-line)
}
.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:900;font-size:21px}
.public-brand img{width:36px;height:36px;object-fit:contain}
.public-nav nav{display:flex;align-items:center;gap:24px}
.public-nav nav>a{color:#C8D9DD;text-decoration:none;font-size:13px;font-weight:750}
.public-nav nav>a:hover{color:#fff}
.public-login-btn{border:1px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:10px;color:#fff!important}
.public-hero{
  min-height:calc(100vh - 72px);padding:70px clamp(22px,7vw,105px);
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:70px;align-items:center;
  background:
    radial-gradient(circle at 78% 34%,rgba(65,171,158,.19),transparent 28%),
    radial-gradient(circle at 12% 78%,rgba(30,111,183,.14),transparent 28%),
    linear-gradient(140deg,#061923,#082532 56%,#0B3343);
  color:#fff;overflow:hidden
}
.public-kicker{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.17em;font-weight:900;color:#79D5C7}
.public-kicker span{width:26px;height:2px;background:#41AB9E;border-radius:2px}
.public-kicker.dark{color:#087D72}.public-kicker.light{color:#79D5C7}
.public-hero h1{font-size:clamp(48px,6.2vw,88px);line-height:.96;letter-spacing:-.055em;margin:18px 0 24px;max-width:850px}
.public-hero h1 em{font-style:normal;color:#70D2C3}
.public-hero-copy>p{max-width:680px;font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:#B9CDD2;margin:0}
.public-hero-actions{display:flex;gap:12px;margin:32px 0 24px;flex-wrap:wrap}
.public-primary,.public-secondary{
  min-height:48px;padding:0 22px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;font-size:14px;text-decoration:none;border:0;cursor:pointer
}
.public-primary{background:#41AB9E;color:#fff;box-shadow:0 12px 30px rgba(65,171,158,.20)}
.public-primary:hover{background:#31998D}
.public-secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.16)}
.public-trust{display:flex;gap:17px;flex-wrap:wrap;color:#90AEB5;font-size:11px;font-weight:800}
.public-trust span::first-letter{color:#41AB9E}
.security-console{
  max-width:510px;width:100%;justify-self:center;border:1px solid rgba(255,255,255,.13);border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 35px 80px rgba(0,0,0,.32);padding:19px;backdrop-filter:blur(10px)
}
.console-head{display:flex;justify-content:space-between;color:#8EB0B7;font-size:9px;font-weight:900;letter-spacing:.12em}
.console-head b{color:#6BD5A6}
.radar{width:min(78vw,350px);aspect-ratio:1;margin:28px auto;position:relative;border-radius:50%;border:1px solid rgba(91,210,193,.18);overflow:hidden;background:radial-gradient(circle,rgba(65,171,158,.11),rgba(7,30,43,.18) 55%)}
.radar:before,.radar:after{content:"";position:absolute;background:rgba(105,205,194,.13)}
.radar:before{width:1px;top:0;bottom:0;left:50%}.radar:after{height:1px;left:0;right:0;top:50%}
.radar-ring{position:absolute;border:1px solid rgba(105,205,194,.16);border-radius:50%;inset:18%}
.radar-ring.r2{inset:34%}.radar-ring.r3{inset:44%}
.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(65,171,158,.28),transparent 18%,transparent);animation:radarspin 5s linear infinite}
@keyframes radarspin{to{transform:rotate(360deg)}}
.radar-center{position:absolute;inset:42%;border-radius:50%;display:grid;place-items:center;background:#092C3B;border:1px solid rgba(105,205,194,.35)}
.radar-center img{width:68%;height:68%;object-fit:contain}
.radar-point{position:absolute;width:8px;height:8px;border-radius:50%;background:#F29100;box-shadow:0 0 14px #F29100}
.radar-point.p1{left:27%;top:31%}.radar-point.p2{right:24%;top:39%}.radar-point.p3{left:36%;bottom:20%}.radar-point.p4{right:36%;bottom:34%}
.console-stats{display:grid;grid-template-columns:1.25fr .8fr .7fr;gap:8px}
.console-stats>div{padding:11px;background:rgba(255,255,255,.045);border-radius:11px}
.console-stats small,.console-stats strong{display:block}.console-stats small{font-size:8px;color:#789BA4}.console-stats strong{font-size:11px;margin-top:4px}.console-stats .safe{color:#6BD5A6}
.public-proof-strip{
  display:grid;grid-template-columns:repeat(4,1fr);padding:25px clamp(22px,7vw,105px);background:#fff;border-bottom:1px solid #DFE9EB
}
.public-proof-strip div{padding:8px 20px;border-right:1px solid #E4ECEE}.public-proof-strip div:last-child{border-right:0}
.public-proof-strip strong,.public-proof-strip span{display:block}.public-proof-strip strong{font-size:22px;color:#005071}.public-proof-strip span{font-size:11px;color:#789096;margin-top:3px}
.public-section{padding:95px clamp(22px,7vw,105px)}
.public-section-head{max-width:750px;margin-bottom:42px}.public-section-head h2,.public-access-section h2,.public-contact h2{font-size:clamp(34px,4vw,55px);letter-spacing:-.04em;line-height:1.02;margin:13px 0 15px;color:#12343E}
.public-section-head>p,.public-access-section>div>p{font-size:16px;line-height:1.6;color:#647D84;max-width:690px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.feature-grid article{background:#fff;border:1px solid #DFE9EB;border-radius:18px;padding:25px;min-height:190px;box-shadow:0 8px 25px rgba(9,53,70,.035)}
.feature-icon{width:42px;height:42px;border-radius:12px;background:#EAF6F4;color:#16877A;display:grid;place-items:center;font-size:20px;font-weight:900;margin-bottom:22px}
.feature-grid h3{font-size:18px;margin:0 0 9px;color:#133843}.feature-grid p{font-size:13px;line-height:1.55;color:#6C848A;margin:0}
.public-dark-section{background:#071E2B;color:#fff}
.public-section-head.light h2{color:#fff}.public-section-head.light>p{color:#9DB7BD}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.steps-grid>div{padding:25px 22px;border-top:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035);border-radius:0 0 15px 15px}
.steps-grid b{font-size:13px;color:#5EC6B8}.steps-grid h3{font-size:18px;margin:23px 0 9px}.steps-grid p{font-size:12px;line-height:1.55;color:#9DB5BA}
.public-access-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.access-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #DCE8EA;padding:30px;border-radius:18px;box-shadow:0 16px 35px rgba(9,53,70,.06)}
.access-flow span,.access-flow strong{padding:10px 13px;border-radius:9px;background:#EDF5F5;font-size:12px}.access-flow strong{background:#005071;color:#fff}.access-flow b{color:#87A1A6}
.public-contact{
  padding:85px clamp(22px,7vw,105px);display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start;background:linear-gradient(140deg,#0A2837,#071E2B);color:#fff
}
.public-contact h2{color:#fff}.public-contact-copy>p{font-size:15px;line-height:1.6;color:#9FB8BE;max-width:540px}
.contact-points{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.contact-points span{font-size:10px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:20px;color:#C8DADD}
.public-contact-form{background:#fff;border-radius:20px;padding:25px;display:grid;gap:12px;color:#233E46}
.public-contact-form label{font-size:11px;font-weight:850;color:#38565E}.public-contact-form input,.public-contact-form textarea{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #CDDBDE;background:#F8FAFA;border-radius:10px;padding:11px 12px;font:inherit;color:#163640}
.public-contact-form textarea{min-height:105px;resize:vertical}.public-contact-form .public-primary{width:100%;margin-top:3px}.honeypot{display:none!important}
.public-footer{min-height:80px;padding:0 clamp(22px,7vw,105px);display:flex;align-items:center;gap:22px;background:#04141D;color:#7999A1;font-size:11px}
.public-footer .public-brand{margin-right:auto}.public-footer>a:last-child{color:#B7CDD2;text-decoration:none}
.central-signin-body{margin:0;min-height:100vh;background:linear-gradient(135deg,#061923,#0A3141);color:#fff;font-family:Inter,system-ui,sans-serif}
.signin-back{position:fixed;top:22px;left:25px;color:#A8C0C6;text-decoration:none;font-size:12px;font-weight:800;z-index:10}
.central-signin-shell{min-height:100vh;display:grid;grid-template-columns:1fr minmax(360px,460px);gap:70px;align-items:center;max-width:1160px;margin:auto;padding:50px 30px}
.central-signin-brand img{width:70px;height:70px}.central-signin-brand h1{font-size:clamp(45px,5.4vw,72px);line-height:.98;letter-spacing:-.05em;margin:18px 0}.central-signin-brand p{max-width:540px;color:#9FB9BF;font-size:17px;line-height:1.55}
.central-signin-card{background:#fff;color:#183941;padding:28px;border-radius:22px;box-shadow:0 25px 70px rgba(0,0,0,.28)}
.central-signin-card h2{font-size:28px;margin:5px 0 4px;color:#0B3A48}.central-login-form label{font-size:11px}.central-login-form input{font-size:15px;min-height:46px}
.central-login-submit{width:100%;margin-top:4px}.central-login-note{font-size:9.5px;color:#789096;text-align:center;margin-top:14px;line-height:1.4}
.membership-list{display:grid;gap:9px;margin-top:18px}.membership-choice{width:100%;border:1px solid #D7E4E6;background:#F8FBFB;border-radius:13px;padding:10px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#193A43}.membership-choice:hover{border-color:#69B8AD;background:#F1F9F7}.membership-logo{width:42px;height:42px;border-radius:10px;overflow:hidden;background:#fff;display:grid;place-items:center}.membership-logo img{width:100%;height:100%;object-fit:contain}.membership-choice strong,.membership-choice small{display:block}.membership-choice strong{font-size:13px}.membership-choice small{font-size:9px;color:#71898F;margin-top:3px}.central-switch-account{display:block;text-align:center;margin-top:15px;color:#6B858B;font-size:10px}
.sa-topnav{display:flex;align-items:center;gap:5px;padding:8px 22px;background:#F4F8F8;border-bottom:1px solid #DDE7E9;position:sticky;top:58px;z-index:80}.sa-topnav a{padding:9px 12px;border-radius:8px;text-decoration:none;color:#536B72;font-size:10px;font-weight:850}.sa-topnav a.active{background:#005071;color:#fff}.sa-topnav a:last-child{margin-left:auto}
.lead-message{max-width:360px;white-space:normal;line-height:1.4}.sa-settings-panel{max-width:680px}
@media(max-width:900px){
  .public-nav{height:62px;padding:0 16px}.public-nav nav>a:not(.public-login-btn){display:none}
  .public-hero{min-height:auto;grid-template-columns:1fr;padding:60px 20px;gap:45px}.public-hero h1{font-size:clamp(44px,13vw,70px)}
  .security-console{max-width:520px}.public-proof-strip{grid-template-columns:1fr 1fr;padding:18px 12px}.public-proof-strip div:nth-child(2){border-right:0}
  .feature-grid{grid-template-columns:1fr 1fr}.steps-grid{grid-template-columns:1fr 1fr}.public-access-section,.public-contact{grid-template-columns:1fr}
  .central-signin-shell{grid-template-columns:1fr;max-width:520px;padding:90px 18px 30px;gap:30px}.central-signin-brand h1{font-size:46px}
}
@media(max-width:560px){
  .public-section,.public-contact{padding:65px 18px}.feature-grid,.steps-grid{grid-template-columns:1fr}
  .public-proof-strip strong{font-size:18px}.public-proof-strip span{font-size:9px}
  .public-access-section{gap:30px}.access-flow{padding:20px 14px}
  .public-footer{padding:18px;flex-wrap:wrap}.public-footer .public-brand{width:100%}
  .central-signin-brand{display:none}.central-signin-shell{display:flex;min-height:100vh;align-items:center}.central-signin-card{width:100%;box-sizing:border-box}
  .sa-topnav{overflow-x:auto;top:52px}.sa-topnav a{white-space:nowrap}.sa-topnav a:last-child{margin-left:0}
}


/* Faro 2.4.1 · Terminales e instalación */
.scanner-install-btn{
  height:31px;min-height:31px;padding:0 9px;border-radius:9px;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);
  color:#fff;display:inline-flex;align-items:center;gap:5px;
  font-size:9px;font-weight:900;cursor:pointer;
}
.scanner-install-btn.install-ready{background:#41AB9E;border-color:#41AB9E}
.scanner-install-icon{font-size:15px;line-height:1}
.faro-install-help{
  margin:5px 0;padding:8px 10px;border-radius:10px;background:#EAF6F4;
  color:#235F58;border:1px solid #C7E7E1;font-size:10px;line-height:1.35;
}
.admin-install-help{margin:8px 20px 0;max-width:520px}
.admin-install-link{
  border:0;background:transparent;color:inherit;cursor:pointer;
  font:inherit;font-size:inherit;font-weight:inherit;padding:0
}
.admin-install-link.install-ready{color:#41AB9E;font-weight:900}
.terminal-register-copy{margin-bottom:10px}
.terminal-register-copy strong{display:block;font-size:13px;color:var(--petrol)}
.terminal-register-copy p{margin:4px 0 0}
@media(max-width:520px){
  .scanner-install-btn span:last-child{display:none}
  .scanner-install-btn{width:31px;padding:0;justify-content:center}
  .scanner-install-icon{font-size:17px}
}

/* Faro 2.4.2 · Invitaciones y terminales pendientes */
.form-divider{grid-column:1/-1;margin:8px 0 0;padding:10px 0 2px;border-top:1px solid #DDE7E9}
.form-divider strong,.form-divider span{display:block}.form-divider strong{font-size:12px;color:var(--petrol)}.form-divider span{font-size:9px;color:#789096;margin-top:2px}
.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-title-row h2{margin:3px 0}
.terminal-requests-panel{border:1px solid #E8D29A;background:#FFFDF7}.terminal-request-list{display:grid;gap:8px;margin-top:12px}
.terminal-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid #E2EAEC;border-radius:12px;background:#fff}
.terminal-request-card strong,.terminal-request-card span,.terminal-request-card small{display:block}.terminal-request-card strong{font-size:12px;color:#173D48}.terminal-request-card span{font-size:10px;color:#607980;margin-top:2px}.terminal-request-card small{font-size:8px;color:#92A4A8;margin-top:4px}
.terminal-request-actions{display:flex;gap:6px}.admin-row-action.approve{background:#E6F5F1;border-color:#B9DDD5;color:#116B60}
.device-gate-card h1{font-size:30px;color:var(--petrol);margin:6px 0 5px}.device-gate-card label{display:block;text-align:left;font-size:11px;font-weight:850;color:#365861;margin:12px 0}
.device-gate-card input{width:100%;box-sizing:border-box;margin-top:5px;padding:11px;border:1px solid #CDDBDE;border-radius:10px;font-size:14px}
.device-gate-status{padding:11px;border-radius:11px;background:#F1F6F7;color:#526F76;font-size:11px;font-weight:800;margin:12px 0}
.device-gate-status.success-text{background:#E4F5F1;color:#126A5F}.device-gate-status.waiting-text{background:#FFF4DF;color:#825200}.device-gate-status.error-text{background:#FBE9EC;color:#A40F20}
@media(max-width:620px){.terminal-request-card{grid-template-columns:1fr}.terminal-request-actions{justify-content:flex-end}}


/* =========================================================
   Faro 2.5 · SuperAdmin comercial
   ========================================================= */
.sa-client-layout{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(520px,1.18fr);gap:16px;align-items:start}
.sa-create-client-panel{position:sticky;top:112px}
.sa-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.sa-section-title h2{margin:3px 0 0;color:var(--petrol)}
.sa-form-step,.sa-result-count{padding:6px 9px;border-radius:999px;background:#EAF4F6;color:#35636E;font-size:9px;font-weight:900;white-space:nowrap}
.sa-company-form{gap:12px}
.sa-form-block{padding:13px;border:1px solid #DDE8EA;background:#FAFCFC;border-radius:14px}
.sa-form-block-head{margin-bottom:10px}.sa-form-block-head strong,.sa-form-block-head span{display:block}
.sa-form-block-head strong{font-size:13px;color:#123D49}.sa-form-block-head span{font-size:9px;color:#82979C;margin-top:2px}
.sa-send-invite-toggle{display:grid!important;grid-template-columns:20px 1fr;gap:9px;align-items:flex-start;padding:10px!important;border:1px solid #CDE5DF;border-radius:11px;background:#F1F9F7}
.sa-send-invite-toggle input{width:17px!important;height:17px;margin:1px 0 0!important}
.sa-send-invite-toggle span strong,.sa-send-invite-toggle span small{display:block}
.sa-send-invite-toggle span strong{font-size:11px;color:#175D55}.sa-send-invite-toggle span small{font-size:9px;color:#6B858A;margin-top:2px;line-height:1.35}
.sa-plan-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.sa-plan-card{border:1px solid #D8E4E6;background:#fff;border-radius:12px;padding:10px;text-align:left;cursor:pointer;min-height:94px;transition:.16s}
.sa-plan-card span,.sa-plan-card strong,.sa-plan-card small{display:block}
.sa-plan-card span{font-size:7px;letter-spacing:.12em;color:#82999E;font-weight:900}
.sa-plan-card strong{font-size:11px;color:#274A53;margin-top:5px}.sa-plan-card small{font-size:8px;color:#83969B;line-height:1.35;margin-top:6px}
.sa-plan-card.active{border-color:#41AB9E;background:#EAF7F4;box-shadow:0 0 0 2px rgba(65,171,158,.12)}
.sa-plan-card.active span{color:#168779}.sa-plan-card.active strong{color:#115F56}
.sa-plan-editor{margin-top:10px;padding:11px;border-radius:12px;background:#F2F7F8}
.sa-limit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}
.sa-limit-grid label{font-size:9px}.sa-limit-grid input{text-align:center;font-weight:900}
.sa-create-company-btn{width:100%;min-height:48px;font-size:14px}
.sa-client-search{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:12px}
.sa-search-box{height:40px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;border:1px solid #D4E0E2;background:#F8FAFA;border-radius:11px;padding:0 9px}
.sa-search-box span{font-size:18px;color:#789096}.sa-search-box input{border:0;background:transparent;outline:0;min-width:0;font-size:12px;color:#21444D}
.sa-search-box a{font-size:8px;color:#6B858A;text-decoration:none;font-weight:850}
.sa-modern-tenant-cards{gap:12px}
.sa-company-card{padding:14px;border-radius:16px}
.sa-company-summary{display:grid;grid-template-columns:1.25fr repeat(4,.75fr);gap:6px;margin:11px 0}
.sa-company-summary>div{background:#F5F9F9;border:1px solid #E5EDEE;border-radius:10px;padding:8px;min-width:0}
.sa-company-summary span,.sa-company-summary strong,.sa-company-summary small{display:block}
.sa-company-summary span{font-size:7px;text-transform:uppercase;letter-spacing:.09em;color:#8A9FA4;font-weight:900}
.sa-company-summary strong{font-size:13px;color:#214A54;margin-top:3px}.sa-company-summary small{font-size:8px;color:#718A90;margin-top:2px}
.sa-primary-admin-box{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:12px;background:linear-gradient(100deg,#F1F8F7,#F7FAFA);border:1px solid #D9E9E6}
.sa-primary-admin-avatar{width:38px;height:38px;border-radius:11px;background:#005071;color:#fff;display:grid;place-items:center;font-size:17px;font-weight:900}
.sa-primary-admin-copy>span,.sa-primary-admin-copy>strong,.sa-primary-admin-copy>small{display:block}
.sa-primary-admin-copy>span{font-size:7px;letter-spacing:.11em;color:#6D858B;font-weight:900}.sa-primary-admin-copy>strong{font-size:12px;color:#163F49;margin-top:2px}.sa-primary-admin-copy>small{font-size:9px;color:#6F858A}
.sa-admin-access-state{display:flex;align-items:center;gap:6px;margin-top:5px;flex-wrap:wrap}
.sa-admin-access-state b{font-size:8px;padding:3px 6px;border-radius:999px}.sa-admin-access-state em{font-style:normal;font-size:7px;color:#8C9DA1}
.state-ok{background:#DCF2EC;color:#176A5E}.state-pending{background:#FFF1D8;color:#8A5800}.state-neutral{background:#E9EFF1;color:#637B81}
.sa-admin-mail-action .btn{white-space:nowrap}
.sa-company-details{margin-top:10px}
.sa-company-actions{margin-top:10px}
.text-good{color:#147164!important}.text-bad{color:#A51A28!important}
.sa-note-row{grid-column:1/-1}
@media(max-width:1180px){
  .sa-client-layout{grid-template-columns:1fr}
  .sa-create-client-panel{position:static}
}
@media(max-width:720px){
  .sa-plan-picker{grid-template-columns:1fr}
  .sa-limit-grid{grid-template-columns:1fr 1fr}
  .sa-company-summary{grid-template-columns:1fr 1fr}
  .sa-company-summary>div:first-child{grid-column:1/-1}
  .sa-primary-admin-box{grid-template-columns:38px minmax(0,1fr)}
  .sa-admin-mail-action{grid-column:1/-1}.sa-admin-mail-action .btn{width:100%}
}


/* =========================================================
   Faro 2.6 · Paquetes mantenibles + web orientada a flujos
   ========================================================= */
.sa-plan-maintainer-layout{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(480px,1.25fr);gap:16px;align-items:start}
.sa-package-list{display:grid;gap:9px}
.sa-package-row{padding:12px;border:1px solid #DEE8EA;border-radius:13px;background:#FBFCFC}
.sa-package-row.disabled{opacity:.58;background:#F3F5F5}
.sa-package-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sa-package-main>div>span,.sa-package-main>div>strong{display:block}
.sa-package-main>div>span{font-size:8px;letter-spacing:.11em;color:#678187;font-weight:900}
.sa-package-main>div>span b{margin-left:5px;padding:3px 5px;border-radius:999px;background:#DFF2ED;color:#167064;font-size:6px}
.sa-package-main>div>strong{font-size:12px;color:#244952;margin-top:3px}
.sa-package-main em{font-style:normal;font-size:10px;color:#005071;font-weight:900;white-space:nowrap}
.sa-package-limits{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.sa-package-limits span{padding:5px 7px;border-radius:7px;background:#EFF5F6;color:#617A80;font-size:8px}.sa-package-limits b{color:#1A4B57}
.sa-package-actions{display:flex;gap:6px;justify-content:flex-end}
@media(max-width:1000px){.sa-plan-maintainer-layout{grid-template-columns:1fr}}

.client-problem-section{background:#F7FAFA}
.client-problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.client-problem-grid article{padding:24px;border-radius:16px;background:#fff;border:1px solid #E0EAEC}
.client-problem-grid article>span{font-size:10px;color:#C11325;font-weight:900;letter-spacing:.12em}
.client-problem-grid h3{font-size:19px;color:#193E48;margin:18px 0 8px}.client-problem-grid p{font-size:13px;line-height:1.55;color:#6F858B;margin:0}
.client-flow-timeline{display:grid;gap:10px}
.client-flow-timeline article{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(190px,270px);gap:20px;align-items:center;padding:18px 20px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:15px}
.flow-number{font-size:22px;font-weight:900;color:#41AB9E}
.flow-copy>span{font-size:8px;letter-spacing:.14em;color:#6FCBBD;font-weight:900}.flow-copy h3{font-size:19px;margin:4px 0 5px}.flow-copy p{font-size:12px;line-height:1.5;color:#A0B7BC;margin:0}
.flow-demo{padding:12px;border-radius:11px;background:#F7FAFA;color:#214650;display:grid}.flow-demo b{font-size:12px}.flow-demo small{font-size:8px;color:#789197;margin-top:4px}.flow-demo strong{font-size:28px;color:#F29100;margin:5px 0}
.flow-demo.accent{background:#FFF5DF}.flow-demo.good{background:#E3F4EF;color:#17695E}.flow-demo.warn{background:#FCEAEC;color:#982336}
.admin-value-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center}
.admin-value-list{display:grid;gap:10px}.admin-value-list article{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px;border-radius:12px;background:#fff;border:1px solid #E1E9EB}
.admin-value-list article>div{width:28px;height:28px;border-radius:9px;background:#E5F5F1;color:#147568;display:grid;place-items:center;font-weight:900}.admin-value-list strong,.admin-value-list small{display:block}.admin-value-list strong{font-size:13px;color:#1F4852}.admin-value-list small{font-size:10px;color:#72898F;margin-top:3px;line-height:1.4}
.dashboard-preview{padding:18px;border-radius:20px;background:#082936;color:#fff;box-shadow:0 24px 55px rgba(10,42,54,.18)}
.dashboard-preview-head{display:flex;justify-content:space-between;color:#83A7AF;font-size:8px;font-weight:900;letter-spacing:.12em}
.dashboard-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.dashboard-preview-kpis>div{padding:10px;border-radius:10px;background:rgba(255,255,255,.05)}.dashboard-preview-kpis small,.dashboard-preview-kpis strong{display:block}.dashboard-preview-kpis small{font-size:7px;color:#73969E}.dashboard-preview-kpis strong{font-size:22px;margin-top:5px}
.dashboard-preview-bars{height:120px;display:flex;align-items:flex-end;gap:10px;padding:12px 8px;border-radius:12px;background:rgba(255,255,255,.035)}
.dashboard-preview-bars span{flex:1;height:var(--v);min-height:16px;border-radius:7px 7px 3px 3px;background:linear-gradient(#41AB9E,#1E6FB7);position:relative}.dashboard-preview-bars b{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:7px;color:#72959D}
.dashboard-preview-event{display:grid;grid-template-columns:9px 1fr auto;gap:9px;align-items:center;padding:9px;margin-top:10px;border-radius:9px;background:rgba(255,255,255,.045)}.dashboard-preview-event i{width:8px;height:8px;border-radius:50%;background:#41AB9E}.dashboard-preview-event.warn i{background:#F29100}.dashboard-preview-event span strong,.dashboard-preview-event span small{display:block}.dashboard-preview-event span strong{font-size:9px}.dashboard-preview-event span small{font-size:7px;color:#7FA0A7}.dashboard-preview-event>b{font-size:10px}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.benefit-grid article{padding:22px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.benefit-grid strong{font-size:15px}.benefit-grid p{font-size:10px;line-height:1.5;color:#9BB4B9;margin:8px 0 0}
@media(max-width:900px){
  .client-problem-grid{grid-template-columns:1fr}
  .client-flow-timeline article{grid-template-columns:42px 1fr}.flow-demo{grid-column:2}
  .admin-value-layout{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .client-flow-timeline article{grid-template-columns:34px 1fr;padding:14px;gap:10px}
  .flow-demo{grid-column:1/-1}.benefit-grid{grid-template-columns:1fr}
}

.central-forgot-link{display:block;text-align:center;margin-top:10px;font-size:10px;color:#5A7880;text-decoration:none;font-weight:800}.user-device-note{display:block;font-size:8px;color:#80969B;margin-top:3px}.notification-link{position:relative}.notification-link b{position:absolute;right:-7px;top:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#C11325;color:#fff;font-size:8px;display:grid;place-items:center}.notification-center{display:grid;gap:8px}.notification-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid #DEE8EA;background:#fff}.notification-item p{margin:4px 0;font-size:10px;color:#6F858B}.notification-item small{font-size:8px;color:#90A2A6}.severity-warning{border-left:4px solid #F29100}.severity-critical{border-left:4px solid #C11325}.activity-feed{display:grid;gap:7px}.activity-feed article{padding:10px;border-radius:10px;background:#F7FAFA;border:1px solid #E3EBEC}.activity-feed span,.activity-feed strong,.activity-feed small{display:block}.activity-feed span{font-size:7px;color:#6B878E;font-weight:900}.activity-feed strong{font-size:11px;color:#244952;margin-top:3px}.activity-feed small{font-size:8px;color:#91A2A6;margin-top:3px}.onboarding-panel{max-width:760px}.onboarding-progress>div{height:9px;background:#E8EFF0;border-radius:999px;margin:8px 0 18px;overflow:hidden}.onboarding-progress span{display:block;height:100%;background:#41AB9E}.onboarding-list{display:grid;gap:8px}.onboarding-list article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:11px;border-radius:12px;border:1px solid #DFE8EA}.onboarding-list article>b{width:32px;height:32px;border-radius:10px;background:#EFF4F5;color:#5C787F;display:grid;place-items:center}.onboarding-list article.done>b{background:#DFF3ED;color:#17695E}.android-only-note{margin-top:14px;padding:10px 12px;border-radius:11px;background:#EAF4FF;border:1px solid #C9DEEF;color:#275D7B}.android-only-note strong,.android-only-note span{display:block}.android-only-note strong{font-size:11px}.android-only-note span{font-size:9px;margin-top:3px}.support-mode-banner{position:sticky;top:0;z-index:999;padding:8px 14px;background:#A2195A;color:#fff;text-align:center;font-size:10px;font-weight:850}.support-mode-banner a{color:#fff;text-decoration:underline;margin-left:8px}.admin-tour-card{margin:10px 18px;padding:13px 15px;border-radius:14px;background:linear-gradient(110deg,#083747,#005071);color:#fff;display:flex;justify-content:space-between;gap:14px;align-items:center}.admin-tour-card span{font-size:7px;color:#72C9BC;font-weight:900}.admin-tour-card strong{display:block;font-size:14px;margin-top:3px}.admin-tour-card p{font-size:9px;color:#B1C9CE;margin:4px 0 0}.admin-tour-card>div:last-child{display:flex;gap:6px}.public-android-badge{display:inline-flex;margin-top:14px;padding:7px 10px;border-radius:999px;background:#EAF4FF;color:#265D7E;font-size:9px;font-weight:850}.demo-guided-grid{display:grid;grid-template-columns:minmax(220px,.65fr) 60px minmax(360px,1.35fr);align-items:center;gap:18px}.demo-phone{max-width:280px;margin:auto;padding:18px;border-radius:26px;background:#082936;color:#fff;box-shadow:0 18px 45px rgba(5,39,51,.18)}.demo-phone-top{font-size:7px;color:#7BA0A8}.demo-phone>strong,.demo-phone>span,.demo-phone>h3,.demo-phone>b{display:block}.demo-phone>strong{font-size:12px;margin-top:18px}.demo-phone>span{font-size:8px;color:#83A5AC;margin-top:22px}.demo-phone>h3{font-size:25px;margin:4px 0}.demo-phone>b{font-size:32px;color:#F29100}.demo-phone button{width:100%;margin-top:20px;padding:11px;border:0;border-radius:12px;background:#41AB9E;color:#fff;font-weight:900}.demo-arrow{text-align:center;font-size:38px;color:#41AB9E}@media(max-width:800px){.demo-guided-grid{grid-template-columns:1fr}.demo-arrow{transform:rotate(90deg)}.admin-tour-card{align-items:flex-start;flex-direction:column}}

/* Faro 2.7.1 · ajustes de auditoría SuperAdmin */
.sa-tax-preview{display:block;margin-top:7px;color:#71838b;font-size:.78rem;font-weight:600;line-height:1.35}
.sa-package-actions form{margin:0}
@media(max-width:760px){
  .sa-company-actions>a.btn,.sa-company-actions>form{flex:1 1 46%}
  .sa-company-actions>form .btn{width:100%}
}

.form-subsection{border-top:1px solid #dce7e9;margin-top:8px;padding-top:14px;display:grid;gap:10px}.form-subsection>div:first-child{margin-bottom:2px}.field-help{display:block;margin-top:5px;font-size:8px;color:#7b9096;font-weight:600;line-height:1.35}.danger-outline{background:#fff!important;border:1px solid #d77b83!important;color:#a32734!important}.danger-outline:hover{background:#fff3f4!important}

/* v2.8.1 · acceso público directo a ronda por NFC */
.central-nfc-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:#80919a;font-weight:800}.central-nfc-divider:before,.central-nfc-divider:after{content:"";height:1px;flex:1;background:#dce5e8}.central-nfc-divider span{font-size:13px;text-transform:uppercase}.central-round-access{text-align:center}.central-round-button{width:min(100%,430px);min-height:96px;border:0;border-radius:999px;padding:16px 26px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,#0a6687,#42b3a7);color:white;box-shadow:0 14px 34px rgba(8,93,117,.24);cursor:pointer;font:inherit}.central-round-button:active{transform:scale(.985)}.central-round-button:disabled{opacity:.65}.central-round-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);font-weight:1000;letter-spacing:-3px;font-size:21px}.central-round-button span:last-child{text-align:left;display:grid;gap:2px}.central-round-button strong{font-size:22px;line-height:1.1}.central-round-button small{font-size:13px;color:rgba(255,255,255,.86);font-weight:700}.central-nfc-state{margin:14px auto 0;max-width:480px;color:#7a8d95;font-size:13px;line-height:1.45;font-weight:650}.central-nfc-state.waiting{color:#075c78}.central-nfc-state.success{color:#147667}.central-nfc-state.error{color:#a72c45}.central-round-access .btn{margin-top:12px}.central-round-access .hidden{display:none!important}@media(max-width:640px){.central-round-button{min-height:88px;padding:13px 20px}.central-round-icon{width:52px;height:52px}.central-round-button strong{font-size:20px}}


/* v2.9.1 · Reportería integrada al panel administrativo */
.report-admin-layout{align-items:stretch}
.admin-report-main{
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:20px;
}
.admin-report-main .report-title-row{margin-bottom:14px}
@media(max-width:980px){
  .admin-report-main{padding:15px}
  .report-admin-layout .admin-nav{top:60px}
}
@media(max-width:620px){
  .admin-report-main{padding:12px}
}

/* v2.9.3 mapa de turnos */
.shift-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.shift-calendar-panel{order:1;min-width:0}.shift-pattern-panel{order:2;min-width:0}.shift-pattern-head-form{padding-bottom:14px;border-bottom:1px solid var(--line)}.shift-days-editor{display:grid;gap:9px;margin-top:12px}.shift-day-row{display:grid;grid-template-columns:72px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px;background:#FAFCFC}.shift-day-no b,.shift-day-no small{display:block}.shift-day-no small{font-size:8px;color:var(--muted)}.shift-guard-checks{display:flex;flex-wrap:wrap;gap:6px}.shift-guard-checks label{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #D6E2E4;border-radius:9px;background:#fff;font-size:10px;font-weight:750}.shift-list-title{margin:18px 0 8px;color:var(--petrol)}.shift-pattern-list{display:grid;gap:7px}.shift-pattern-card{display:block;padding:10px;border:1px solid var(--line);border-radius:11px}.shift-pattern-card strong,.shift-pattern-card span{display:block}.shift-pattern-card span{font-size:9px;color:var(--muted);margin-top:3px}.shift-pattern-card.inactive{opacity:.55}.shift-calendar-head{display:flex;justify-content:space-between;gap:10px}.shift-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.shift-calendar-empty{min-height:76px}.shift-calendar-day{min-height:82px;border:1px solid var(--line);border-radius:11px;background:#F9FBFB;padding:7px;color:var(--ink);display:flex;flex-direction:column;gap:5px}.shift-calendar-day b{color:var(--petrol)}.shift-calendar-day span{font-size:8.5px;line-height:1.25}.shift-calendar-day.selected{border-color:var(--blue);background:#F1F7FC}.shift-date-editor{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.shift-date-editor span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.status-warn{background:#FFF0D6!important;color:#8A5100!important}@media(max-width:1050px){.shift-layout{grid-template-columns:1fr}.shift-calendar-wrap{overflow-x:auto}.shift-weekdays,.shift-calendar-grid{min-width:760px}}

/* v2.9.4 · flujo permanente de configuración */
.setup-flow{background:#fff;border:1px solid #DCE7E9;border-radius:16px;padding:13px 15px;margin:0 0 15px;box-shadow:0 7px 22px rgba(0,70,90,.05)}
.setup-flow-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.setup-flow-head>div strong,.setup-flow-head>div span{display:block}.setup-flow-head>div strong{color:var(--petrol);font-size:12px}.setup-flow-head>div span{font-size:8.5px;color:#74888E;margin-top:2px}.setup-flow-ready{font-size:9px;font-weight:900;color:#167668;background:#E4F5F2;border:1px solid #AFE0D8;border-radius:99px;padding:5px 8px}
.setup-flow-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;gap:0}.setup-flow-track:before{content:"";position:absolute;top:16px;left:8%;right:8%;height:3px;background:#DCE6E8;border-radius:99px;z-index:0}.setup-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;color:#61767C;text-decoration:none;min-width:0;padding:0 5px}.setup-step-dot{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#EEF3F4;border:3px solid #fff;box-shadow:0 0 0 1px #D6E1E3;font-size:10px;font-weight:950;color:#71868C}.setup-step-copy{margin-top:6px;min-width:0}.setup-step-copy strong,.setup-step-copy small{display:block}.setup-step-copy strong{font-size:9.5px;color:#415D65;white-space:normal}.setup-step-copy small{font-size:7.5px;line-height:1.2;color:#8A9A9E;margin-top:2px}.setup-step.done .setup-step-dot{background:#41AB9E;color:#fff;box-shadow:0 0 0 1px #41AB9E}.setup-step.done .setup-step-copy strong{color:#167668}.setup-step.current .setup-step-dot{background:#1E6FB7;color:#fff;box-shadow:0 0 0 3px rgba(30,111,183,.14)}.setup-step.current .setup-step-copy strong{color:#1E6FB7}.setup-step.available:hover .setup-step-dot,.setup-step.current:hover .setup-step-dot{transform:translateY(-1px)}.setup-step.locked{opacity:.52;cursor:not-allowed}.setup-step.locked .setup-step-dot{background:#F2F4F4;color:#9AA8AC}
@media(max-width:700px){.setup-flow{padding:11px 9px;overflow:hidden}.setup-flow-track{grid-template-columns:repeat(4,minmax(72px,1fr));overflow-x:auto;padding-bottom:4px}.setup-flow-track:before{left:38px;right:38px}.setup-step{min-width:78px}.setup-step-copy strong{font-size:8.5px}.setup-step-copy small{display:none}}

/* Acceso alternativo por RUT cuando el nochero no tiene su credencial */
.central-lost-credential{border:0;background:transparent;color:#617C84;text-decoration:underline;text-underline-offset:3px;font-size:10px;font-weight:800;margin:8px auto 0;display:block;cursor:pointer;padding:5px 8px}.central-lost-credential:hover{color:var(--petrol)}
.lost-credential-modal{position:fixed;inset:0;background:rgba(3,24,35,.68);z-index:3000;display:flex;align-items:center;justify-content:center;padding:18px}.lost-credential-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:20px;box-shadow:0 26px 70px rgba(0,0,0,.30)}.lost-credential-card h2{margin:4px 0 7px;color:var(--petrol)}.lost-credential-card p{font-size:11px;line-height:1.4}.lost-notify-choice{display:flex;gap:9px;align-items:flex-start;background:#F4F8F8;border:1px solid #DDE7E9;border-radius:12px;padding:10px;margin:12px 0;font-size:10px;font-weight:750;color:#45616A}.lost-notify-choice input{margin-top:2px}.lost-rut-input{width:100%;padding:12px;border:1px solid #C6D5D8;border-radius:11px;font-size:18px;font-weight:850;text-align:center;letter-spacing:.02em}.lost-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.lost-credential-state{min-height:19px;text-align:center;font-size:9px;font-weight:800;margin-top:8px;color:#6F848A}.lost-credential-state.error{color:#A40F20}.lost-credential-state.success{color:#167668}

/* v2.9.5 · calendario visual drag & drop */
.shift-calendar-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start;margin-top:12px}
.shift-roster{border:1px solid #DCE7EA;border-radius:18px;background:linear-gradient(180deg,#F9FCFD 0%,#F4F9FA 100%);padding:14px;position:sticky;top:116px;box-shadow:0 10px 24px rgba(16,49,61,.05)}
.shift-roster-head{display:flex;flex-direction:column;gap:4px;padding:0 2px 12px;border-bottom:1px solid #E1EAEC;margin-bottom:10px}
.shift-roster-head strong{display:block;color:var(--petrol);font-size:16px;line-height:1.1}
.shift-roster-head span{display:block;font-size:11px;color:var(--muted)}
.shift-roster-list{display:grid;gap:10px}
.shift-roster-chip,.shift-day-chip{--shift-bg:#EEF6FC;--shift-border:#9FC5E5;--shift-ink:#123743;display:flex;align-items:center;gap:10px;border:1px solid var(--shift-border);background:var(--shift-bg);color:var(--shift-ink);border-radius:999px;font-size:13px;font-weight:800;line-height:1.15;cursor:grab;user-select:none;box-shadow:0 4px 10px rgba(18,55,67,.06);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
.shift-roster-chip{padding:10px 12px}
.shift-day-chip{padding:7px 9px 7px 7px;max-width:100%}
.shift-roster-chip:hover,.shift-day-chip:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(18,55,67,.10)}
.shift-roster-chip i,.shift-day-chip i{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--shift-color);color:#fff;font-style:normal;font-size:12px;font-weight:900;letter-spacing:.02em;flex:0 0 auto;box-shadow:inset 0 -1px 0 rgba(255,255,255,.22)}
.shift-roster-chip span,.shift-day-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shift-day-chip span{flex:1}
.shift-roster-chip:active,.shift-day-chip:active{cursor:grabbing}.shift-roster-chip.dragging,.shift-day-chip.dragging{opacity:.42;transform:scale(.98)}
.shift-color-0{--shift-color:#1E6FB7;--shift-bg:#EAF4FC;--shift-border:#A7CBE9}.shift-color-1{--shift-color:#2DA698;--shift-bg:#E7F8F3;--shift-border:#9EDCCD}.shift-color-2{--shift-color:#B22568;--shift-bg:#FCEAF1;--shift-border:#E5ABC3}.shift-color-3{--shift-color:#E28B06;--shift-bg:#FFF3DE;--shift-border:#EEC37B}.shift-color-4{--shift-color:#7E58B0;--shift-bg:#F1ECFA;--shift-border:#C7B2E6}.shift-color-5{--shift-color:#2C8A5E;--shift-bg:#E7F6EE;--shift-border:#A9D9BF}.shift-color-6{--shift-color:#C56536;--shift-bg:#FCEEE6;--shift-border:#E2B298}.shift-color-7{--shift-color:#3E819C;--shift-bg:#E8F4F8;--shift-border:#A9CBD7}
.shift-trash{margin-top:12px;padding:12px;border:1px dashed #E2C5C8;border-radius:16px;background:#FFF7F8;display:grid;gap:3px;justify-items:start;text-align:left;color:#8A565B}.shift-trash span{font-size:18px;line-height:1}.shift-trash strong{font-size:14px;color:#7C313B}.shift-trash small{font-size:11px;color:#946E73;line-height:1.3}.shift-trash.drag-over{border-color:#C11325;background:#FCEBED;box-shadow:inset 0 0 0 2px rgba(193,19,37,.08)}
.shift-calendar-wrap{min-width:0}.shift-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.shift-weekdays span{text-align:center;font-size:11px;font-weight:900;color:#6C8187;text-transform:uppercase;letter-spacing:.07em}
.shift-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:0}.shift-calendar-empty{min-height:96px}
.shift-calendar-day{min-height:136px;padding:9px;border:1px solid #D9E6E8;border-radius:16px;background:#FBFCFD;display:flex;flex-direction:column;gap:8px;transition:.14s;box-shadow:0 3px 10px rgba(16,49,61,.03)}
.shift-calendar-day.drag-over{border-color:var(--blue);background:#EAF4FB;box-shadow:inset 0 0 0 2px rgba(30,111,183,.12)}
.shift-day-number{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.shift-day-number b{color:var(--petrol);font-size:22px;line-height:1}.shift-day-number small{font-size:11px;color:#8B9A9E;text-transform:uppercase;font-weight:800;letter-spacing:.05em;margin-top:3px}
.shift-day-guards{display:grid;gap:6px;align-content:start}
.shift-chip-remove{width:24px;height:24px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);color:#8A575D;font-size:15px;line-height:1;cursor:pointer;flex:0 0 auto;display:grid;place-items:center}
.shift-chip-remove:hover{background:rgba(193,19,37,.12);color:var(--red)}
.shift-day-empty{font-size:11px;color:#A0AEB1;text-align:center;padding:18px 6px;border:1px dashed #DCE6E8;border-radius:12px;background:#FCFEFE}
.shift-calendar-help{margin-top:12px;padding:11px 13px;border-radius:14px;background:#F3F8F8;border:1px solid #DDE8E9;display:flex;gap:10px;align-items:flex-start}.shift-calendar-help strong{font-size:12px;color:var(--petrol);white-space:nowrap}.shift-calendar-help span{font-size:11px;color:var(--muted);line-height:1.4}
.shift-autosave-status{display:inline-flex;align-items:center;min-height:34px;margin-top:8px;padding:7px 12px;border-radius:999px;background:#F2F6F6;color:#6A7D82;font-size:11px;font-weight:800}.shift-autosave-status.saving{background:#FFF4DE;color:#895500}.shift-autosave-status.success{background:#E3F5F1;color:#176B60}.shift-autosave-status.error{background:#FBE9EC;color:#A40F20}.shift-saving .shift-calendar-workspace{pointer-events:none;opacity:.86}
@media(max-width:1280px){.shift-calendar-workspace{grid-template-columns:210px minmax(0,1fr)}.shift-roster-chip,.shift-day-chip{font-size:12px}.shift-day-number b{font-size:20px}}
@media(max-width:820px){.shift-calendar-workspace{grid-template-columns:1fr}.shift-roster{position:static}.shift-roster-list{display:flex;flex-wrap:wrap}.shift-roster-chip{width:auto}.shift-trash{display:none}.shift-calendar-wrap{overflow-x:auto}.shift-weekdays,.shift-calendar-grid{min-width:760px}}


/* v3.0 · Calendario de actividad automático */
.activity-calendar-panel{overflow:hidden}
.activity-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.activity-calendar-head h2{margin:0 0 4px}.activity-calendar-head input[type=month]{min-height:38px;border:1px solid #C9D9DC;border-radius:10px;background:#fff;padding:7px 10px;color:var(--ink);font-weight:750}
.activity-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 12px}.activity-summary-row>div{padding:10px 12px;border:1px solid #DCE7E9;border-radius:13px;background:#F8FBFB}.activity-summary-row span,.activity-summary-row strong{display:block}.activity-summary-row span{font-size:9px;color:#71858B;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.activity-summary-row strong{font-size:21px;color:var(--petrol);margin-top:3px}
.activity-legend{display:flex;flex-wrap:wrap;gap:7px;padding:10px;border:1px solid #DCE7E9;border-radius:14px;background:#FAFCFC;margin-bottom:12px}.activity-legend-chip,.activity-person-tag{--shift-bg:#EEF6FC;--shift-border:#9FC5E5;--shift-color:#1E6FB7;display:flex;align-items:center;border:1px solid var(--shift-border);background:var(--shift-bg);color:#17313A}.activity-legend-chip{gap:7px;border-radius:999px;padding:6px 10px 6px 6px}.activity-legend-chip i,.activity-person-tag i{display:grid;place-items:center;border-radius:999px;background:var(--shift-color);color:#fff;font-style:normal;font-weight:900;flex:0 0 auto}.activity-legend-chip i{width:24px;height:24px;font-size:10px}.activity-legend-chip b{font-size:11px;white-space:nowrap}
.activity-calendar-wrap{min-width:0}.activity-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:6px}.activity-weekdays span{text-align:center;font-size:9px;font-weight:900;color:#6B8187;text-transform:uppercase;letter-spacing:.08em}.activity-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.activity-calendar-empty{min-height:95px}.activity-day{appearance:none;width:100%;min-height:126px;padding:8px;border:1px solid #D9E5E7;border-radius:14px;background:#FBFDFD;color:var(--ink);text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:.14s;overflow:hidden}.activity-day:hover{border-color:#AFCED5;background:#F8FCFC}.activity-day.has-activity{background:#fff}.activity-day.selected{border-color:var(--blue);box-shadow:inset 0 0 0 2px rgba(30,111,183,.10);background:#F5FAFE}.activity-day-head{display:flex;align-items:flex-start;justify-content:space-between}.activity-day-head strong{font-size:19px;color:var(--petrol);line-height:1}.activity-day-head span{font-size:8px;color:#83969B;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.activity-day-tags{display:grid;gap:5px;align-content:start}.activity-person-tag{gap:5px;border-radius:10px;padding:5px;min-width:0;box-shadow:0 2px 6px rgba(20,52,62,.04)}.activity-person-tag i{width:20px;height:20px;font-size:8px}.activity-person-tag b{font-size:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.activity-person-tag small{font-size:7px;color:#61777D;white-space:nowrap}.activity-none{display:block;text-align:center;margin-top:12px;padding:10px 4px;border:1px dashed #DFE8EA;border-radius:9px;color:#9AA9AD;font-size:8px}
.activity-day-detail{margin-top:12px;padding:13px;border:1px solid #CFE0E4;border-radius:14px;background:#F8FBFC}.activity-detail-head strong,.activity-detail-head span{display:block}.activity-detail-head strong{color:var(--petrol);font-size:15px}.activity-detail-head span{font-size:9px;color:var(--muted);margin-top:2px}.activity-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:9px}.activity-detail-person{padding:10px;border:1px solid #DEE8EA;border-radius:11px;background:#fff}.activity-detail-person strong,.activity-detail-person span,.activity-detail-person small{display:block}.activity-detail-person strong{color:#17313A;font-size:12px}.activity-detail-person span{font-size:10px;color:#31535D;margin-top:3px}.activity-detail-person small{font-size:8.5px;color:#788C91;margin-top:3px}
@media(max-width:1050px){.activity-calendar-wrap{overflow-x:auto}.activity-weekdays,.activity-calendar-grid{min-width:760px}}
@media(max-width:700px){.activity-calendar-head{flex-direction:column}.activity-summary-row{grid-template-columns:1fr 1fr 1fr}.activity-summary-row strong{font-size:18px}.activity-legend{flex-wrap:nowrap;overflow-x:auto}.activity-legend-chip{flex:0 0 auto}}
/* Faro 3.1 · operación avanzada */
.admin-global-search{display:flex;align-items:center}.admin-global-search input{width:210px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px}.admin-global-search input::placeholder{color:rgba(255,255,255,.68)}
.live-round-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.live-round-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdfd}.live-round-card>div:first-child strong,.live-round-card>div:first-child span{display:block}.live-round-card>div:first-child span{font-size:10px;color:var(--muted);margin-top:3px}.live-progress,.profile-success{height:9px;border-radius:999px;background:#e7eef0;overflow:hidden;margin:12px 0}.live-progress i,.profile-success i{height:100%;display:block;background:var(--blue);border-radius:inherit}.live-round-meta{display:grid;gap:4px;font-size:10px;color:#526d75}.live-round-meta span:nth-child(2){font-weight:800;color:var(--petrol)}
.guard-profile-kpis{grid-template-columns:repeat(6,1fr)}.profile-months{display:grid;gap:8px}.profile-month{display:grid;grid-template-columns:170px 1fr 58px;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.profile-month>div:first-child strong,.profile-month>div:first-child span{display:block}.profile-month>div:first-child span{font-size:9px;color:var(--muted);margin-top:2px}.profile-month>b{text-align:right;color:var(--petrol)}
.search-large{display:flex;gap:10px}.search-large input{flex:1}.global-search-results{display:grid;gap:7px;margin-top:14px}.global-search-results>a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:var(--ink);background:#fff}.global-search-results>a:hover{border-color:#9dc7d6;background:#f8fcfd}.global-search-results strong,.global-search-results small{display:block}.global-search-results small{color:var(--muted);font-size:9px;margin-top:2px}
.schedule-list{display:grid;gap:9px}.schedule-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px}.schedule-list strong,.schedule-list span,.schedule-list small{display:block}.schedule-list span{font-size:10px;color:var(--petrol);margin-top:3px}.schedule-list small{font-size:9px;color:var(--muted);margin-top:3px}
.notification-center.advanced{display:grid;gap:9px}.notification-center.advanced .notification-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notification-center.advanced .notification-item.resolved{opacity:.58}.notification-meta{display:flex;gap:7px;align-items:center;margin-bottom:5px;font-size:9px}.notification-actions{display:flex;gap:6px;align-items:center}.notification-actions form{margin:0}
.audit-detail{white-space:normal;word-break:break-word;max-width:320px;display:block;background:#f5f8f8;border-radius:8px;padding:6px}
@media(max-width:1050px){.guard-profile-kpis{grid-template-columns:repeat(3,1fr)}.admin-global-search{display:none}}@media(max-width:700px){.guard-profile-kpis{grid-template-columns:repeat(2,1fr)}.profile-month{grid-template-columns:1fr}.profile-month>b{text-align:left}.search-large{flex-direction:column}}


/* v3.2 visual media */
.guard-photo-preview{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:14px}.guard-photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:16px}.guard-list-person{display:flex;align-items:center;gap:10px}.guard-list-person>span:last-child{min-width:0}.guard-list-avatar{width:40px;height:40px;border-radius:12px;object-fit:cover;flex:0 0 auto}.guard-list-avatar.initials{display:grid;place-items:center;background:#E3F0F2;color:var(--petrol);font-weight:900}.guard-profile-heading{display:flex;align-items:center;gap:14px}.guard-profile-heading>img,.guard-profile-heading>span{width:62px;height:62px;border-radius:18px;object-fit:cover;flex:0 0 auto}.guard-profile-heading>span{display:grid;place-items:center;background:#E3F0F2;color:var(--petrol);font-size:22px;font-weight:900}.checkpoint-admin-thumb{width:76px;height:54px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.scanner-guard-line{display:flex;align-items:center;gap:10px}.scanner-guard-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#E6F0F2;color:#004B62;font-size:16px;font-weight:900;overflow:hidden;flex:0 0 auto}.scanner-guard-avatar.has-photo{background:#DDE8EA}.scanner-guard-avatar img{width:100%;height:100%;object-fit:cover}.next-point-photo{width:100%;margin:8px 0 10px;border-radius:18px;overflow:hidden;border:1px solid rgba(0,80,113,.14);background:#EAF1F3;aspect-ratio:16/8}.next-point-photo img{display:block;width:100%;height:100%;object-fit:cover}.next-panel .next-point-photo+h3{margin-top:2px}
.public-real-ui{background:#F4F8F9}.public-ui-showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;margin-top:28px}.public-ui-window{background:#fff;border:1px solid #DDE8EA;border-radius:22px;padding:18px;box-shadow:0 14px 35px rgba(10,44,57,.08)}.public-ui-window-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;font-weight:800;color:#567078}.public-ui-window-head b{color:#17705E;background:#E5F5EF;border-radius:999px;padding:6px 9px}.public-live-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #EDF2F3}.public-live-avatar{width:38px;height:38px;border-radius:12px;background:#DCEEF2;color:#005071;display:grid;place-items:center;font-weight:900}.public-live-row strong,.public-live-row small{display:block}.public-live-row small{color:#6F858C;margin-top:3px}.public-live-progress{font-weight:900;color:#005071}.public-calendar-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.public-cal-day{min-height:74px;border:1px solid #E2EAEC;border-radius:10px;padding:6px;font-size:10px}.public-cal-day>b{display:block;margin-bottom:5px;color:#48626B}.public-person-tag{display:block;padding:4px 6px;margin:3px 0;border-radius:999px;background:#EAF4FC;color:#1E5F91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}.public-person-tag.alt{background:#E7F8F3;color:#21776D}.public-phone-point{border-radius:20px;background:#071E2B;color:white;padding:16px}.public-phone-point .photo-placeholder{width:100%;aspect-ratio:16/8;border-radius:14px;background:linear-gradient(135deg,#173E4D,#265B69);display:grid;place-items:center;color:#CDE0E5;font-weight:800}.public-phone-point small,.public-phone-point strong{display:block}.public-phone-point small{color:#95AFB7;margin-top:10px}.public-phone-point strong{font-size:21px;margin-top:3px}@media(max-width:820px){.public-ui-showcase{grid-template-columns:1fr}}


/* v3.2.1 · iconografía de navegación y contador público */
.admin-nav a{display:flex;align-items:center;gap:10px}.admin-nav a[data-icon]::before{content:attr(data-icon);display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:7px;background:#F0F5F6;color:#48666F;font-size:14px;font-weight:900}.admin-nav a.active[data-icon]::before{background:#CFE6EF;color:#005071}.sa-topnav a{display:flex;align-items:center;gap:7px;font-size:11px}.sa-topnav a>span{display:inline}.public-nav{position:relative}.public-round-counter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:7px;padding:7px 14px;border:1px solid rgba(132,190,204,.28);border-radius:999px;background:rgba(255,255,255,.055);white-space:nowrap}.public-round-counter span{font-size:9px;letter-spacing:.09em;color:#90B9C4;font-weight:900}.public-round-counter strong{font-size:17px;color:#fff;line-height:1}.public-round-counter small{font-size:10px;color:#BBD0D5}.sa-public-counter-setting{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#F8FBFB}.sa-public-counter-setting>div{display:flex;align-items:baseline;gap:8px;margin:9px 0 2px}.sa-public-counter-setting>div strong{font-size:22px;color:var(--petrol)}.sa-public-counter-setting>div span{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.public-round-counter{left:auto;right:150px;transform:translateY(-50%)}.public-round-counter span,.public-round-counter small{display:none}}
@media(max-width:760px){.public-round-counter{position:static;transform:none;margin-left:auto;margin-right:8px;padding:6px 10px}.public-round-counter strong{font-size:14px}.public-nav nav{margin-left:0}}

/* v3.2.2 UX: perfil, paginación y colores de nocheros */
.guard-profile-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0 18px}.guard-stat{min-width:0;padding:16px;border:1px solid #DDE7E9;border-radius:16px;background:#fff;display:grid;gap:4px;box-shadow:0 4px 14px rgba(11,64,82,.04)}.guard-stat span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#6D8389}.guard-stat strong{font-size:26px;line-height:1;color:#064F69}.guard-stat small{font-size:9px;color:#809398;line-height:1.3}.guard-stat.success{background:#EDF9F6;border-color:#B8E1D6}.guard-stat.complete{background:#EEF7FC;border-color:#C4DBEA}.guard-stat.warning{background:#FFF7E8;border-color:#EED7A7}.guard-stat.extra{background:#F3EFFA;border-color:#D8C9EA}.guard-stat.incident{background:#FFF0F2;border-color:#E9C2C8}
.table-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.table-section-head h2{margin:0}.table-pager-size label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:#60777D}.table-pager-size select{min-width:66px;padding:7px 8px;border:1px solid #CBD9DC;border-radius:9px;background:#fff}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;flex-wrap:wrap}.table-page-btn{min-width:34px;height:34px;border:1px solid #D0DEE1;border-radius:9px;background:#fff;color:#31525D;font-weight:850;cursor:pointer}.table-page-btn:hover:not(:disabled),.table-page-btn.active{background:#E8F3F7;border-color:#8CBCCB;color:#005572}.table-page-btn:disabled{opacity:.4;cursor:default}.table-page-info{margin-left:6px;font-size:10px;color:#71868C;font-weight:750}.license-capacity{display:inline-flex;padding:8px 11px;border-radius:999px;background:#EDF6F8;border:1px solid #D2E4E8;color:#0A5870;font-size:10px;font-weight:900;white-space:nowrap}
.shift-color-8{--shift-color:#9B6B28;--shift-bg:#FBF3E5;--shift-border:#DDC49C}.shift-color-9{--shift-color:#6C789B;--shift-bg:#EEF0F7;--shift-border:#BCC3D6}.shift-color-10{--shift-color:#9A4D70;--shift-bg:#F8ECF2;--shift-border:#DDB7C9}.shift-color-11{--shift-color:#517E45;--shift-bg:#EEF6EB;--shift-border:#BAD3B3}
@media(max-width:1100px){.guard-profile-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.guard-profile-summary{grid-template-columns:repeat(2,1fr)}.table-section-head{align-items:flex-start;flex-direction:column}}

/* v3.3.0 · captura visual y orden táctil de nodos */
.node-photo-capture{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfb;display:grid;gap:8px}.node-photo-capture>strong{color:var(--petrol)}.node-photo-capture .field-help{margin:0}.node-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.node-camera-button,.node-gallery-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;border-radius:10px;font-weight:800;font-size:12px;cursor:pointer;border:1px solid #b9d7df;background:#e9f5f6;color:#07566b}.node-gallery-button{background:#fff;color:#40565d;border-color:#d3e0e3}.node-camera-button input,.node-gallery-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.node-photo-preview{display:flex;align-items:center;gap:10px;padding-top:4px}.node-photo-preview img{width:110px;height:76px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.node-photo-preview button{border:0;background:transparent;color:var(--red);font-weight:800;cursor:pointer}.route-order-control{display:flex;align-items:center;gap:8px}.route-order-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf4f6;color:var(--petrol);font-weight:900}.route-order-buttons{display:flex;flex-direction:column;gap:3px}.route-order-btn{width:28px;height:24px;padding:0;border:1px solid #cbdde1;border-radius:7px;background:#fff;color:var(--petrol);font-weight:900;cursor:pointer;line-height:1}.route-order-btn:hover:not(:disabled){background:#eaf4f6}.route-order-btn:disabled{opacity:.3;cursor:not-allowed}@media(max-width:700px){.node-photo-actions{display:grid;grid-template-columns:1fr 1fr}.node-camera-button,.node-gallery-button{min-height:48px}.route-order-btn{width:34px;height:30px}.route-order-number{width:32px;height:32px}}


/* v3.4.3 · FAQ comercial y de compatibilidad NFC */
.public-faq-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:none}.public-faq-link:hover{color:#fff}
.faq-modal{width:min(880px,calc(100% - 28px));max-height:min(86vh,900px);padding:0;border:0;border-radius:24px;background:#fff;color:#18313a;box-shadow:0 30px 90px rgba(0,25,35,.34)}
.faq-modal::backdrop{background:rgba(2,18,26,.72);backdrop-filter:blur(3px)}
.faq-modal-shell{padding:26px;overflow:auto;max-height:min(86vh,900px)}
.faq-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:18px;border-bottom:1px solid #e3ebed}.faq-modal-head h2{margin:7px 0 7px;font-size:28px;line-height:1.1;color:#073d50}.faq-modal-head p{margin:0;color:#687f86;max-width:620px}.faq-close{width:42px;height:42px;border-radius:50%;border:1px solid #d7e2e5;background:#f6f9fa;color:#43616a;font-size:26px;line-height:1;cursor:pointer;flex:0 0 auto}.faq-close:hover{background:#eaf2f4;color:#073d50}
.faq-highlight{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;margin:18px 0;padding:15px 16px;border:1px solid #b9ddd6;border-radius:16px;background:#eef9f6}.faq-highlight-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#167d70;color:#fff;font-size:12px;font-weight:900;letter-spacing:.05em}.faq-highlight strong,.faq-highlight span{display:block}.faq-highlight strong{color:#155e55;margin-bottom:3px}.faq-highlight span{font-size:13px;line-height:1.45;color:#496f69}
.faq-list{display:grid;gap:8px}.faq-list details{border:1px solid #dde7e9;border-radius:14px;background:#fff;overflow:hidden}.faq-list summary{list-style:none;cursor:pointer;padding:14px 44px 14px 15px;font-weight:850;color:#174452;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf4f5;color:#31616e;font-size:17px}.faq-list details[open] summary::after{content:'–'}.faq-list details[open] summary{background:#f7fafb}.faq-answer{padding:0 15px 15px;font-size:13px;line-height:1.6;color:#5c737a}.faq-answer strong{color:#194d5a}.faq-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:15px 16px;border-radius:14px;background:#071e2b;color:#b9cdd3;font-size:12px}.faq-footer a{color:#fff;font-weight:850;text-decoration:none}
@media(max-width:760px){.public-faq-link{display:none}.faq-modal{width:calc(100% - 16px);max-height:92vh;border-radius:18px}.faq-modal-shell{padding:18px;max-height:92vh}.faq-modal-head h2{font-size:23px}.faq-highlight{grid-template-columns:1fr}.faq-highlight-icon{width:42px;height:42px}.faq-footer{align-items:flex-start;flex-direction:column}}


/* v3.4.4 · pulido landing pública, header fijo y FAQ */
.public-nav{position:sticky!important;top:0!important;z-index:1200!important;box-shadow:0 8px 28px rgba(1,18,27,.18)}
.public-nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(65,171,158,.55),transparent);pointer-events:none}
.public-faq-link{display:inline-flex;align-items:center;gap:7px!important;color:#C8D9DD!important;font-size:13px!important;font-weight:750!important}
.public-faq-link>span,.public-faq-bottom-btn>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(65,171,158,.14);border:1px solid rgba(112,210,195,.38);color:#70D2C3;font-size:12px;font-weight:950}
.public-faq-link:hover{color:#fff!important}

.public-capabilities{background:linear-gradient(180deg,#F8FBFB 0%,#EEF5F6 100%);border-bottom:1px solid #DFE9EB}
.public-capabilities-head{max-width:830px}
.public-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.public-capability-grid article{position:relative;min-height:210px;padding:24px;border-radius:20px;background:rgba(255,255,255,.82);border:1px solid #DCE8EA;box-shadow:0 14px 35px rgba(7,56,70,.055);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.public-capability-grid article:hover{transform:translateY(-3px);border-color:#B8D8DE;box-shadow:0 20px 44px rgba(7,56,70,.09)}
.public-capability-grid article>i{position:absolute;right:17px;top:15px;font-style:normal;font-size:10px;font-weight:950;letter-spacing:.12em;color:#A5B7BB}
.public-capability-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#E0F3F0,#E9F2F7);border:1px solid #C9E1E0;color:#087D72;font-size:22px;font-weight:900;margin-bottom:22px}
.public-capability-grid h3{margin:0 0 8px;color:#123D49;font-size:18px}.public-capability-grid p{margin:0;color:#687F86;font-size:13px;line-height:1.58}

.client-problem-grid article,.admin-value-list article{box-shadow:0 9px 26px rgba(9,53,70,.04)}
.public-use-cases{background:#F8FBFB}
.use-case-grid article{background:#fff!important;border-color:#DFE9EB!important;box-shadow:0 10px 28px rgba(9,53,70,.04)}
.use-case-grid article strong{color:#16434F}.use-case-grid article p{color:#6E858B}

.public-tech-band{padding:64px clamp(22px,7vw,105px);display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;background:linear-gradient(135deg,#082A38,#071E2B);color:#fff;border-top:1px solid rgba(112,210,195,.12);border-bottom:1px solid rgba(112,210,195,.12)}
.public-tech-copy h2{font-size:clamp(30px,3.3vw,46px);line-height:1.04;letter-spacing:-.035em;margin:12px 0;color:#fff}.public-tech-copy p{max-width:610px;color:#9EB8BE;font-size:15px;line-height:1.6}
.public-tech-items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.public-tech-items>div{padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.045);min-height:110px}.public-tech-items b,.public-tech-items strong,.public-tech-items span{display:block}.public-tech-items b{font-size:8px;letter-spacing:.13em;color:#70D2C3}.public-tech-items strong{font-size:16px;margin:10px 0 5px}.public-tech-items span{font-size:10px;line-height:1.45;color:#91ADB4}

.public-faq-bottom{padding:58px clamp(22px,7vw,105px);display:flex;align-items:center;justify-content:space-between;gap:34px;background:#0A2837;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.public-faq-bottom h2{margin:10px 0 8px;max-width:720px;font-size:clamp(27px,3vw,40px);line-height:1.08;letter-spacing:-.035em}.public-faq-bottom p{margin:0;max-width:660px;color:#9FB8BE;font-size:14px;line-height:1.55}
.public-faq-bottom-btn{flex:0 0 auto;min-height:50px;padding:0 19px;border-radius:13px;border:1px solid rgba(112,210,195,.34);background:rgba(65,171,158,.11);color:#fff;display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.public-faq-bottom-btn:hover{background:rgba(65,171,158,.20);border-color:rgba(112,210,195,.58)}

/* FAQ: paleta corregida y contraste consistente con Faro */
.faq-modal{background:#071E2B;color:#EAF6F7;border:1px solid rgba(112,210,195,.20);box-shadow:0 34px 100px rgba(0,15,23,.58);overflow:hidden}
.faq-modal-shell{background:radial-gradient(circle at 85% 0,rgba(65,171,158,.10),transparent 28%),#071E2B}
.faq-modal-head{border-bottom-color:rgba(255,255,255,.10)}
.faq-modal-head h2{color:#F3FBFB}.faq-modal-head p{color:#9EB8BE}
.faq-modal .public-kicker.dark{color:#70D2C3}.faq-modal .public-kicker.dark span{background:#41AB9E}
.faq-close{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#BDD2D7}.faq-close:hover{background:rgba(255,255,255,.11);color:#fff}
.faq-highlight{border-color:rgba(112,210,195,.24);background:rgba(65,171,158,.09)}.faq-highlight-icon{background:#41AB9E;color:#06252F}.faq-highlight strong{color:#7DDBCD}.faq-highlight span{color:#B7CDD2}
.faq-list{gap:9px}.faq-list details{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.035)}.faq-list summary{color:#E8F4F5}.faq-list summary::after{background:rgba(65,171,158,.12);color:#70D2C3}.faq-list details[open] summary{background:rgba(65,171,158,.075)}.faq-answer{color:#AFC5CA}.faq-answer strong{color:#E4F3F4}.faq-footer{border:1px solid rgba(255,255,255,.08);background:#041720;color:#9FB8BE}.faq-footer a{color:#70D2C3}

@media(max-width:1050px){.public-capability-grid{grid-template-columns:repeat(2,1fr)}.public-tech-band{grid-template-columns:1fr}.public-tech-items{max-width:760px}}
@media(max-width:900px){
  .public-nav{display:grid;grid-template-columns:auto 1fr auto;gap:8px;height:62px}
  .public-nav nav{margin:0!important}.public-nav nav>a:not(.public-login-btn),.public-nav nav .public-faq-link{display:none!important}
  .public-round-counter{position:static!important;justify-self:center;margin:0!important;transform:none!important;right:auto!important;left:auto!important;padding:5px 9px}.public-round-counter strong{font-size:13px}.public-round-counter span,.public-round-counter small{display:none}
  .public-brand{font-size:18px}.public-brand img{width:31px;height:31px}.public-login-btn{padding:8px 10px!important;font-size:11px!important;white-space:nowrap}
}
@media(max-width:700px){.public-capability-grid{grid-template-columns:1fr}.public-capability-grid article{min-height:auto}.public-tech-items{grid-template-columns:1fr}.public-faq-bottom{align-items:flex-start;flex-direction:column}.public-faq-bottom-btn{width:100%;justify-content:center}.faq-modal{width:calc(100% - 14px);max-height:92vh;border-radius:19px}.faq-modal-shell{padding:18px;max-height:92vh}.faq-modal-head h2{font-size:23px}.faq-highlight{grid-template-columns:1fr}.faq-highlight-icon{width:42px;height:42px}.faq-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.public-nav{padding:0 10px}.public-brand span{display:none}.public-round-counter{padding:5px 8px}.public-login-btn{padding:8px 9px!important}.public-capabilities,.public-section{padding-left:16px;padding-right:16px}}


/* Faro v3.4.5 · landing híbrida inspirada en la maqueta, manteniendo la paleta actual */
.public-live-overview{padding:72px clamp(22px,7vw,105px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:54px;align-items:center;background:#F4F8F8;border-bottom:1px solid #DCE8EA}
.public-live-copy h2{font-size:clamp(30px,3.6vw,50px);line-height:1.03;letter-spacing:-.04em;color:#12343E;margin:13px 0 14px;max-width:720px}.public-live-copy>p{font-size:15px;line-height:1.6;color:#687F86;max-width:620px}
.public-live-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px}.public-live-kpis>div{padding:14px;border:1px solid #D9E5E7;background:#fff;border-radius:15px;box-shadow:0 8px 24px rgba(7,56,70,.04)}.public-live-kpis small,.public-live-kpis strong,.public-live-kpis span{display:block}.public-live-kpis small{font-size:8px;color:#7D969D;font-weight:900;letter-spacing:.08em}.public-live-kpis strong{font-size:26px;color:#005071;margin:5px 0 2px}.public-live-kpis span{font-size:9px;color:#8BA0A5}
.public-live-board{border:1px solid rgba(112,210,195,.20);border-radius:24px;background:linear-gradient(145deg,#082D3A,#071E2B);color:#fff;padding:18px;box-shadow:0 26px 60px rgba(7,30,43,.18)}
.live-board-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:900;letter-spacing:.12em;color:#80A3AB}.live-board-top b{color:#6BD5A6;font-size:8px}
.live-board-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px;margin-top:14px}.live-route-card,.live-alerts-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:16px;padding:14px}.live-route-head span,.live-route-head strong{display:block}.live-route-head span{font-size:8px;color:#7EA0A8;text-transform:uppercase;letter-spacing:.08em}.live-route-head strong{font-size:18px;margin-top:5px}.live-route-progress{height:8px;background:rgba(255,255,255,.08);border-radius:999px;margin:18px 0 8px;overflow:hidden}.live-route-progress i{display:block;width:var(--progress);height:100%;background:linear-gradient(90deg,#41AB9E,#70D2C3);border-radius:inherit}.live-route-meta{display:flex;justify-content:space-between;gap:12px;color:#86A7AE;font-size:9px}.live-route-meta b{color:#DFF4F1}.live-node-line{display:flex;align-items:center;gap:8px;margin-top:18px}.live-node-line i{width:14px;height:14px;border-radius:50%;border:1px solid #496E77;background:#0A3442;position:relative}.live-node-line i:not(:last-child)::after{content:"";position:absolute;left:13px;top:6px;width:9px;height:1px;background:#365963}.live-node-line i.done{background:#41AB9E;border-color:#70D2C3}.live-node-line i.active{background:#F29100;border-color:#F7B94D;box-shadow:0 0 0 5px rgba(242,145,0,.12)}
.live-alerts-head{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#AEC4C9;font-weight:850}.live-alerts-head b{color:#F1B263}.live-alert-row{display:grid;grid-template-columns:9px 1fr;gap:9px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.live-alert-row:last-child{border-bottom:0}.live-alert-row>i{width:8px;height:8px;border-radius:50%;background:#41AB9E;margin-top:4px}.live-alert-row.warning>i{background:#F29100;box-shadow:0 0 0 4px rgba(242,145,0,.10)}.live-alert-row span strong,.live-alert-row span small{display:block}.live-alert-row span strong{font-size:9px;color:#EAF4F5}.live-alert-row span small{font-size:7.5px;color:#789BA4;margin-top:3px}
.problem-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#E9F6F4;border:1px solid #CBE4E0;color:#087D72;font-size:16px;font-weight:950;margin-bottom:16px}.client-problem-grid article:nth-child(3) .problem-icon{background:#FFF1E2;border-color:#F1D1A6;color:#B86500}
.public-tech-side{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:stretch}.public-tech-items{height:100%}.public-phone-mini{border:1px solid rgba(112,210,195,.20);border-radius:26px;background:#041A24;padding:10px;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.22);display:flex;flex-direction:column}.phone-mini-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#8AA8AF;padding:4px 2px 9px}.phone-mini-top span{font-weight:900;color:#fff}.phone-mini-photo{min-height:82px;border-radius:14px;background:linear-gradient(145deg,rgba(65,171,158,.18),rgba(30,111,183,.12)),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 8px,transparent 8px 16px);display:flex;flex-direction:column;justify-content:flex-end;padding:10px}.phone-mini-photo span{font-size:7px;color:#8FB1B8}.phone-mini-photo b{font-size:13px;margin-top:2px}.phone-mini-next{padding:12px 3px}.phone-mini-next small,.phone-mini-next strong,.phone-mini-next span{display:block}.phone-mini-next small{font-size:7px;letter-spacing:.09em;color:#70D2C3}.phone-mini-next strong{font-size:18px;margin:4px 0}.phone-mini-next span{font-size:8px;color:#8CA9B0}.phone-mini-action{margin-top:auto;padding:10px 8px;border-radius:10px;background:rgba(65,171,158,.12);border:1px solid rgba(112,210,195,.22);font-size:8px;font-weight:900;color:#84DCCE;text-align:center}
@media(max-width:1050px){.public-live-overview{grid-template-columns:1fr}.public-live-board{max-width:820px}.public-tech-side{grid-template-columns:1fr}.public-phone-mini{display:none}}
@media(max-width:700px){.public-live-overview{padding:54px 16px}.public-live-kpis{grid-template-columns:1fr 1fr}.public-live-kpis>div:last-child{grid-column:1/-1}.live-board-grid{grid-template-columns:1fr}.public-live-board{padding:13px}.live-route-meta{flex-direction:column;gap:4px}}

/* Faro v3.5.0 · Seguridad SuperAdmin */
.sa-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.sa-security-panel{min-width:0}.sa-security-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.sa-security-title h2{margin:1px 0 4px}.sa-security-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#E7F5F3;border:1px solid #CBE4E0;font-size:18px}.sa-trust-state{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid #DDE7E9;border-radius:13px;background:#F7FAFA;margin-bottom:13px}.sa-trust-state strong{color:var(--petrol)}.sa-trust-state span{font-size:10px;color:var(--muted);line-height:1.4}.sa-trust-state.trusted{background:#EAF7F3;border-color:#BDE2D5}.sa-trust-state.trusted strong{color:#176B60}.sa-mini-list{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.sa-mini-list>strong{display:block;font-size:11px;color:var(--petrol);margin-bottom:7px}.sa-mini-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #EDF2F3}.sa-mini-list>div:last-child{border-bottom:0}.sa-mini-list span b,.sa-mini-list span small{display:block}.sa-mini-list span b{font-size:10px}.sa-mini-list span small{font-size:8px;color:var(--muted);margin-top:2px}.sa-session-list{display:grid;gap:8px;margin-bottom:14px}.sa-session-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #E0E9EB;border-radius:13px;background:#F9FBFB}.sa-session-item.current{border-color:#A9D9D1;background:#F0F9F7}.sa-session-item>div:first-child strong,.sa-session-item>div:first-child span{display:block}.sa-session-item>div:first-child strong{font-size:11px;color:var(--petrol)}.sa-session-item>div:first-child span{font-size:8.5px;color:var(--muted);margin-top:3px}.sa-session-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sa-session-badges .status{font-size:7px}.btn.danger{background:#FFF1F3;border-color:#E9B6BD;color:#A51224}.btn.danger:hover{background:#FBE5E8}@media(max-width:900px){.sa-security-grid{grid-template-columns:1fr}.sa-session-item{align-items:flex-start;flex-direction:column}.sa-session-badges{justify-content:flex-start}}


/* Faro v3.5.1 · Scroll FAQ integrado a la estética */
.faq-modal-shell{
  scrollbar-width:thin;
  scrollbar-color:rgba(112,210,195,.48) transparent;
  overscroll-behavior:contain;
}
.faq-modal-shell::-webkit-scrollbar{width:8px}
.faq-modal-shell::-webkit-scrollbar-track{background:transparent;margin:12px 0}
.faq-modal-shell::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(112,210,195,.62),rgba(65,171,158,.38));
  border:2px solid #071E2B;
  border-radius:999px;
}
.faq-modal-shell::-webkit-scrollbar-thumb:hover{background:rgba(112,210,195,.72)}
.faq-modal-shell::-webkit-scrollbar-corner{background:transparent}

/* FAQ · dispositivos compatibles */
.faq-device-guide .faq-answer{padding-bottom:18px}
.faq-device-guide .faq-answer>p:first-child{margin-top:2px}
.faq-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.faq-device-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(255,255,255,.035)}
.faq-device-card.recommended-low{border-color:rgba(112,210,195,.28);background:rgba(65,171,158,.07)}
.faq-device-card strong{font-size:14px;color:#F0FAFB}.faq-device-card small{font-size:11px;color:#8EABB2}.faq-device-card b{font-size:13px;color:#70D2C3}.faq-device-card p{margin:2px 0 0!important;font-size:11px;line-height:1.45;color:#AFC5CA}
.faq-device-badge{align-self:flex-start;padding:4px 7px;border-radius:999px;background:rgba(65,171,158,.12);border:1px solid rgba(112,210,195,.20);color:#70D2C3;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.faq-device-download{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 14px;border:1px solid rgba(112,210,195,.16);border-radius:14px;background:#061B26}.faq-device-download strong,.faq-device-download span{display:block}.faq-device-download strong{color:#EAF6F7;font-size:12px}.faq-device-download span{margin-top:3px;color:#8EABB2;font-size:10px;line-height:1.4}
.faq-download-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:10px;background:#41AB9E;color:#06252F!important;text-decoration:none;font-size:10px;font-weight:950}.faq-download-btn:hover{filter:brightness(1.06)}
.faq-device-note{margin:11px 0 0!important;font-size:10px!important;color:#78959C!important}
@media(max-width:760px){.faq-device-grid{grid-template-columns:1fr}.faq-device-download{align-items:flex-start;flex-direction:column}.faq-download-btn{width:100%}}

/* v3.6.0 cobranza */
.sa-kpi-link{display:flex!important;flex-direction:column;text-decoration:none;color:inherit}.sa-kpi-link small{font-size:9px;color:#338B83;margin-top:3px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.org-readonly-banner{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px;padding:14px 16px;border:1px solid #EAC77A;border-radius:14px;background:#FFF7E5;color:#704A00}.org-readonly-banner strong,.org-readonly-banner span{display:block}.org-readonly-banner span{font-size:10px;margin-top:4px}.readonly-danger-zone{margin-top:18px;border-color:#E7B7BD}.readonly-danger-actions,.readonly-danger-actions form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.btn.danger{background:#FFF0F2;border-color:#E8A9B2;color:#A51023}.mobile-counter-label{display:none!important}@media(max-width:760px){.public-round-counter .desktop-counter-label{display:none!important}.public-round-counter .mobile-counter-label{display:inline!important}.public-round-counter{gap:4px!important}.public-round-counter .mobile-counter-label{font-size:9px!important;color:#BBD0D5!important;font-weight:800!important;letter-spacing:0!important}.org-readonly-banner{flex-direction:column;align-items:flex-start}.org-readonly-banner .btn{width:100%;text-align:center}}


/* v3.6.1 · prueba pública de compatibilidad NFC */
.public-nfc-tester-cta{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(80,203,191,.28);border-radius:16px;background:rgba(5,37,48,.44);backdrop-filter:blur(12px)}
.public-nfc-tester-cta.hidden{display:none!important}.public-nfc-tester-cta div{display:grid;gap:3px}.public-nfc-tester-cta strong{color:#fff;font-size:14px}.public-nfc-tester-cta span{color:#99B8C1;font-size:12px;line-height:1.35}.public-nfc-tester-cta a{flex:0 0 auto;padding:10px 13px;border-radius:11px;background:#45B9AE;color:#062B36;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 8px 20px rgba(69,185,174,.14)}

.nfc-test-body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 8%,rgba(48,175,164,.13),transparent 30%),linear-gradient(180deg,#061C28 0%,#082630 100%);color:#F5FAFB;font-family:var(--font,Arial,sans-serif)}
.nfc-test-topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 max(18px,env(safe-area-inset-left));border-bottom:1px solid rgba(86,193,184,.18);background:rgba(5,28,39,.88);backdrop-filter:blur(18px)}
.nfc-test-back{justify-self:start;display:inline-flex;align-items:center;gap:7px;color:#D9E9ED;text-decoration:none;font-weight:800;font-size:14px}.nfc-test-back:first-letter{font-size:20px}.nfc-test-brand{justify-self:center;color:#fff}.nfc-test-top-spacer{justify-self:end;width:55px}
.nfc-test-shell{width:min(680px,calc(100% - 30px));margin:0 auto;padding:38px 0 60px}.nfc-test-card{border:1px solid rgba(104,190,184,.22);border-radius:26px;background:rgba(11,47,59,.76);padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:hidden}.nfc-test-card.hidden{display:none}.nfc-test-card h1{margin:10px 0 12px;font-size:clamp(30px,7vw,48px);line-height:1.02;color:#fff}.nfc-test-intro,.nfc-test-card>p{color:#AFC7CE;font-size:15px;line-height:1.55}.nfc-test-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:#2EAFA3;color:#052934;font-weight:950;letter-spacing:.08em}.nfc-test-icon.muted{background:#163F4A;color:#8CB3BA}
.nfc-test-visual{position:relative;width:210px;height:210px;margin:26px auto;display:grid;place-items:center}.nfc-test-rings,.nfc-test-rings i{position:absolute;inset:0;border-radius:50%}.nfc-test-rings i{border:1px solid rgba(68,190,179,.25)}.nfc-test-rings i:nth-child(2){inset:28px}.nfc-test-rings i:nth-child(3){inset:56px}.nfc-test-core{position:relative;z-index:2;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#0B4150;border:1px solid rgba(91,204,194,.45);color:#6FD6CD;font-weight:950;box-shadow:0 0 0 10px rgba(73,190,180,.04)}.nfc-test-visual.reading .nfc-test-rings i{animation:nfcPulse 1.6s ease-out infinite}.nfc-test-visual.reading .nfc-test-rings i:nth-child(2){animation-delay:.25s}.nfc-test-visual.reading .nfc-test-rings i:nth-child(3){animation-delay:.5s}.nfc-test-visual.success .nfc-test-core{background:#45B9AE;color:#062B36;box-shadow:0 0 0 16px rgba(69,185,174,.1),0 0 45px rgba(69,185,174,.28)}
@keyframes nfcPulse{0%{transform:scale(.82);opacity:.18}50%{opacity:.8}100%{transform:scale(1.12);opacity:0}}
.nfc-test-status{display:grid;gap:4px;padding:14px 16px;border-radius:14px;background:#0B3440;border:1px solid rgba(112,169,179,.18);text-align:center}.nfc-test-status strong{font-size:15px}.nfc-test-status span{font-size:12px;color:#9EBCC4}.nfc-test-status.working{border-color:rgba(69,185,174,.36);background:#0B3A43}.nfc-test-status.success{border-color:rgba(72,204,153,.4);background:#0B3D36}.nfc-test-status.error{border-color:rgba(222,110,110,.36);background:#43272D}
.nfc-test-button{width:100%;margin-top:14px;border:0;border-radius:14px;padding:15px 18px;background:#45B9AE;color:#062A34;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 12px 28px rgba(69,185,174,.16)}.nfc-test-button:disabled{opacity:.55;cursor:wait}.nfc-test-result{display:grid;gap:7px;margin-top:22px}.nfc-test-result label{font-size:12px;font-weight:900;color:#84CFC8;text-transform:uppercase;letter-spacing:.07em}.nfc-test-result input{width:100%;box-sizing:border-box;border:1px solid rgba(119,176,184,.25);border-radius:13px;background:#061F29;color:#EAF7F8;padding:13px 14px;font:700 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}.nfc-compatible-box{margin-top:14px;display:flex;gap:12px;align-items:center;padding:15px;border-radius:15px;background:#103E37;border:1px solid rgba(77,205,155,.36)}.nfc-compatible-box.hidden{display:none}.nfc-compatible-check{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#4CCE9B;color:#072F28;font-size:22px;font-weight:1000;flex:0 0 auto}.nfc-compatible-box div:last-child{display:grid;gap:3px}.nfc-compatible-box strong{font-size:14px;color:#F4FFFA}.nfc-compatible-box span{font-size:12px;color:#A8D6C4}.nfc-test-privacy{margin:16px 0 0!important;font-size:11px!important;color:#7E9EA6!important;text-align:center}.nfc-test-home{display:inline-flex;margin-top:10px;text-decoration:none}
@media(max-width:700px){.public-nfc-tester-cta{align-items:stretch;flex-direction:column}.public-nfc-tester-cta a{text-align:center}.nfc-test-topbar{min-height:64px}.nfc-test-shell{padding:24px 0 44px}.nfc-test-card{padding:22px 18px;border-radius:22px}.nfc-test-visual{width:180px;height:180px}.nfc-test-card h1{font-size:36px}.nfc-test-back span{display:none}}


/* Faro 3.6.3 · portería mobile polish */
.scanner-guard-line{align-items:center!important;gap:12px!important}
.scanner-guard-avatar{width:64px!important;height:64px!important;border-radius:18px!important;font-size:20px!important}
.scanner-guard-avatar img{object-fit:contain!important;background:#dfeaec!important}
.guard-info h2{font-size:clamp(22px,5.5vw,29px)!important;line-height:1.02!important;white-space:normal!important;overflow:visible!important;text-overflow:initial!important}
.routeMeta,.guard-info .small{font-size:12px!important}
.next-point-photo{aspect-ratio:4/3!important;max-height:190px!important;border-radius:18px!important}
.travel-panel,.ready-panel{padding:14px 12px!important}
.patrol-card{display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
.patrol-top,.progress-track,.nfc-reconnect-banner,.travel-panel,.ready-panel{flex:0 0 auto!important}
.patrol-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;position:sticky!important;bottom:0!important;z-index:4!important;background:linear-gradient(180deg,rgba(250,252,252,0) 0%, rgba(250,252,252,.96) 18%, rgba(250,252,252,1) 100%)!important;padding-top:12px!important;margin-top:auto!important}
.patrol-actions .micro-action{height:50px!important;min-height:50px!important;max-height:50px!important;font-size:12px!important;border-radius:14px!important;box-shadow:0 8px 18px rgba(0,60,86,.08)!important}
@media(max-width:420px){
  .scanner-shell{padding-left:8px!important;padding-right:8px!important}
  .scanner-guard-avatar{width:60px!important;height:60px!important}
  .guard-info h2{font-size:clamp(20px,6vw,26px)!important}
  .progress-box strong{font-size:22px!important}
  .next-panel h3{font-size:clamp(22px,6.4vw,30px)!important}
  .travel-countdown{font-size:clamp(50px,16vw,70px)!important}
  .patrol-actions .micro-action{font-size:11px!important;padding:0 8px!important}
}

/* Faro 3.6.3 · SuperAdmin modals and quick actions */
.page-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sa-modal-overlay{position:fixed;inset:0;background:rgba(5,22,32,.64);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:2000}
.sa-modal-overlay.hidden{display:none!important}
.sa-modal-card{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #d9e6ea;border-radius:24px;box-shadow:0 22px 70px rgba(3,19,29,.22);padding:18px 18px 20px}
.sa-modal-card.narrow{width:min(620px,96vw)}
.sa-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.sa-modal-head h2{margin:0;color:#0a3245}
.sa-modal-head p{margin:4px 0 0}
.sa-modal-close{appearance:none;border:0;background:#eff6f7;color:#174b60;width:38px;height:38px;border-radius:12px;font-size:22px;cursor:pointer}
.sa-inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.user-password-status{display:flex;flex-direction:column;gap:3px}
.user-password-status code{display:inline-block;background:#f3f7f8;border:1px solid #d9e6ea;border-radius:10px;padding:5px 8px;font-size:12px;color:#174b60;max-width:240px;overflow:auto}
.temp-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#fff3da;color:#8a5a00}
.temp-pill.good{background:#e4f8ee;color:#116b46}
.sa-password-help{margin-top:6px;padding:10px 12px;border-radius:14px;background:#f5fafb;border:1px dashed #cfe0e6;color:#3d606d;font-size:13px}
.form-grid .check-inline{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:#f7fafb;border:1px solid #d9e6ea}
.form-grid .check-inline input{margin-top:3px}
@media(max-width:900px){.sa-modal-card{padding:16px}.sa-modal-head{align-items:center}.page-head-actions{width:100%}}


/* Faro 3.6.4 · SuperAdmin sin formularios redundantes */
.sa-client-layout-modal-only{display:block!important}
.sa-client-layout-modal-only .sa-legacy-create-panel{display:none!important}
.sa-client-layout-modal-only .sa-list-panel{width:100%!important;max-width:none!important}
.sa-plans-modal-only{display:block!important}
.sa-plans-modal-only>section.panel:first-child{display:none!important}
.sa-plans-modal-only>section.panel:last-child{width:100%!important;max-width:none!important}
.sa-user-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.sa-user-filter label{min-width:min(340px,100%);font-weight:800;color:#173f50}
.sa-user-filter select{display:block;width:100%;margin-top:5px}
.sa-modal-overlay{pointer-events:auto!important}
.sa-modal-card{position:relative;z-index:1}
.sa-modal-close{display:grid!important;place-items:center!important;line-height:1!important}

/* Faro 3.6.4 · foto completa del agente y referencia visual del nodo */
.scanner-guard-avatar{width:74px!important;height:74px!important;border-radius:18px!important;background:#fff!important;border:1px solid #d7e4e8!important;padding:2px!important}
.scanner-guard-avatar.has-photo{background:#fff!important}
.scanner-guard-avatar img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important;border-radius:14px!important}
.next-point-photo{background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;aspect-ratio:4/3!important;max-height:210px!important}
.next-point-photo.hidden{display:none!important}
.next-point-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
@media(max-width:420px){
 .scanner-guard-avatar{width:68px!important;height:68px!important}
 .scanner-guard-line{gap:10px!important}
}


/* Faro 3.6.4 · prueba NFC: activación automática con fallback de permiso */
.nfc-test-button.needs-tap{animation:faroNfcPermissionPulse 1.15s ease-in-out infinite;box-shadow:0 0 0 5px rgba(59,188,179,.16)}
@keyframes faroNfcPermissionPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}

/* Faro 3.6.5 · tiempos entre validaciones */
.point-transfer{margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:10px;background:#eef8f7;border:1px solid #cfe8e5;color:#31545f}.point-transfer span{font-size:10px;color:#668088}.point-transfer strong{font-size:12px;color:#006b73;white-space:nowrap}.point-transfer.first{background:#f6f8f9;border-color:#dde6e8}.point-transfer.first strong{color:#4e6870}


/* Faro 3.6.6 · compatibilidad NFC visible en landing */
.public-device-compatibility{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:min(100%,460px);
  padding:9px 13px 9px 10px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#dcebed;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.public-device-compatibility .public-device-check-icon{
  width:30px;height:30px;flex:0 0 30px;border-radius:10px;
  display:grid;place-items:center;font-size:17px;font-weight:950;
  background:rgba(255,255,255,.1);color:#8fded3;
}
.public-device-compatibility div{display:flex;flex-direction:column;gap:2px;min-width:0}
.public-device-compatibility strong{font-size:10.5px;line-height:1.2;color:#fff}
.public-device-compatibility small{font-size:8.3px;line-height:1.3;color:#a9c0c6;font-weight:650}
.public-device-compatibility.compatible{
  border-color:rgba(85,209,173,.35);
  background:rgba(32,148,119,.13);
}
.public-device-compatibility.compatible .public-device-check-icon{
  background:#dff7ee;color:#167156;
}
.public-device-compatibility.incompatible{
  border-color:rgba(242,145,0,.36);
  background:rgba(242,145,0,.09);
}
.public-device-compatibility.incompatible .public-device-check-icon{
  background:#fff1d9;color:#9a5b00;
}
.public-device-compatibility.incompatible strong{color:#ffe8bf}
.public-device-compatibility.checking .public-device-check-icon{animation:faroCompatPulse 1.2s ease-in-out infinite}
@keyframes faroCompatPulse{50%{opacity:.45;transform:scale(.93)}}
@media(max-width:600px){
  .public-device-compatibility{display:flex;width:100%;box-sizing:border-box;border-radius:14px;padding:9px 11px}
  .public-device-compatibility strong{font-size:10px}
  .public-device-compatibility small{font-size:8px}
}


/* v3.6.7 · lenguaje visual más sobrio */
.table-wrap{border-radius:16px;border:1px solid #E1EAED;background:linear-gradient(180deg,#fff,#FBFDFD);box-shadow:0 12px 26px rgba(4,43,59,.04)}
.table-wrap table{background:transparent}
th{background:#F4F8F9;color:#6A7F86}
.btn.blue,.btn.primary{box-shadow:0 10px 22px rgba(0,80,113,.14)}
.status-pill{border:1px solid transparent;letter-spacing:.02em}
.status-good{background:#E6F6F1;border-color:#B8E2D8;color:#13685D}
.status-warn{background:#FFF3DE;border-color:#F2D391;color:#875100}
.status-bad{background:#FCECEE;border-color:#EAC0C8;color:#A41425}
.status-blue{background:#EAF2FB;border-color:#C8DDF3;color:#155D98}
@media(max-width:980px){.admin-nav{box-shadow:none}}


/* Faro 3.6.8 · requisitos y catálogo de compatibilidad NFC */
.public-device-compatibility{max-width:min(100%,620px)}
.public-device-compat-copy{flex:1 1 auto!important}
.public-compat-requirements{flex:0 0 auto;border:1px solid rgba(255,218,158,.34);background:rgba(255,255,255,.08);color:#ffe5bb;border-radius:10px;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}
.public-compat-requirements:hover{background:rgba(255,255,255,.14)}
.device-requirements-dialog{width:min(920px,calc(100vw - 28px));max-height:calc(100dvh - 28px);border:0;padding:0;border-radius:26px;background:transparent;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.device-requirements-dialog::backdrop{background:rgba(1,17,25,.76);backdrop-filter:blur(8px)}
.device-requirements-card{max-height:calc(100dvh - 28px);overflow:auto;padding:24px;background:linear-gradient(145deg,#082835,#071F2B 52%,#0B3340);border:1px solid rgba(94,209,196,.22);border-radius:26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.device-requirements-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(126,190,198,.15)}
.device-requirements-head h2{font-size:28px;margin:7px 0 6px;color:#fff}
.device-requirements-head p{max-width:700px;color:#9CB8C0;line-height:1.55;margin:0}
.device-requirements-close{width:42px;height:42px;flex:0 0 42px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#d6e7eb;font-size:25px;cursor:pointer}
.device-requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}
.device-requirement-card{position:relative;padding:18px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(120,192,199,.16);overflow:hidden}
.device-requirement-card.recommended{background:linear-gradient(145deg,rgba(65,171,158,.10),rgba(255,255,255,.035));border-color:rgba(65,171,158,.25)}
.device-requirement-badge{display:inline-flex;padding:5px 9px;border-radius:999px;margin-bottom:13px;background:rgba(255,255,255,.075);color:#8CCBC7;font-size:9px;letter-spacing:.14em;font-weight:950}
.device-requirement-card.recommended .device-requirement-badge{background:#42B1A6;color:#062A35}
.device-requirement-row{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.07)}
.device-requirement-row:first-of-type{border-top:0}
.device-requirement-row i{width:36px;height:36px;border-radius:12px;background:rgba(61,179,169,.11);border:1px solid rgba(75,196,185,.18);display:grid;place-items:center;color:#63D0C7;font-style:normal;font-size:11px;font-weight:950}
.device-requirement-row span{display:grid;gap:2px}.device-requirement-row strong{font-size:12px;color:#F0F7F8}.device-requirement-row small{font-size:9px;line-height:1.4;color:#87A6AE}
.device-requirements-note{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;margin-top:15px;padding:12px 14px;border-radius:15px;background:rgba(242,145,0,.08);border:1px solid rgba(242,145,0,.20)}
.device-requirements-note>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#FFE8C1;color:#855000;font-weight:950}.device-requirements-note p{margin:0;color:#B8C9CE;font-size:10px;line-height:1.45}.device-requirements-note strong{color:#FFE2AE}
.device-requirements-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.device-requirements-actions .public-primary,.device-requirements-actions .public-secondary{font-size:11px;padding:10px 14px}
.device-compat-filter{display:flex;align-items:end;gap:9px;margin:10px 0 14px}.device-compat-filter label{display:grid;gap:5px;font-size:10px;font-weight:900;color:#607980}.device-compat-filter select{min-width:230px;padding:9px 10px;border:1px solid #CBDADF;border-radius:10px;background:#fff}
.device-compat-privacy{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;margin-top:14px;padding:12px 14px;border-radius:14px;background:#F4F9FA;border:1px solid #DCE9EB}.device-compat-privacy>span{width:30px;height:30px;border-radius:10px;background:#E4F4F2;color:#08736C;display:grid;place-items:center;font-weight:950}.device-compat-privacy p{margin:0;font-size:10px;line-height:1.5;color:#5E747A}
@media(max-width:700px){
  .public-device-compatibility{align-items:center;flex-wrap:wrap}.public-device-compat-copy{min-width:calc(100% - 42px)!important}.public-compat-requirements{margin-left:40px}
  .device-requirements-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.device-requirements-card{padding:17px;max-height:calc(100dvh - 16px);border-radius:22px}.device-requirements-grid{grid-template-columns:1fr}.device-requirements-head h2{font-size:23px}.device-requirements-actions{display:grid;grid-template-columns:1fr}.device-requirements-actions>*{width:100%;text-align:center}
}

/* Faro 3.6.9 · detalle de ronda, evidencias y reporte de turno */
.incident-photo-field{display:grid;gap:7px;margin:8px 0;padding:10px 11px;border:1px dashed #C9DADD;border-radius:12px;background:#F7FAFB;color:#35545F;font-size:11px;font-weight:800}
.incident-photo-field span{display:flex;align-items:center;gap:5px}.incident-photo-field small{font-weight:600;color:#809196}.incident-photo-field input{width:100%;font-size:10px}.incident-photo-field b{font-size:9px;color:#758A91;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.incident-photo-thumb{appearance:none;border:1px solid #D5E3E6;background:#fff;padding:4px;border-radius:12px;margin-top:8px;cursor:pointer;display:inline-flex;box-shadow:0 7px 16px rgba(5,54,70,.08)}
.incident-photo-thumb img{width:88px;height:66px;display:block;object-fit:contain;background:#fff;border-radius:8px}
.point-card{transition:border-color .18s,background .18s,box-shadow .18s}
.point-card.point-pending{border-color:#C8DDF3;background:#F5F9FE;box-shadow:inset 4px 0 0 #1E6FB7}
.point-card.point-pending .point-order{background:#1E6FB7}
.point-card.point-ok{border-color:#B8E2D8;background:#F3FBF8;box-shadow:inset 4px 0 0 #41AB9E}
.point-card.point-ok .point-order{background:#2E9C87}
.point-card.point-warning{border-color:#F2D391;background:#FFFAF0;box-shadow:inset 4px 0 0 #F29100}
.point-card.point-warning .point-order{background:#E58A00}
.point-card.point-missing{border-color:#EAC0C8;background:#FFF7F8;box-shadow:inset 4px 0 0 #C11325}
.point-card.point-missing .point-order{background:#B92031}
.faro-image-modal{z-index:2300!important;display:grid!important;place-items:center!important;padding:18px!important}
.faro-image-modal.hidden{display:none!important}
.faro-image-card{position:relative;z-index:2;width:min(920px,96vw);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border:1px solid #D7E5E8;border-radius:22px;box-shadow:0 30px 90px rgba(0,25,36,.28);overflow:hidden}
.faro-image-card header,.faro-image-card footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px}.faro-image-card header{border-bottom:1px solid #E1EAEC}.faro-image-card footer{border-top:1px solid #E1EAEC}.faro-image-card h2{margin:2px 0 0;color:#064963}.faro-image-stage{min-height:0;padding:16px;display:grid;place-items:center;background:#F1F6F7}.faro-image-stage img{max-width:100%;max-height:70vh;object-fit:contain;background:#fff;border-radius:14px}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(3,28,39,.72);backdrop-filter:blur(5px)}

.shift-report-body{min-height:100vh;background:linear-gradient(180deg,#EAF3F5 0,#F6F9FA 280px,#F3F7F8 100%)}
.shift-report-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:28px 0 54px}.shift-report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.shift-report-head h1{margin:4px 0 5px;font-size:30px;color:#064963}.shift-report-head p{margin:0;color:#677E86}.shift-report-actions{display:flex;gap:8px;flex-wrap:wrap}
.shift-date-nav{display:grid;grid-template-columns:48px minmax(180px,280px) 48px;justify-content:center;gap:9px;align-items:center;margin:0 auto 18px}.shift-date-nav>a{height:44px;border-radius:14px;background:#fff;border:1px solid #D8E5E8;display:grid;place-items:center;font-size:21px;font-weight:900;color:#07506A;box-shadow:0 8px 20px rgba(4,47,63,.06)}.shift-date-nav input{width:100%;height:44px;border:1px solid #D8E5E8;border-radius:14px;padding:0 12px;background:#fff;color:#17313A;font-weight:800;text-align:center}
.shift-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.shift-summary-cards article{background:linear-gradient(180deg,#fff,#F9FCFC);border:1px solid #DCE8EA;border-radius:17px;padding:14px 15px;box-shadow:0 10px 25px rgba(4,47,63,.05)}.shift-summary-cards span{display:block;color:#72868D;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.shift-summary-cards strong{display:block;color:#064963;font-size:26px;margin-top:5px}
.shift-timeline-panel{background:#fff;border:1px solid #DCE8EA;border-radius:22px;padding:20px;box-shadow:0 18px 45px rgba(4,47,63,.07)}.shift-section-head h2{margin:3px 0 18px;color:#064963}.shift-day-timeline{display:grid}.shift-round-event,.shift-end-event{display:grid;grid-template-columns:92px 22px minmax(0,1fr);gap:12px;position:relative;padding-bottom:18px}.shift-round-event:after,.shift-end-event:after{content:"";position:absolute;left:102px;top:20px;bottom:-5px;width:2px;background:#D9E6E8}.shift-end-event:after{display:none}.shift-event-time{text-align:right;padding-top:4px}.shift-event-time strong{display:block;color:#0A5068;font-size:16px}.shift-event-time span{display:block;color:#87989D;font-size:9px;margin-top:3px}.shift-event-dot{width:16px;height:16px;border-radius:50%;background:#1E6FB7;border:4px solid #DCECF8;z-index:1;margin-top:4px}.shift-round-event.good .shift-event-dot{background:#2F9D88;border-color:#D8F1EB}.shift-round-event.warn .shift-event-dot{background:#F29100;border-color:#FFF0D0}.shift-round-event.bad .shift-event-dot{background:#C11325;border-color:#F8DDE1}.shift-round-event.live .shift-event-dot{background:#1E6FB7;border-color:#DCECF8}.shift-end-event .shift-event-dot{background:#064963;border-color:#D9E7EA}
.shift-event-card{background:#FBFDFD;border:1px solid #E0E9EB;border-radius:17px;padding:14px 15px;box-shadow:0 8px 20px rgba(4,47,63,.04)}.shift-event-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.shift-person{display:flex;align-items:center;gap:10px}.shift-person img,.shift-person>span{width:48px;height:48px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid #D9E6E8;display:grid;place-items:center;color:#07506A;font-weight:900}.shift-person strong,.shift-person small{display:block}.shift-person small{font-size:10px;color:#788B91;margin-top:3px}.shift-status{font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px;background:#EAF2FB;color:#155D98}.shift-status.good{background:#E4F5F0;color:#14695D}.shift-status.warn{background:#FFF0D6;color:#875100}.shift-status.bad{background:#FBE9EC;color:#A40F20}.shift-event-summary{font-size:12px;line-height:1.5;color:#516B73;margin:12px 0}.shift-incidents{display:grid;gap:8px;margin:12px 0}.shift-incidents>article{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:13px;background:#FFF9EE;border:1px solid #F0D69E}.shift-incidents>article>div{display:flex;gap:9px}.shift-alert-icon{width:27px;height:27px;border-radius:9px;background:#F29100;color:#fff;display:grid;place-items:center;font-weight:900}.shift-incidents strong,.shift-incidents small{display:block}.shift-incidents small{color:#8F7A50;font-size:9px;margin-top:2px}.shift-incidents p{margin:5px 0 0;color:#735A2D;font-size:11px}.shift-photo-thumb{border:0;background:#fff;border-radius:10px;padding:4px;cursor:pointer;box-shadow:0 5px 14px rgba(70,46,3,.1)}.shift-photo-thumb img{display:block;width:82px;height:62px;object-fit:contain;background:#fff;border-radius:7px}.shift-event-card>footer{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #E6EDEF;margin-top:12px;padding-top:11px}.shift-empty{padding:28px;text-align:center;background:#F5F9FA;border-radius:14px;color:#73878E}
.shift-photo-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:18px}.shift-photo-modal.hidden{display:none}.shift-photo-backdrop{position:absolute;inset:0;background:rgba(2,25,35,.76);backdrop-filter:blur(5px)}.shift-photo-modal>section{z-index:1;width:min(930px,96vw);max-height:94vh;background:#fff;border-radius:22px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.shift-photo-modal header,.shift-photo-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.shift-photo-modal header{border-bottom:1px solid #E1EAEC}.shift-photo-modal footer{border-top:1px solid #E1EAEC}.shift-photo-modal header h2{margin:2px 0 0;color:#064963}.shift-photo-modal header>button{border:0;width:38px;height:38px;border-radius:12px;background:#EEF5F7;color:#064963;font-size:22px;cursor:pointer}.shift-photo-stage{padding:16px;background:#F1F6F7;display:grid;place-items:center;min-height:0}.shift-photo-stage img{max-width:100%;max-height:72vh;object-fit:contain;background:#fff;border-radius:12px}
.shift-photo-detail{margin:14px auto 0;max-width:min(820px,100%);padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(111,207,199,.16);color:#DDEDEF;font-size:14px;line-height:1.45;text-align:left}.shift-photo-detail.hidden{display:none}
@media(max-width:800px){.shift-report-shell{width:min(100% - 18px,1160px);padding-top:18px}.shift-report-head{align-items:flex-start;flex-direction:column}.shift-summary-cards{grid-template-columns:1fr 1fr}.shift-round-event,.shift-end-event{grid-template-columns:60px 18px minmax(0,1fr);gap:8px}.shift-round-event:after,.shift-end-event:after{left:68px}.shift-event-card>header{align-items:flex-start}.shift-incidents>article{flex-direction:column}.shift-photo-thumb{align-self:flex-start}.shift-date-nav{grid-template-columns:44px minmax(160px,1fr) 44px}}
/* Faro v3.6.130 · Ficha agente móvil consistente */
@media(max-width:650px){
  .guard-profile-report{gap:10px!important}
  .guard-profile-page-head{display:grid!important;gap:10px!important;padding:0!important}
  .guard-profile-heading{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important;align-items:center!important}
  .guard-profile-heading>img,.guard-profile-heading>span{width:64px!important;height:78px!important;border-radius:14px!important;object-fit:cover!important}
  .guard-profile-heading .eyebrow{font-size:8px!important;letter-spacing:.16em!important}
  .guard-profile-heading h1{font-size:24px!important;line-height:1.05!important;margin:3px 0 0!important}
  .guard-profile-heading p{font-size:10px!important;line-height:1.35!important;margin:5px 0 0!important}
  .guard-profile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important}
  .guard-profile-actions .btn{width:100%!important;min-height:38px!important;font-size:9px!important}
  .guard-profile-identity{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;padding:11px!important;border-radius:18px!important;align-items:start!important}
  .guard-profile-id-photo{width:92px!important;height:124px!important;min-height:124px!important;border-radius:14px!important}
  .guard-profile-id-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;align-content:start!important}
  .guard-profile-id-grid>div{display:block!important;min-width:0!important;padding:8px 9px!important;border-radius:10px!important;background:rgba(2,27,34,.34)!important}
  .guard-profile-id-grid span{display:block!important;font-size:6.8px!important;line-height:1.1!important;letter-spacing:.09em!important;color:#87aeb5!important;margin:0 0 4px!important}
  .guard-profile-id-grid strong{display:block!important;margin:0!important;font-size:9.2px!important;line-height:1.25!important;color:#f7fcfd!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word!important}
  .guard-profile-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
  .guard-profile-report .guard-stat{min-height:104px!important;padding:12px!important;border-radius:15px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;background:#0c3a45!important;border:1px solid rgba(116,205,207,.22)!important}
  .guard-profile-report .guard-stat.success{background:#103f45!important;border-color:#2e7f7d!important}
  .guard-profile-report .guard-stat.complete{background:#103b49!important;border-color:#326f85!important}
  .guard-profile-report .guard-stat.warning{background:#493a20!important;border-color:#9f7629!important}
  .guard-profile-report .guard-stat.extra{background:#302c49!important;border-color:#655a97!important}
  .guard-profile-report .guard-stat.incident{background:#492b35!important;border-color:#9c5364!important}
  .guard-profile-report .guard-stat span{font-size:8px!important;line-height:1.1!important;color:#a8c6cb!important}
  .guard-profile-report .guard-stat strong{font-size:26px!important;line-height:1!important;color:#ffffff!important;text-shadow:0 1px 0 rgba(0,0,0,.15)!important}
  .guard-profile-report .guard-stat small{font-size:8px!important;line-height:1.3!important;color:#b7d0d4!important}
  .guard-profile-report-grid{gap:10px!important}
  .guard-profile-report-grid>.panel{border-radius:16px!important;padding:12px!important}
  .guard-profile-report-grid h2{font-size:16px!important;margin-bottom:9px!important}
}

@media print{.admin-top,.shift-report-actions,.shift-date-nav,.shift-event-card>footer,.shift-photo-modal{display:none!important}.shift-report-body{background:#fff}.shift-report-shell{width:100%;padding:0}.shift-timeline-panel{box-shadow:none;border:0;padding:0}.shift-event-card{box-shadow:none;break-inside:avoid}.shift-summary-cards article{box-shadow:none}.shift-report-head{margin-bottom:12px}}

/* =========================================================
   Faro 3.6.10 · tema unificado producto
   Lleva la identidad de la landing al Admin, SuperAdmin y Rondas.
   ========================================================= */
:root{
  --faro-night:#061F2B;
  --faro-night-2:#0A3443;
  --faro-surface:#FFFFFF;
  --faro-surface-soft:#F7FAFA;
  --faro-teal:#4FC2B2;
  --faro-teal-soft:#E4F5F2;
  --faro-border:#D8E5E8;
  --faro-shadow:0 14px 34px rgba(4,37,50,.07);
}

/* Administración + SuperAdmin */
.admin-body{
  background:linear-gradient(180deg,#EEF4F5 0,#F8FAFA 34%,#F2F6F7 100%)!important;
  color:#18343E;
}
.admin-top{
  background:linear-gradient(100deg,var(--faro-night),#07445A 62%,#08657B)!important;
  border-bottom:1px solid rgba(111,212,196,.24)!important;
  box-shadow:0 12px 30px rgba(1,24,34,.16)!important;
}
.admin-top-links a{color:#E9F5F6!important}
.admin-brand span{color:#AFCFD5!important}
.admin-nav{
  background:linear-gradient(180deg,#FBFDFD,#F4F8F9)!important;
  border-right:1px solid var(--faro-border)!important;
}
.admin-nav a{
  border:1px solid transparent;
  color:#3E5A63!important;
}
.admin-nav a:hover{
  background:#EFF6F7!important;
  border-color:#E1ECEE!important;
  color:#073D52!important;
}
.admin-nav a.active{
  background:linear-gradient(90deg,#DDEFF1,#F2F8F9)!important;
  color:#073D52!important;
  box-shadow:inset 4px 0 0 var(--faro-teal),0 8px 18px rgba(3,52,68,.06)!important;
}
.admin-nav a[data-icon]::before{
  background:#EAF2F3!important;
  color:#315864!important;
  border:1px solid #D9E7E9;
}
.admin-nav a.active[data-icon]::before{
  background:#CDEDE7!important;
  color:#075A56!important;
}
.sa-topnav{
  background:rgba(248,251,251,.96)!important;
  border-bottom:1px solid var(--faro-border)!important;
  box-shadow:0 8px 24px rgba(6,40,53,.045);
  backdrop-filter:blur(10px);
}
.sa-topnav a{color:#536E76!important}
.sa-topnav a.active{
  background:var(--faro-night-2)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(3,44,59,.14);
}
.panel{
  background:linear-gradient(180deg,#FFFFFF,#FCFEFE)!important;
  border:1px solid var(--faro-border)!important;
  box-shadow:var(--faro-shadow)!important;
}
.page-head h1,.panel h2{color:#073D52!important}

/* KPIs: el color pasa a ser acento, no el protagonista */
.kpi,
.sa-commercial-kpis>div,
.sa-commercial-kpis>a{
  --card-accent:#42AD9F;
  position:relative;
  background:linear-gradient(180deg,#FFFFFF,#FAFCFC)!important;
  border:1px solid #D7E5E7!important;
  border-top:1px solid #D7E5E7!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(4,42,56,.055)!important;
  overflow:hidden;
}
.kpi:before,
.sa-commercial-kpis>div:before,
.sa-commercial-kpis>a:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--card-accent),rgba(79,194,178,.28));
}
.kpi:after{display:none!important}
.kpi.teal{--card-accent:#42AD9F!important}.kpi.orange{--card-accent:#E9A12C!important}.kpi.blue{--card-accent:#347EB8!important}.kpi.red{--card-accent:#C84E5B!important}.kpi.magenta{--card-accent:#A85A82!important}.kpi.navy{--card-accent:#0B526A!important}
.kpi strong,.sa-commercial-kpis strong{color:#0A4358!important}
.kpi span,.sa-commercial-kpis span{color:#6C8188!important}

/* Formularios, tablas y etiquetas */
.dashboard-filter-panel,
.table-wrap,
.responsive-table{
  border-color:#DDE8EA!important;
  box-shadow:0 9px 22px rgba(5,44,58,.045)!important;
}
th{background:#F2F7F8!important;color:#60777F!important}
tbody tr:hover{background:#F8FBFB}
.btn.primary,.btn.blue{
  background:linear-gradient(100deg,#07516A,#12728B)!important;
  border-color:#07516A!important;
  box-shadow:0 8px 18px rgba(5,70,91,.14)!important;
}
.btn.turquoise{background:#3EAA9D!important;border-color:#3EAA9D!important}
.status-good{background:#E4F5F0!important;border-color:#B8E1D8!important;color:#11685E!important}
.status-warn{background:#FFF3E1!important;border-color:#EED39B!important;color:#875300!important}
.status-bad{background:#FAEAED!important;border-color:#E8BCC4!important;color:#A11C2C!important}
.status-blue{background:#EAF2F8!important;border-color:#C8DDE9!important;color:#225E7C!important}

/* SuperAdmin · acceso a soporte */
.sa-support-entry{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  padding:8px 10px;
  border:1px solid #D9E7E9;
  border-radius:13px;
  background:#F6FAFA;
}
.sa-support-entry>span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  color:#648087;
  text-transform:uppercase;
}
.sa-support-entry form{margin:0}
.support-mode-banner{
  display:flex!important;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  background:#8E2459!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(78,14,47,.18);
}
.support-mode-banner.trace{background:#8E2459!important}
.support-mode-banner strong{letter-spacing:.06em}
.support-mode-banner small{color:rgba(255,255,255,.8);font-size:8px}
.support-mode-banner a{padding:4px 8px;border:1px solid rgba(255,255,255,.34);border-radius:999px;text-decoration:none!important}

/* Rondas de Agentes: mismo lenguaje Faro, manteniendo semántica de estados */
.scanner-body{
  background:linear-gradient(180deg,var(--faro-night) 0 112px,#EAF1F2 112px 100%)!important;
}
.scanner-header{color:#fff!important}
.scanner-logo{
  box-shadow:0 8px 18px rgba(1,21,29,.20)!important;
  border:1px solid rgba(255,255,255,.36);
}
.device-strip{
  background:rgba(255,255,255,.97)!important;
  border-color:#D8E6E8!important;
  box-shadow:0 8px 20px rgba(3,38,51,.09)!important;
}
.main-card{
  background:linear-gradient(180deg,#FFFFFF,#FBFDFD)!important;
  border-color:#D8E5E8!important;
  box-shadow:0 18px 40px rgba(2,40,54,.11)!important;
}
.progress-track{background:#E3EBED!important}
.progress-track div{background:linear-gradient(90deg,#1983A0,#50C2B2)!important}
.ready-panel{
  background:linear-gradient(145deg,#E7F6F2,#D7F0EA)!important;
  border-color:#AEDDD3!important;
}
.travel-panel{
  background:linear-gradient(145deg,#FFF8EC,#FFF0D4)!important;
  border-color:#EBCF98!important;
}
.patrol-actions{
  background:linear-gradient(180deg,rgba(251,253,253,0),rgba(251,253,253,.97) 22%,#FBFDFD)!important;
}
.micro-action{border:1px solid #DCE7E9!important;background:#F3F7F8!important;color:#49666F!important}
.warning-action{background:#FFF4E4!important;border-color:#EBD3A7!important;color:#805100!important}
#finishBtn{background:#EEF5F6!important;border-color:#D7E4E6!important;color:#345B66!important}
.toast{border-radius:14px!important;box-shadow:0 16px 36px rgba(2,35,47,.18)!important}

/* Login central también hereda la misma identidad */
.central-signin-body{background:linear-gradient(135deg,#061F2B,#08394A 58%,#0A5368)!important}
.central-signin-card{box-shadow:0 24px 60px rgba(0,22,31,.22)!important}

@media(max-width:700px){
  .support-mode-banner{font-size:8.5px;padding:7px 9px!important}
  .support-mode-banner small{width:100%;text-align:center}
  .sa-support-entry{align-items:stretch}
}

/* Faro 3.6.12 · detalle de alertas */
.incident-row-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.incident-row-actions form{margin:0}.incident-detail-card{width:min(720px,calc(100vw - 24px))}.incident-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.incident-detail-grid>div{background:#f6fafb;border:1px solid #dce7ea;border-radius:14px;padding:11px}.incident-detail-grid span,.incident-detail-grid strong{display:block}.incident-detail-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#74878d;font-weight:900}.incident-detail-grid strong{margin-top:4px;color:var(--petrol)}.incident-detail-note p{white-space:pre-wrap;line-height:1.45}.incident-photo-large-button{display:block;width:100%;border:1px solid #dce7ea;background:#fff;border-radius:16px;padding:8px;cursor:zoom-in}.incident-photo-large-button img{display:block;width:100%;max-height:360px;object-fit:contain;background:#fff;border-radius:10px}.incident-detail-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.shift-report-menu-active{background:linear-gradient(90deg,#E6F2F4,#F3F9FA)!important;color:var(--petrol)!important;box-shadow:inset 4px 0 0 var(--turq),0 6px 16px rgba(0,70,90,.06)!important}
@media(max-width:620px){.incident-detail-grid{grid-template-columns:1fr}.incident-detail-footer{flex-direction:column}.incident-detail-footer .btn{width:100%;text-align:center}}
@media print{
  .shift-report-body .admin-nav,.shift-report-body .admin-top,.shift-report-body .support-mode-banner,.shift-report-body>.admin-signature{display:none!important}
  .shift-report-body .admin-layout{display:block!important;min-height:0!important}
  .shift-report-body .shift-report-main{padding:0!important}
}


/* =========================================================
   Faro 3.6.13 · identidad visual integral
   Misma familia visual de la landing pública en todo Faro.
   ========================================================= */
:root{
  --brand-night:#061923;
  --brand-night-soft:#082532;
  --brand-night-mid:#0B3343;
  --brand-teal:#41AB9E;
  --brand-teal-bright:#70D2C3;
  --brand-blue:#1E6FB7;
  --brand-paper:#F5F8F8;
  --brand-card:#FFFFFF;
  --brand-line:#D8E5E8;
  --brand-ink:#18333C;
  --brand-muted:#71878E;
  --brand-shadow:0 18px 45px rgba(4,35,47,.08);
}

/* Superficies generales */
.admin-body,.shift-report-body{
  background:
    radial-gradient(circle at 92% 3%,rgba(65,171,158,.10),transparent 24%),
    linear-gradient(180deg,#EEF5F6 0,#F8FAFA 330px,#F3F7F8 100%)!important;
  color:var(--brand-ink)!important;
}
.admin-top{
  background:
    radial-gradient(circle at 78% -70%,rgba(65,171,158,.23),transparent 36%),
    linear-gradient(108deg,var(--brand-night),var(--brand-night-soft) 58%,var(--brand-night-mid))!important;
  min-height:62px!important;
  border-bottom:1px solid rgba(112,210,195,.26)!important;
  box-shadow:0 14px 32px rgba(1,20,28,.20)!important;
}
.admin-brand strong{font-size:15px;letter-spacing:-.01em}.admin-brand span{color:#AFC8CE!important}
.admin-top-links{align-items:center}.admin-top-links a{border-radius:10px;padding:7px 9px}.admin-top-links a:hover{background:rgba(255,255,255,.08)}
.admin-layout{background:transparent!important}
.admin-nav{
  background:rgba(250,253,253,.95)!important;
  backdrop-filter:blur(12px);
  border-right:1px solid var(--brand-line)!important;
}
.admin-nav a{border-radius:12px!important;color:#45616A!important}
.admin-nav a.active{
  color:#063D50!important;
  background:linear-gradient(90deg,#D9F0EC 0,#EEF8F7 100%)!important;
  border-color:#D2E8E5!important;
  box-shadow:inset 4px 0 0 var(--brand-teal),0 8px 20px rgba(3,58,72,.065)!important;
}
.admin-main,.sa-main{background:transparent!important}
.page-head{padding:4px 2px 2px}.page-head h1{color:#063D50!important;letter-spacing:-.025em!important}
.eyebrow{color:#5F7C84!important}.page-head .muted{color:#70868D!important}
.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(250,253,253,.99))!important;
  border:1px solid var(--brand-line)!important;
  border-radius:20px!important;
  box-shadow:var(--brand-shadow)!important;
}
.btn,.admin-row-action{
  border-radius:11px!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.btn:hover,.admin-row-action:hover{transform:translateY(-1px)}
.btn.primary,.btn.blue,.central-login-submit{
  background:linear-gradient(105deg,#087B73,var(--brand-teal))!important;
  border-color:#2C9B90!important;
  color:#fff!important;
  box-shadow:0 11px 24px rgba(65,171,158,.20)!important;
}
.btn.primary:hover,.btn.blue:hover{background:linear-gradient(105deg,#087168,#31998D)!important}
.btn.turquoise{background:#41AB9E!important;border-color:#41AB9E!important}

/* Dashboard: acentos semánticos, no arcoíris */
.kpis{gap:12px!important}
.kpi,
.sa-commercial-kpis>div,
.sa-commercial-kpis>a{
  --card-accent:var(--brand-teal);
  background:linear-gradient(180deg,#FFFFFF,#FAFCFC)!important;
  border:1px solid #D9E6E8!important;
  border-top:1px solid #D9E6E8!important;
  border-radius:17px!important;
  box-shadow:0 12px 26px rgba(3,37,49,.06)!important;
  padding-top:16px!important;
}
.kpi:before,.sa-commercial-kpis>div:before,.sa-commercial-kpis>a:before{
  height:4px!important;
  background:linear-gradient(90deg,var(--card-accent),rgba(112,210,195,.28))!important;
}
.kpi strong,.sa-commercial-kpis strong{color:#073E52!important;text-shadow:0 1px 0 #fff}
.kpi span,.sa-commercial-kpis span{color:#71878E!important}
.kpi.teal,.kpi.navy{--card-accent:#41AB9E!important}
.kpi.blue{--card-accent:#3A8AA6!important}
.kpi.orange{--card-accent:#D89B3D!important}
.kpi.red{--card-accent:#B95D69!important}
.kpi.magenta{--card-accent:#8B667A!important}
.dashboard-filter-panel{background:rgba(255,255,255,.95)!important}
.dashboard-filter-grid input,.dashboard-filter-grid select,.report-filter-form input,.report-filter-form select,
.form-grid input,.form-grid select,.form-grid textarea{
  border-color:#CCDDE1!important;
  background:#fff!important;
  box-shadow:inset 0 1px 2px rgba(3,35,47,.025)!important;
}
.table-wrap,.responsive-table{
  background:#fff!important;
  border:1px solid #DDE8EA!important;
  box-shadow:0 10px 25px rgba(3,37,49,.045)!important;
}
th{background:#F1F6F7!important;color:#627B83!important}
tbody tr:hover{background:#F6FAFA!important}
.status-pill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}

/* SuperAdmin */
.sa-topnav{
  background:rgba(248,252,252,.96)!important;
  border-bottom:1px solid #D9E6E8!important;
  box-shadow:0 9px 24px rgba(3,37,49,.05)!important;
}
.sa-topnav a{border-radius:10px!important}.sa-topnav a.active{background:#0A3443!important;color:#fff!important}
.sa-client-layout,.sa-plan-maintainer-layout,.sa-security-grid{gap:18px!important}
.sa-package-row,.tenant-card,.sa-modern-tenant-cards>article{
  border-color:#D9E6E8!important;
  box-shadow:0 10px 24px rgba(3,37,49,.045)!important;
}
.sa-modal-card{
  border-color:#315963!important;
  box-shadow:0 32px 90px rgba(1,20,28,.34)!important;
}

/* Rondas de Agentes */
.scanner-body{
  background:
    radial-gradient(circle at 78% 0,rgba(65,171,158,.18),transparent 32%),
    linear-gradient(180deg,#061923 0 118px,#EAF2F3 118px 100%)!important;
}
.scanner-shell{max-width:620px!important}
.scanner-header{min-height:58px!important}
.scanner-header h1{letter-spacing:-.025em}
.device-strip{border-radius:14px!important;box-shadow:0 9px 24px rgba(2,31,43,.11)!important}
.main-card{border-radius:23px!important;box-shadow:0 24px 55px rgba(2,33,45,.13)!important}
.patrol-card{padding:13px!important}
.scanner-guard-line{gap:14px!important}
.scanner-guard-avatar{
  width:90px!important;height:90px!important;max-width:90px!important;max-height:90px!important;
  border-radius:20px!important;background:#fff!important;border:1px solid #D4E2E5!important;padding:3px!important;
  box-shadow:0 9px 22px rgba(3,43,56,.10)!important;
}
.scanner-guard-avatar img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important;border-radius:16px!important}
.guard-info h2{color:#073F53!important}
.round-chip{background:#0B5368!important;box-shadow:0 6px 16px rgba(5,67,87,.16)!important}
.progress-track{height:8px!important}.progress-track div{background:linear-gradient(90deg,#1C7A93,#41AB9E,#70D2C3)!important}
.next-panel{
  width:100%!important;max-width:none!important;align-self:stretch!important;
  border-radius:19px!important;padding:16px 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 26px rgba(3,42,55,.055)!important;
}
.next-point-photo{
  width:100%!important;max-width:none!important;min-height:150px!important;
  max-height:min(30dvh,280px)!important;aspect-ratio:16/10!important;margin:8px 0 12px!important;
  border-radius:17px!important;background:#fff!important;border:1px solid #D8E5E8!important;
}
.next-point-photo img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important}
.next-panel h3{font-size:clamp(25px,6.5vw,34px)!important;color:#073F53!important}
.ready-panel{background:linear-gradient(145deg,#E5F7F3,#D5F0EA)!important;border-color:#A6DCD2!important}
.travel-panel{background:linear-gradient(145deg,#FFF8EC,#FFF0D5)!important;border-color:#E8CA91!important}
.patrol-actions{gap:9px!important}.patrol-actions .micro-action{border-radius:14px!important}
.warning-action{background:#FFF3E1!important;border-color:#E8D0A1!important}

/* Modal de alerta: cámara primero, no selector de archivo */
#incidentModal{background:rgba(2,25,35,.68)!important;backdrop-filter:blur(6px)}
#incidentModal .sheet{
  background:linear-gradient(180deg,#FFFFFF,#F8FBFB)!important;
  border:1px solid rgba(112,210,195,.24)!important;
  box-shadow:0 -20px 55px rgba(1,22,31,.26)!important;
}
.reason-grid button{border-color:#D6E4E7!important;background:#F9FCFC!important;border-radius:13px!important}
.reason-grid button.selected{background:#E2F4F0!important;border-color:#71C6B9!important;color:#075F58!important;box-shadow:inset 0 0 0 1px rgba(65,171,158,.12)!important}
.incident-camera-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.incident-camera-box{display:grid;gap:9px;margin:11px 0}
.incident-camera-button{
  min-height:84px;width:100%;display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;
  border:1px solid #91D0C7;background:linear-gradient(135deg,#E5F6F2,#F5FBFA);color:#073F53;border-radius:17px;
  padding:13px 16px;cursor:pointer;box-shadow:0 10px 23px rgba(18,107,101,.08)
}
.incident-camera-button:active{transform:scale(.99)}
.incident-camera-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#0B5368;color:#fff;font-size:26px;box-shadow:0 8px 18px rgba(5,63,82,.18)}
.incident-camera-button strong,.incident-camera-button small{display:block}.incident-camera-button strong{font-size:14px}.incident-camera-button small{font-size:9px;color:#688087;margin-top:4px}
.incident-photo-preview{width:100%;border:1px solid #B9DCD6;background:#fff;border-radius:17px;padding:8px;cursor:pointer;box-shadow:0 10px 23px rgba(3,48,61,.07)}
.incident-photo-preview img{display:block;width:100%;height:min(30dvh,250px);object-fit:contain;object-position:center;background:#fff;border-radius:12px}
.incident-photo-preview span{display:block;padding:8px 5px 2px;color:#0B6C64;font-size:10px;font-weight:900;text-align:center}
.incident-skip-option{display:flex!important;gap:10px;align-items:flex-start;padding:11px 12px;margin:8px 0 11px;border:1px solid #E4D4B7;background:#FFF8EC;border-radius:14px;color:#70522A}
.incident-skip-option.hidden{display:none!important}.incident-skip-option input{margin-top:3px}.incident-skip-option strong,.incident-skip-option small{display:block}.incident-skip-option small{font-size:9px;margin-top:3px;color:#8A7452}
#incidentSend{background:linear-gradient(105deg,#087B73,#41AB9E)!important;border-color:#2C9B90!important;color:#fff!important;box-shadow:0 10px 22px rgba(65,171,158,.20)!important}

/* Login / cambios de contraseña */
.central-signin-body,.login-body{
  background:
    radial-gradient(circle at 78% 30%,rgba(65,171,158,.19),transparent 28%),
    radial-gradient(circle at 12% 78%,rgba(30,111,183,.14),transparent 28%),
    linear-gradient(140deg,#061923,#082532 56%,#0B3343)!important;
}
.central-signin-card,.login-card{border:1px solid rgba(112,210,195,.17)!important;box-shadow:0 30px 80px rgba(0,0,0,.25)!important}

@media(max-width:460px){
  .scanner-shell{padding-left:7px!important;padding-right:7px!important}
  .scanner-guard-avatar{width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important}
  .patrol-card{padding:10px!important}
  .next-panel{padding:14px 9px!important}
  .next-point-photo{min-height:135px!important;max-height:26dvh!important}
  .incident-camera-button{min-height:78px!important}
}
@media(max-height:700px){
  .scanner-guard-avatar{width:70px!important;height:70px!important;max-width:70px!important;max-height:70px!important}
  .next-point-photo{max-height:22dvh!important;min-height:115px!important}
  .next-panel h3{font-size:23px!important}
}


/* Faro 3.6.14 · flujo de creación de nodo, guardado y orientación de evidencia */
.node-nfc-step{display:grid;gap:8px;padding:12px;border:1px solid #CFE0E4;border-radius:16px;background:linear-gradient(180deg,#F8FCFC,#F2F8F9)}
.node-nfc-step .btn{width:100%;min-height:46px}
.node-nfc-state{font-size:10px;font-weight:800;color:#6B8087;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #E0E9EB}
.node-photo-capture{margin-top:2px}
.faro-saving-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:rgba(4,29,39,.68);backdrop-filter:blur(7px);padding:20px}
.faro-saving-overlay.hidden{display:none!important}
.faro-saving-card{width:min(330px,92vw);display:grid;justify-items:center;gap:9px;padding:24px 20px;border-radius:22px;background:linear-gradient(180deg,#082C3A,#0A4457);color:#fff;border:1px solid rgba(111,220,208,.24);box-shadow:0 26px 80px rgba(0,18,27,.38);text-align:center}
.faro-saving-card strong{font-size:18px}.faro-saving-card span{font-size:11px;color:#B8D9DF}
.faro-saving-spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.18);border-top-color:#55C8BC;border-radius:50%;animation:faroSavingSpin .75s linear infinite}
@keyframes faroSavingSpin{to{transform:rotate(360deg)}}
.faro-is-saving{overflow:hidden}
.node-photo-preview img,.checkpoint-admin-thumb,.incident-photo-thumb img,.incident-photo-large-button img,.faro-image-stage img,.shift-photo-thumb img,.incident-photo-preview img{image-orientation:from-image;object-fit:contain!important;object-position:center!important;background:#fff!important}
.faro-image-stage{overflow:auto}
.faro-image-stage img{width:auto!important;height:auto!important;max-width:100%!important;max-height:72vh!important}
.next-point-photo img{image-orientation:from-image;object-fit:contain!important;object-position:center!important;background:#fff!important}


/* v3.6.15 · Reporte de turno por estado */
.shift-round-event .shift-event-card{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.shift-round-event .shift-event-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  border-radius:17px 0 0 17px;
}
.shift-round-event.good .shift-event-card{
  background:linear-gradient(135deg,#F3FBF8 0%,#E6F6F0 100%);
  border-color:#B9E3D8;
  box-shadow:0 12px 28px rgba(33,129,108,.10);
}
.shift-round-event.good .shift-event-card:before{background:#2F9D88}
.shift-round-event.good .shift-event-summary{color:#315F56}
.shift-round-event.good .shift-person small{color:#587A72}

.shift-round-event.warn .shift-event-card{
  background:linear-gradient(135deg,#FFFBF2 0%,#FFF0CF 100%);
  border-color:#F0D28C;
  box-shadow:0 12px 28px rgba(176,112,0,.10);
}
.shift-round-event.warn .shift-event-card:before{background:#F29100}
.shift-round-event.warn .shift-event-summary{color:#735A2D}
.shift-round-event.warn .shift-person small{color:#8A744B}

.shift-round-event.bad .shift-event-card{
  background:linear-gradient(135deg,#FFF7F8 0%,#FBE6E9 100%);
  border-color:#EABCC4;
  box-shadow:0 12px 28px rgba(164,15,32,.09);
}
.shift-round-event.bad .shift-event-card:before{background:#C11325}
.shift-round-event.bad .shift-event-summary{color:#7D3D46}
.shift-round-event.bad .shift-person small{color:#8D646A}

.shift-round-event.live .shift-event-card{
  background:linear-gradient(135deg,#F6FAFD 0%,#EAF3FB 100%);
  border-color:#C4DCEF;
  box-shadow:0 12px 28px rgba(30,111,183,.09);
}
.shift-round-event.live .shift-event-card:before{background:#1E6FB7}

.shift-round-event .shift-person{padding-left:3px}
.shift-round-event .shift-status{box-shadow:0 4px 12px rgba(0,0,0,.05)}
.shift-round-event .shift-incidents>article{background:rgba(255,255,255,.70);backdrop-filter:blur(3px)}
.shift-end-event .shift-event-card{background:#F4F8F9;border-color:#D7E4E7}

@media print{
  .shift-round-event.good .shift-event-card{background:#F3FBF8!important;border-color:#9FD8CA!important}
  .shift-round-event.warn .shift-event-card{background:#FFFBF2!important;border-color:#E8C77B!important}
  .shift-round-event.bad .shift-event-card{background:#FFF7F8!important;border-color:#E2AEB7!important}
  .shift-round-event.live .shift-event-card{background:#F6FAFD!important;border-color:#BBD5EA!important}
  .shift-round-event .shift-event-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Faro 3.6.17 · feedback de carga y skeletons globales */
.faro-global-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(4,29,39,.66);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.faro-global-loading.hidden{display:none!important}
.faro-global-loading-card{width:min(350px,92vw);display:grid;justify-items:center;gap:10px;padding:26px 22px;border-radius:24px;background:linear-gradient(180deg,#082E3D 0%,#0A475A 100%);color:#fff;border:1px solid rgba(85,200,188,.25);box-shadow:0 28px 90px rgba(0,18,27,.42);text-align:center}
.faro-global-loading-card strong{font-size:18px;line-height:1.2}.faro-global-loading-card span{max-width:280px;font-size:11px;line-height:1.45;color:#BBDDE1}
.faro-global-spinner{width:46px;height:46px;border-radius:50%;border:4px solid rgba(255,255,255,.17);border-top-color:#55C8BC;border-right-color:#55C8BC;animation:faroGlobalSpin .72s linear infinite;box-shadow:0 0 0 5px rgba(85,200,188,.05)}
@keyframes faroGlobalSpin{to{transform:rotate(360deg)}}
.faro-loading-active{overflow:hidden}

.faro-page-skeleton{position:fixed;inset:0;z-index:9990;background:#F2F7F8;overflow:hidden}
.faro-page-skeleton.hidden{display:none!important}
.faro-skeleton-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.faro-skeleton-sidebar{padding:28px 20px;background:linear-gradient(180deg,#062B39,#0A4052);display:grid;align-content:start;gap:17px}
.faro-skeleton-main{padding:28px;display:grid;align-content:start;gap:22px}
.faro-skeleton-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.faro-skeleton-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.faro-skeleton-card,.faro-skeleton-panel,.faro-skeleton-pill,.faro-skeleton-title,.faro-skeleton-line,.faro-skeleton-row,.faro-skeleton-logo{position:relative;overflow:hidden;background:#DDE8EB;border-radius:14px}
.faro-skeleton-card::after,.faro-skeleton-panel::after,.faro-skeleton-pill::after,.faro-skeleton-title::after,.faro-skeleton-line::after,.faro-skeleton-row::after,.faro-skeleton-logo::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);animation:faroSkeletonSweep 1.25s ease-in-out infinite}
@keyframes faroSkeletonSweep{100%{transform:translateX(100%)}}
.faro-skeleton-logo{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.12)}
.faro-skeleton-sidebar .faro-skeleton-line{height:12px;background:rgba(255,255,255,.12)}
.faro-skeleton-line{height:11px}.faro-skeleton-line.w28{width:28%}.faro-skeleton-line.w38{width:38%}.faro-skeleton-line.w62{width:62%}.faro-skeleton-line.w72{width:72%}.faro-skeleton-line.w78{width:78%}.faro-skeleton-line.w88{width:88%}
.faro-skeleton-title{width:280px;max-width:55vw;height:34px;margin-top:10px}.faro-skeleton-pill{width:125px;height:38px;border-radius:999px}.faro-skeleton-card{height:112px;background:#E3ECEE;border:1px solid #D7E4E7}.faro-skeleton-panel{height:380px;padding:22px;background:#fff;border:1px solid #DCE7E9;box-shadow:0 12px 32px rgba(0,57,72,.06)}
.faro-skeleton-panel>.faro-skeleton-line{margin-bottom:25px}.faro-skeleton-row{height:52px;margin-top:12px;background:#EDF3F4}.faro-skeleton-row.short{width:72%}
@media(max-width:900px){.faro-skeleton-shell{grid-template-columns:1fr}.faro-skeleton-sidebar{display:none}.faro-skeleton-main{padding:18px}.faro-skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.faro-skeleton-card{height:96px}.faro-skeleton-panel{height:330px}}
@media(max-width:520px){.faro-skeleton-kpis{gap:10px}.faro-skeleton-main{padding:14px;gap:16px}.faro-skeleton-title{width:210px;height:28px}.faro-skeleton-pill{width:82px;height:32px}.faro-skeleton-card{height:82px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.faro-global-spinner,.faro-skeleton-card::after,.faro-skeleton-panel::after,.faro-skeleton-pill::after,.faro-skeleton-title::after,.faro-skeleton-line::after,.faro-skeleton-row::after,.faro-skeleton-logo::after{animation-duration:2s}}


/* v3.6.18 · métricas agregadas de visitas de la landing en SuperAdmin */
.landing-visits-panel{margin-bottom:16px}.landing-visits-panel .sa-section-title{align-items:flex-start;gap:16px}.landing-visits-panel .sa-section-title form{margin:0}.landing-visit-kpis{margin:14px 0 16px}.landing-compat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.landing-compat-card{border:1px solid #dce8ea;border-radius:17px;background:linear-gradient(180deg,#fff,#f7fbfb);padding:14px;box-shadow:0 9px 24px rgba(3,57,73,.06)}.landing-compat-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid #e3edef}.landing-compat-title strong{color:var(--petrol);font-size:14px}.landing-compat-title span{font-size:10px;font-weight:800;color:#71878d}.landing-compat-values{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.landing-compat-values>div{padding:10px;border-radius:12px;border:1px solid transparent}.landing-compat-values span,.landing-compat-values strong{display:block}.landing-compat-values span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.landing-compat-values strong{font-size:22px;margin-top:3px}.landing-compat-values .is-good{background:#eaf7f2;border-color:#c9e9dd;color:#176b56}.landing-compat-values .is-bad{background:#fff0f0;border-color:#f0d2d2;color:#9f2e34}.landing-reset-note{margin:12px 0 0;text-align:right}@media(max-width:850px){.landing-compat-grid{grid-template-columns:1fr}.landing-visits-panel .sa-section-title{display:grid}.landing-visits-panel .sa-section-title form,.landing-visits-panel .sa-section-title .btn{width:100%}}


/* v3.6.22 · acciones SuperAdmin alineadas */
.sa-company-actions{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:8px!important;
  align-items:stretch!important;
}
.sa-company-actions>a.btn,
.sa-company-actions>form,
.sa-company-actions>.sa-support-entry{
  min-width:0;
  margin:0!important;
}
.sa-company-actions>a.btn,
.sa-company-actions>form>.btn,
.sa-company-actions>.sa-support-entry form>.btn{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  padding:8px 12px!important;
  white-space:normal!important;
}
.sa-company-actions>.sa-support-entry{
  grid-column:auto;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.sa-company-actions>.sa-support-entry>span{display:none!important}
.sa-company-actions>.sa-support-entry form{width:100%!important}
@media(max-width:1280px){.sa-company-actions{grid-template-columns:repeat(3,minmax(170px,1fr))}}
@media(max-width:760px){.sa-company-actions{grid-template-columns:1fr 1fr!important}.sa-company-actions>a.btn,.sa-company-actions>form,.sa-company-actions>.sa-support-entry{flex:none!important}.sa-company-actions>a.btn,.sa-company-actions>form>.btn,.sa-company-actions>.sa-support-entry form>.btn{height:48px!important;min-height:48px!important}}
@media(max-width:460px){.sa-company-actions{grid-template-columns:1fr!important}}


/* ==========================================================================\n   FARO 3.6.23 · IDENTIDAD OPERACIONAL UNIFICADA\n   ========================================================================== */
:root{
  --faro-night:#062B38;--faro-night-2:#0A3543;--faro-card:#123D4A;--faro-card-2:#174653;
  --faro-teal:#48BFB3;--faro-teal-2:#69D0C6;--faro-blue:#287FC6;--faro-ink:#092D39;
  --faro-muted:#8FA9B2;--faro-light:#F4F8F8;--faro-line:rgba(118,176,190,.22);
}
html,body{max-width:100%;overflow-x:hidden}
.admin-body,.sa-body{background:linear-gradient(180deg,#edf4f4 0,#f7f9f9 340px,#f7f9f9 100%);color:var(--faro-ink)}
.admin-top,.sa-header{background:linear-gradient(135deg,#061f2b,#073643)!important;color:#fff!important;border-bottom:1px solid rgba(104,214,201,.18);box-shadow:0 12px 28px rgba(4,37,48,.16)}
.admin-logo,.scanner-logo,.signin-header-brand img{background:#0B3E4C!important;border:1px solid rgba(95,213,200,.22)!important;box-shadow:0 8px 22px rgba(0,0,0,.18);overflow:hidden}
.admin-logo img,.scanner-logo img,.signin-header-brand img{width:100%;height:100%;object-fit:cover!important}
.nav-collapse-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:20px;cursor:pointer;flex:0 0 auto}
.admin-layout{display:block!important;min-width:0}
.admin-nav,.sa-topnav{position:fixed!important;left:0;top:72px;bottom:0;width:238px;z-index:80;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:16px 11px!important;background:linear-gradient(180deg,#062B38,#082F3B 65%,#051E29)!important;border:0!important;border-right:1px solid rgba(93,197,187,.14)!important;overflow-y:auto;overflow-x:hidden;box-shadow:10px 0 30px rgba(6,43,56,.08)}
.support-mode-banner+.admin-top+.admin-layout .admin-nav{top:134px}
.admin-nav a,.sa-topnav a{display:flex!important;align-items:center!important;gap:11px!important;min-height:45px!important;padding:10px 12px!important;border-radius:12px!important;color:#B9CFD5!important;text-decoration:none!important;font-weight:750!important;white-space:nowrap!important;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important}
.admin-nav a::before{content:attr(data-icon);display:grid;place-items:center;width:26px;min-width:26px;height:26px;color:#78CFC5;font-size:17px}
.sa-topnav a{font-size:13px}.sa-topnav a>span{display:block!important}
.admin-nav a:hover,.sa-topnav a:hover{background:rgba(73,191,179,.10)!important;color:#fff!important}
.admin-nav a.active,.sa-topnav a.active{background:linear-gradient(135deg,rgba(72,191,179,.19),rgba(43,125,164,.13))!important;color:#fff!important;border-color:rgba(91,207,195,.24)!important;box-shadow:inset 3px 0 0 var(--faro-teal)!important}
.admin-main,.sa-main{margin-left:238px!important;min-width:0!important;width:auto!important;max-width:none!important;padding:26px clamp(16px,2.4vw,34px) 54px!important}
body.faro-nav-collapsed .admin-nav,body.faro-nav-collapsed .sa-topnav{width:68px}
body.faro-nav-collapsed .admin-main,body.faro-nav-collapsed .sa-main{margin-left:68px!important}
body.faro-nav-collapsed .admin-nav a{font-size:0;justify-content:center;padding:8px!important}body.faro-nav-collapsed .admin-nav a::before{font-size:18px}
body.faro-nav-collapsed .sa-topnav a{justify-content:center;padding:8px!important}body.faro-nav-collapsed .sa-topnav a>span{display:none!important}
.panel,.main-card,.central-signin-card,.sa-company-card{border:1px solid rgba(63,128,143,.16)!important;border-radius:20px!important;box-shadow:0 15px 40px rgba(12,55,65,.07)!important}
.kpi-grid>*,.sa-commercial-kpis>*,.dashboard-kpis>*{border-radius:18px!important;box-shadow:0 12px 28px rgba(7,43,54,.08)!important}
.dashboard-kpis>*,.sa-commercial-kpis>*{border-top:3px solid var(--faro-teal)!important}
.btn.primary,.btn.blue,.public-primary,.central-login-submit{background:linear-gradient(90deg,#128E84,#45B8AD)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 10px 24px rgba(26,157,146,.18)!important}
.page-head h1,.panel h2{color:#073440}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{max-width:none}
.activity-feed article.superadmin-event,.superadmin-audit-row td{background:#FFF0F6!important;border-color:#EF4D90!important}.activity-feed article.superadmin-event{border-left:5px solid #E92E78!important;box-shadow:0 10px 25px rgba(225,45,113,.10)}.activity-feed article.superadmin-event span{color:#B20F55!important;font-weight:950}.superadmin-audit-row td:first-child{box-shadow:inset 5px 0 0 #E92E78}
.guard-custom-hours{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guard-custom-hours.hidden{display:none!important}.guard-hours-config,.global-hours-config{background:#F1F8F7!important;border:1px solid #CFE7E4!important}

/* Agente en ronda: mismo lenguaje de operación en vivo */
.scanner-body{background:linear-gradient(180deg,#062B38 0,#082F3D 42%,#F1F6F6 42%,#F1F6F6 100%)!important}
.scanner-shell{max-width:820px!important}.scanner-header{border-radius:0 0 24px 24px!important;background:linear-gradient(135deg,#061F2B,#0A3A47)!important;box-shadow:0 16px 38px rgba(2,31,42,.22)!important}
.patrol-card{background:var(--faro-night)!important;color:#fff!important;border-color:rgba(98,192,188,.18)!important;box-shadow:0 24px 60px rgba(1,31,42,.22)!important}.patrol-card h2,.patrol-card h3,.patrol-card strong{color:#fff!important}.patrol-card .muted,.patrol-card .small{color:#92ABB3!important}.progress-track{background:#244A56!important}.progress-track>div{background:linear-gradient(90deg,#42B6AA,#69D0C6)!important}.next-panel{background:#123B48!important;border:1px solid rgba(127,188,199,.16)!important;box-shadow:none!important}.next-panel.ready-panel{background:#113F47!important;border-color:rgba(87,212,190,.25)!important}.next-point-photo{background:#082C38!important;border-color:rgba(255,255,255,.08)!important}.round-chip{background:rgba(82,202,190,.13)!important;color:#79D5CB!important;border:1px solid rgba(82,202,190,.22)!important}

/* Login con header de marca + contador */
.central-signin-body{padding-top:76px!important;background:linear-gradient(135deg,#061E2A 0,#073B49 100%)!important}.signin-public-header{position:fixed;left:0;right:0;top:0;height:68px;z-index:120;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,70px);background:rgba(5,31,43,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(101,210,199,.15);color:#fff}.signin-header-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.signin-header-brand img{width:40px;height:40px;border-radius:11px}.signin-header-brand strong{font-size:18px}.signin-round-counter{display:flex;align-items:baseline;gap:8px;color:#9EB7BF;font-size:9px;font-weight:900;letter-spacing:.08em}.signin-round-counter strong{font-size:18px;color:#68D0C4}.central-signin-brand>img{width:76px!important;height:76px!important;border-radius:20px!important;object-fit:cover!important}.faro-android-install{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;margin:14px 0;padding:12px;border-radius:16px;background:#EAF8F6;border:1px solid #BFE5DF}.faro-android-install.hidden{display:none!important}.faro-android-install img{width:52px;height:52px;border-radius:14px;object-fit:cover}.faro-android-install strong,.faro-android-install small{display:block}.faro-android-install small{color:#607B82;margin-top:3px}.install-help{grid-column:1/-1;margin:0;color:#506B72;font-size:11px}.install-help.hidden{display:none!important}

/* Loading & Skeleton con identidad Faro */
.faro-global-loading{background:rgba(4,28,39,.78)!important;backdrop-filter:blur(9px)!important}.faro-global-loading-card{background:linear-gradient(180deg,#082E3B,#0C4451)!important;border:1px solid rgba(103,214,202,.23)!important;border-radius:24px!important;box-shadow:0 30px 90px rgba(0,20,28,.38)!important}.faro-global-spinner{border-color:rgba(255,255,255,.13)!important;border-top-color:#65D0C4!important}.faro-page-skeleton{background:#F3F7F7!important}.faro-skeleton-shell{background:#F3F7F7!important}.faro-skeleton-sidebar{background:linear-gradient(180deg,#062B38,#092F3B)!important}.faro-skeleton-main{background:#F3F7F7!important}.faro-skeleton-card,.faro-skeleton-panel{background:#123D4A!important;border-color:rgba(99,183,190,.14)!important}.faro-skeleton-line,.faro-skeleton-title,.faro-skeleton-pill,.faro-skeleton-row,.faro-skeleton-block{background:linear-gradient(90deg,rgba(116,174,184,.10),rgba(100,217,203,.30),rgba(116,174,184,.10))!important;background-size:240% 100%!important}

/* Volver arriba */
.faro-scroll-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));z-index:350;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0B4050,#15998D);color:#fff;font-size:24px;font-weight:900;box-shadow:0 14px 32px rgba(5,52,66,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.faro-scroll-top.visible{opacity:1;transform:none;pointer-events:auto}

@media(max-width:780px){
  .admin-top{position:sticky;top:0;z-index:110;min-height:64px}.admin-top-links a:not(.notification-link){display:none!important}.nav-collapse-toggle{display:grid!important}
  .admin-nav,.sa-topnav{top:64px!important;width:68px!important;padding:10px 7px!important}.support-mode-banner+.admin-top+.admin-layout .admin-nav{top:126px!important}
  .admin-nav a{font-size:0!important;justify-content:center!important;padding:8px!important}.admin-nav a::before{font-size:19px!important}.sa-topnav a{justify-content:center!important;padding:8px!important}.sa-topnav a>span{display:none!important}
  .admin-main,.sa-main{margin-left:68px!important;padding:16px 10px 50px!important;width:calc(100% - 68px)!important;overflow:hidden!important}
  body:not(.faro-nav-collapsed) .admin-nav,body:not(.faro-nav-collapsed) .sa-topnav{width:min(268px,78vw)!important;box-shadow:18px 0 50px rgba(0,20,28,.22)}
  body:not(.faro-nav-collapsed) .admin-nav a{font-size:13px!important;justify-content:flex-start!important;padding:10px 12px!important}body:not(.faro-nav-collapsed) .sa-topnav a{justify-content:flex-start!important}body:not(.faro-nav-collapsed) .sa-topnav a>span{display:block!important}
  body:not(.faro-nav-collapsed) .admin-main,body:not(.faro-nav-collapsed) .sa-main{margin-left:68px!important}
  .two-col,.three-col,.form-grid{grid-template-columns:minmax(0,1fr)!important}.panel,.page-head,.admin-main>*{max-width:100%!important;min-width:0!important}.page-head{align-items:flex-start!important;gap:10px!important}.page-head-actions{width:100%;flex-wrap:wrap!important}
  body{overflow-x:hidden!important}.table-wrap{max-width:100%!important;overflow-x:auto!important}.guard-custom-hours{grid-template-columns:1fr!important}
  .faro-android-install{grid-template-columns:48px 1fr}.faro-android-install .btn{grid-column:1/-1;width:100%}
  .signin-round-counter span{display:none}.central-signin-body{padding-top:70px!important}.signin-public-header{height:62px;padding:0 16px}.signin-back{top:78px!important}
}

/* ========================================================================== 
   FARO 3.6.24 · REVISIÓN VISUAL / RESPONSIVE / CARGA
   ========================================================================== */
:root{
  --faro-bg-deep:#041D28;
  --faro-bg:#062B38;
  --faro-bg-2:#0A3543;
  --faro-panel:#0C3441;
  --faro-panel-2:#123D4A;
  --faro-panel-3:#174653;
  --faro-teal-strong:#48BFB3;
  --faro-aqua:#69D0C6;
  --faro-text:#F7FBFB;
  --faro-text-soft:#A9C0C7;
  --faro-border-dark:rgba(128,196,203,.18);
  --faro-shadow-dark:0 18px 46px rgba(0,14,22,.22);
}

/* Fondo oscuro coherente en Admin, SuperAdmin y reportes */
body.admin-body,
body.shift-report-body{
  background:
    radial-gradient(circle at 88% 0,rgba(72,191,179,.12),transparent 28%),
    linear-gradient(160deg,var(--faro-bg-deep) 0,var(--faro-bg) 46%,#07313E 100%)!important;
  color:var(--faro-text)!important;
  min-height:100vh;
}
body.admin-body .admin-main,
body.admin-body .sa-main,
body.admin-body .report-main{
  background:transparent!important;
  color:var(--faro-text)!important;
}
body.admin-body .page-head h1,
body.admin-body .page-head h2,
body.admin-body .panel h1,
body.admin-body .panel h2,
body.admin-body .panel h3,
body.admin-body strong{color:var(--faro-text)!important}
body.admin-body .eyebrow{color:var(--faro-aqua)!important}
body.admin-body .muted,
body.admin-body .field-help,
body.admin-body small,
body.admin-body .page-head p{color:var(--faro-text-soft)!important}

body.admin-body .panel,
body.admin-body .sa-company-card,
body.admin-body .tenant-card,
body.admin-body .sa-package-row,
body.admin-body .activity-day-detail,
body.admin-body .live-round-card,
body.admin-body .schedule-list article,
body.admin-body .notification-item,
body.admin-body .account-row{
  background:linear-gradient(180deg,rgba(18,61,74,.97),rgba(11,49,61,.98))!important;
  border:1px solid var(--faro-border-dark)!important;
  color:var(--faro-text)!important;
  box-shadow:var(--faro-shadow-dark)!important;
}
body.admin-body .panel{overflow:visible}

/* KPI oscuros y tarjeta de atrasos bien contenida */
body.admin-body .kpi,
body.admin-body .sa-commercial-kpis>div,
body.admin-body .sa-commercial-kpis>a{
  min-width:0!important;
  min-height:94px!important;
  padding:17px 14px 12px!important;
  background:linear-gradient(180deg,#123E4B,#0D3441)!important;
  border:1px solid var(--faro-border-dark)!important;
  border-top:1px solid var(--faro-border-dark)!important;
  color:var(--faro-text)!important;
  text-decoration:none!important;
  overflow:hidden!important;
  box-shadow:0 13px 30px rgba(0,18,27,.18)!important;
}
body.admin-body .kpi span,
body.admin-body .sa-commercial-kpis span{color:#9EB8BF!important}
body.admin-body .kpi strong,
body.admin-body .sa-commercial-kpis strong{color:#fff!important;text-shadow:none!important}
body.admin-body .sa-kpi-link{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important}
body.admin-body .sa-kpi-link small{display:block!important;position:static!important;margin-top:4px!important;line-height:1.15!important;color:var(--faro-aqua)!important;white-space:normal!important}

/* Formularios y filtros: mismo tamaño, sin desbordes */
body.admin-body .admin-main *,
body.admin-body .sa-main *{box-sizing:border-box}
body.admin-body .two-col,
body.admin-body .three-col,
body.admin-body .form-grid,
body.admin-body .admin-maintainer-grid,
body.admin-body .admin-maintainer-grid>section,
body.admin-body .admin-maintainer-grid form,
body.admin-body .form-grid>*,
body.admin-body label{min-width:0!important;max-width:100%!important}
body.admin-body input,
body.admin-body select,
body.admin-body textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  background:#0A2F3B!important;
  color:#F7FBFB!important;
  border:1px solid rgba(126,190,199,.28)!important;
  box-shadow:inset 0 1px 3px rgba(0,15,23,.20)!important;
}
body.admin-body input::placeholder,
body.admin-body textarea::placeholder{color:#78949C!important}
body.admin-body select option{background:#0A2F3B;color:#fff}
body.admin-body input[type=file]{overflow:hidden!important}
body.admin-body .dashboard-filter-grid input,
body.admin-body .dashboard-filter-grid select,
body.admin-body .report-filter-form input,
body.admin-body .report-filter-form select{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:8px 10px!important;
  font-size:12px!important;
  line-height:1.1!important;
}
body.admin-body .dashboard-filter-grid label,
body.admin-body .report-filter-form label{align-self:stretch!important}
body.admin-body .dashboard-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr)) auto!important}

/* Tablas oscuras, desplazamiento solo dentro de la tabla */
body.admin-body .table-wrap,
body.admin-body .responsive-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  background:#092D38!important;
  border:1px solid var(--faro-border-dark)!important;
  box-shadow:0 12px 28px rgba(0,18,27,.16)!important;
}
body.admin-body table{color:#DCEAED!important;background:transparent!important}
body.admin-body th{background:#123E4A!important;color:#9FB8BF!important;border-color:rgba(126,190,199,.15)!important}
body.admin-body td{border-color:rgba(126,190,199,.10)!important;color:#DCEAED!important}
body.admin-body tbody tr:hover{background:rgba(72,191,179,.055)!important}
body.admin-body code{color:#BEE7E1!important;background:#082934!important}

/* Bloques auxiliares oscuros */
body.admin-body .form-subsection,
body.admin-body .guard-hours-config,
body.admin-body .global-hours-config,
body.admin-body .sa-send-invite-toggle,
body.admin-body .activity-summary-row>div,
body.admin-body .activity-legend,
body.admin-body .activity-detail-person,
body.admin-body .license-capacity{
  background:#0A303C!important;
  border-color:rgba(116,188,195,.18)!important;
  color:var(--faro-text)!important;
}
body.admin-body .round-hours-highlight{
  border:1px solid rgba(105,208,198,.38)!important;
  box-shadow:inset 4px 0 0 var(--faro-teal-strong),0 10px 26px rgba(0,17,26,.14)!important;
  padding:15px!important;
}
body.admin-body .round-hours-highlight>div:first-child>strong{font-size:15px!important;color:#8BE0D7!important}
body.admin-body .notice.info{background:#0B3A47!important;border-color:#236371!important;color:#D7ECEF!important}
body.admin-body .notice.success{background:#103D38!important;border-color:#2D7165!important;color:#D8F3ED!important}
body.admin-body .notice.error{background:#49262D!important;border-color:#8B4857!important;color:#FFE3E7!important}
body.admin-body .admin-alert{background:#49371D!important;border-color:#916E31!important;color:#FFE9BE!important}
body.admin-body .admin-alert a{color:#fff!important}

/* Menús laterales: siempre ordenados y selección visible */
body.admin-body .admin-nav,
body.admin-body .sa-topnav{
  background:linear-gradient(180deg,#041E29,#062B38 58%,#041B25)!important;
  border-right:1px solid rgba(105,208,198,.15)!important;
}
body.admin-body .admin-nav a,
body.admin-body .sa-topnav a{color:#AFC6CC!important}
body.admin-body .admin-nav a.active,
body.admin-body .sa-topnav a.active{
  color:#fff!important;
  background:linear-gradient(100deg,rgba(72,191,179,.27),rgba(40,127,198,.15))!important;
  border:1px solid rgba(105,208,198,.30)!important;
  box-shadow:inset 4px 0 0 #69D0C6,0 8px 20px rgba(0,18,26,.16)!important;
}
body.admin-body .admin-nav a.active::before{color:#8BE0D7!important}

/* Calendario: sin scroll horizontal. En móvil muestra mes completo con puntos de actividad */
body.admin-body .activity-calendar-panel{overflow:hidden!important}
body.admin-body .activity-calendar-wrap{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
body.admin-body .activity-weekdays,
body.admin-body .activity-calendar-grid{width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
body.admin-body .activity-day{
  min-width:0!important;
  background:#0A303C!important;
  border-color:rgba(126,190,199,.18)!important;
  color:#E8F2F4!important;
}
body.admin-body .activity-day.has-activity{background:#103B47!important}
body.admin-body .activity-day.selected{background:#124651!important;border-color:#69D0C6!important;box-shadow:inset 0 0 0 1px rgba(105,208,198,.28)!important}
body.admin-body .activity-day-head strong{color:#fff!important}
body.admin-body .activity-none{border-color:rgba(137,188,196,.15)!important;color:#728E96!important}

/* Skeleton solo de contenido y con fondo petróleo profundo */
.faro-page-skeleton.faro-content-skeleton{
  inset:auto!important;
  z-index:75!important;
  overflow:hidden!important;
  background:linear-gradient(155deg,#041D28,#062B38)!important;
  border-left:1px solid rgba(105,208,198,.10)!important;
}
.faro-content-skeleton .faro-skeleton-main{
  min-height:100%!important;
  padding:28px!important;
  background:linear-gradient(155deg,#041D28,#062B38)!important;
}
.faro-content-skeleton .faro-skeleton-card,
.faro-content-skeleton .faro-skeleton-panel{
  background:#0D3542!important;
  border:1px solid rgba(105,208,198,.14)!important;
  box-shadow:0 14px 34px rgba(0,15,23,.18)!important;
}
.faro-content-skeleton .faro-skeleton-line,
.faro-content-skeleton .faro-skeleton-title,
.faro-content-skeleton .faro-skeleton-pill,
.faro-content-skeleton .faro-skeleton-row{
  background:linear-gradient(90deg,rgba(111,170,181,.10),rgba(105,208,198,.30),rgba(111,170,181,.10))!important;
  background-size:240% 100%!important;
}

/* Agente: fondo completo oscuro, no mitad blanca */
body.scanner-body{
  background:
    radial-gradient(circle at 82% 0,rgba(72,191,179,.14),transparent 30%),
    linear-gradient(160deg,#041D28 0,#062B38 52%,#07313E 100%)!important;
  color:#F7FBFB!important;
  min-height:100vh;
}
body.scanner-body .scanner-shell{background:transparent!important}
body.scanner-body .main-card,
body.scanner-body .device-strip{
  background:linear-gradient(180deg,#0D3542,#0A303C)!important;
  border:1px solid rgba(126,190,199,.17)!important;
  color:#F7FBFB!important;
  box-shadow:0 18px 44px rgba(0,16,24,.22)!important;
}
body.scanner-body .main-card h2,
body.scanner-body .main-card h3,
body.scanner-body .main-card strong{color:#fff!important}
body.scanner-body .main-card p,
body.scanner-body .main-card .muted,
body.scanner-body .device-strip{color:#A9C0C7!important}
body.scanner-body .idle-card .nfc-icon{background:#123F4C!important;color:#72D6CB!important;border-color:rgba(105,208,198,.25)!important}
body.scanner-body .scanner-footer{color:#819CA4!important}
body.scanner-body .sheet{
  background:linear-gradient(180deg,#103946,#092D38)!important;
  color:#F7FBFB!important;
  border:1px solid rgba(105,208,198,.18)!important;
}
body.scanner-body .sheet h3,
body.scanner-body .sheet strong{color:#fff!important}
body.scanner-body .sheet input,
body.scanner-body .sheet textarea,
body.scanner-body .sheet select{background:#072B36!important;color:#fff!important;border-color:rgba(126,190,199,.28)!important}
body.scanner-body .reason-grid button{background:#0B3440!important;color:#C9DADF!important;border-color:rgba(126,190,199,.20)!important}
body.scanner-body .reason-grid button.selected{background:#124C4A!important;color:#8CE0D6!important;border-color:#4DB8AC!important}
body.scanner-body .incident-camera-button{background:linear-gradient(135deg,#123F4A,#174B55)!important;color:#E7F5F4!important;border-color:rgba(105,208,198,.30)!important}
body.scanner-body .incident-camera-button small{color:#9DB8BE!important}
body.scanner-body .incident-photo-preview{background:#082D38!important;border-color:rgba(105,208,198,.25)!important}
body.scanner-body .incident-skip-option{background:#44371E!important;border-color:#7B6536!important;color:#FFE8B9!important}

/* Instalar Faro desde la landing */
.public-install-app-cta{
  display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;
  margin-top:12px;padding:12px 14px;border-radius:17px;
  background:linear-gradient(135deg,rgba(11,65,78,.96),rgba(13,82,87,.94));
  border:1px solid rgba(105,208,198,.28);box-shadow:0 14px 30px rgba(0,28,37,.16);color:#fff
}
.public-install-app-cta.hidden{display:none!important}
.public-install-app-cta img{width:54px;height:54px;border-radius:14px;object-fit:cover}
.public-install-app-cta strong,.public-install-app-cta span{display:block}.public-install-app-cta strong{font-size:14px}.public-install-app-cta span{font-size:10px;color:#B8D3D8;margin-top:3px}
.public-install-app-cta .public-primary{border:0;cursor:pointer;white-space:nowrap}
.public-install-app-cta .install-help{grid-column:1/-1;color:#C5DBDF!important}

/* Botón volver arriba visible y por encima del contenido */
.faro-scroll-top{z-index:900!important;width:52px!important;height:52px!important;background:linear-gradient(145deg,#0C4B59,#1BA497)!important;border:1px solid rgba(121,226,213,.28)!important;box-shadow:0 16px 34px rgba(0,16,24,.30)!important}

@media(max-width:1200px){
  body.admin-body .dashboard-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-body .dashboard-filter-actions{grid-column:auto!important}
}
@media(max-width:980px){
  body.admin-body .two-col,
  body.admin-body .three-col,
  body.admin-body .admin-maintainer-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  body.admin-body .admin-maintainer-grid>section{width:100%!important;max-width:100%!important;overflow:hidden!important}
  body.admin-body .admin-maintainer-grid .table-wrap{overflow-x:auto!important}
}
@media(max-width:780px){
  body.admin-body .admin-main,
  body.admin-body .sa-main{overflow-x:clip!important;max-width:calc(100vw - 68px)!important}
  body.admin-body .admin-main>* ,body.admin-body .sa-main>*{min-width:0!important;max-width:100%!important}
  body.admin-body .dashboard-filter-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.admin-body .dashboard-filter-actions{grid-column:1/-1!important}
  body.admin-body .activity-calendar-head{gap:10px!important}
  body.admin-body .activity-weekdays,
  body.admin-body .activity-calendar-grid{gap:3px!important}
  body.admin-body .activity-weekdays span{font-size:7px!important;letter-spacing:0!important}
  body.admin-body .activity-calendar-empty{min-height:64px!important}
  body.admin-body .activity-day{min-height:64px!important;padding:5px!important;border-radius:9px!important;gap:3px!important}
  body.admin-body .activity-day-head strong{font-size:13px!important}
  body.admin-body .activity-day-head span{display:none!important}
  body.admin-body .activity-day-tags{display:flex!important;flex-wrap:wrap!important;gap:2px!important;align-content:flex-start!important}
  body.admin-body .activity-person-tag{width:8px!important;height:8px!important;min-width:8px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--shift-color)!important;box-shadow:none!important}
  body.admin-body .activity-person-tag i,
  body.admin-body .activity-person-tag b,
  body.admin-body .activity-person-tag small{display:none!important}
  body.admin-body .activity-none{border:0!important;padding:0!important;margin:0!important;font-size:0!important;min-height:8px!important}
  body.admin-body .activity-legend{flex-wrap:wrap!important;overflow:visible!important}
  .faro-content-skeleton .faro-skeleton-main{padding:16px 10px!important}
  .public-install-app-cta{grid-template-columns:48px 1fr}.public-install-app-cta img{width:48px;height:48px}.public-install-app-cta .public-primary{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
  body.admin-body .dashboard-filter-grid{grid-template-columns:1fr 1fr!important}
  body.admin-body .dashboard-filter-grid input,
  body.admin-body .dashboard-filter-grid select{font-size:11px!important;padding:7px 8px!important}
  body.admin-body .activity-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  body.admin-body .activity-summary-row>div{padding:8px 5px!important;text-align:center!important}
}

/* Faro 3.6.24 · Horario de rondas visible en Ajustes */
.round-window-settings-panel{border-color:rgba(105,208,198,.30)!important;box-shadow:inset 4px 0 0 var(--faro-teal-strong),0 18px 46px rgba(0,14,22,.20)!important}
.round-window-settings-form{display:grid;grid-template-columns:minmax(150px,220px) auto minmax(150px,220px) minmax(160px,220px);gap:10px;align-items:end;margin-top:14px}
.round-window-settings-form label{display:grid;gap:6px;font-size:10px;font-weight:900;color:#AFC8CE!important}.round-window-settings-form input{height:44px!important}.round-window-arrow{align-self:center;color:#69D0C6;font-size:24px;font-weight:900;padding-bottom:2px}.settings-feature-head p{max-width:850px}
@media(max-width:760px){.round-window-settings-form{grid-template-columns:1fr 28px 1fr}.round-window-settings-form .btn{grid-column:1/-1;width:100%}.round-window-arrow{text-align:center}}

/* ========================================================================== 
   FARO 3.6.27 · LOGIN MÓVIL RESPONSIVO
   - iOS / sin NFC: el acceso de Supervisor sube y no reserva espacio fantasma.
   - Android / NFC: el bloque del Agente se compacta para mantener visible el
     inicio de sesión de Supervisor incluso en pantallas como Poco F3.
   ========================================================================== */
@media(max-width:560px){
  /* El contenido comienza inmediatamente bajo el header y el enlace volver.
     Evita el centrado vertical que en iOS dejaba media pantalla vacía. */
  .central-signin-body{
    min-height:100svh!important;
    padding-top:62px!important;
    overflow-x:hidden!important;
  }
  .central-signin-shell{
    width:100%!important;
    max-width:100%!important;
    min-height:calc(100svh - 62px)!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:40px 12px 20px!important;
    gap:0!important;
  }
  .signin-back{
    position:absolute!important;
    top:72px!important;
    left:16px!important;
    font-size:10px!important;
  }
  .central-signin-card{
    width:min(100%,480px)!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:17px 16px 16px!important;
    border-radius:19px!important;
    margin:0!important;
  }

  /* Sin NFC no debe quedar ninguna altura reservada por el acceso de Agentes. */
  .central-signin-body.signin-round-access-hidden .central-round-access,
  .central-signin-body.signin-round-access-hidden .central-nfc-divider{
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
  }
  .central-signin-body.signin-round-access-hidden .central-admin-login{
    margin-top:0!important;
  }

  /* Bloque NFC compacto: conserva todas las funciones pero reduce su altura. */
  .central-round-access{
    padding:0!important;
    margin:0!important;
  }
  .central-round-access>.eyebrow{
    margin:0 0 2px!important;
    font-size:8px!important;
    line-height:1.1!important;
  }
  .central-round-access>h2{
    margin:0 0 2px!important;
    font-size:19px!important;
    line-height:1.08!important;
  }
  .central-round-access>p.muted{
    margin:0 0 7px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
  }
  .central-round-button{
    width:100%!important;
    min-height:58px!important;
    padding:7px 12px!important;
    border-radius:15px!important;
    gap:10px!important;
    box-shadow:0 8px 20px rgba(8,93,117,.18)!important;
  }
  .central-round-icon{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    font-size:15px!important;
  }
  .central-round-button strong{
    font-size:15px!important;
    line-height:1.05!important;
  }
  .central-round-button small{
    margin-top:2px!important;
    font-size:9px!important;
    line-height:1.15!important;
  }
  .central-nfc-state{
    margin:6px auto 0!important;
    max-width:100%!important;
    font-size:9.5px!important;
    line-height:1.25!important;
  }
  .central-round-access .btn{
    margin-top:6px!important;
    min-height:34px!important;
    padding:6px 9px!important;
    font-size:9px!important;
  }
  .central-lost-credential{
    margin:3px auto 0!important;
    padding:3px 6px!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
  .central-nfc-divider{
    gap:8px!important;
    margin:8px 0 7px!important;
  }
  .central-nfc-divider span{font-size:9px!important}

  /* Inicio de sesión de Supervisor compacto pero cómodo para tocar. */
  .central-admin-login>.eyebrow{
    margin:0 0 2px!important;
    font-size:8px!important;
    line-height:1.1!important;
  }
  .central-admin-login>h2{
    margin:0 0 4px!important;
    font-size:22px!important;
    line-height:1.08!important;
  }
  .central-admin-login>p.muted{
    margin:0 0 8px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
  .central-login-form{
    gap:7px!important;
  }
  .central-login-form label{
    gap:3px!important;
    font-size:9px!important;
    line-height:1.15!important;
  }
  .central-login-form input{
    min-height:39px!important;
    height:39px!important;
    box-sizing:border-box!important;
    padding:7px 10px!important;
    border-radius:9px!important;
    font-size:13px!important;
  }
  .central-login-submit{
    min-height:41px!important;
    margin-top:1px!important;
    padding:8px 12px!important;
    font-size:12px!important;
  }
  .central-forgot-link{
    margin-top:4px!important;
    padding:3px 0!important;
    font-size:9px!important;
  }
}

/* En móviles especialmente bajos priorizamos que Ingresar quede siempre a la vista. */
@media(max-width:560px) and (max-height:720px){
  .central-signin-shell{padding-top:34px!important;padding-bottom:10px!important}
  .central-signin-card{padding:13px 14px 12px!important;border-radius:17px!important}
  .central-round-access>p.muted,
  .central-admin-login>p.muted{display:none!important}
  .central-round-button{min-height:52px!important;padding:6px 10px!important}
  .central-round-icon{width:34px!important;height:34px!important;min-width:34px!important}
  .central-nfc-state{font-size:8.8px!important;margin-top:4px!important}
  .central-nfc-divider{margin:6px 0!important}
  .central-admin-login>h2{font-size:20px!important}
  .central-login-form input{height:36px!important;min-height:36px!important}
  .central-login-submit{min-height:38px!important}
}


/* ========================================================================== 
   FARO 3.6.28 · LOGIN PC + CTA NFC ANDROID
   - Volver a Faro visible también en escritorio, fuera del header fijo.
   - CTA NFC más reconocible en Android sin volver a alargar todo el bloque.
   ========================================================================== */
.signin-back{
  top:84px!important;
  left:clamp(18px,3vw,42px)!important;
  z-index:130!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid rgba(126,211,202,.18)!important;
  border-radius:999px!important;
  background:rgba(5,36,47,.58)!important;
  color:#C6DBDF!important;
  box-shadow:0 8px 22px rgba(0,15,23,.14)!important;
  backdrop-filter:blur(10px)!important;
}
.signin-back:hover{color:#fff!important;border-color:rgba(105,208,198,.42)!important;background:rgba(9,58,69,.78)!important}

@media(max-width:560px){
  .signin-back{
    top:70px!important;
    left:12px!important;
    min-height:28px!important;
    padding:4px 8px!important;
    font-size:9px!important;
    background:rgba(5,36,47,.42)!important;
  }

  /* Más presencia visual sin consumir mucho más alto vertical. */
  .central-round-button{
    min-height:68px!important;
    padding:8px 13px!important;
    border-radius:18px!important;
    gap:12px!important;
    background:linear-gradient(135deg,#087A91 0%,#18A99A 52%,#60D3C8 100%)!important;
    border:1px solid rgba(168,242,234,.34)!important;
    box-shadow:0 12px 28px rgba(4,92,111,.30),0 0 0 4px rgba(75,197,185,.07)!important;
    position:relative!important;
    overflow:hidden!important;
  }
  .central-round-button::after{
    content:"";
    position:absolute;
    inset:-40% -25%;
    background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);
    transform:translateX(-55%);
    animation:faroNfcCtaSweep 3.2s ease-in-out infinite;
    pointer-events:none;
  }
  .central-round-icon{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    font-size:17px!important;
    background:rgba(4,45,57,.38)!important;
    border:1px solid rgba(255,255,255,.23)!important;
    box-shadow:inset 0 0 0 4px rgba(255,255,255,.05),0 0 0 5px rgba(207,255,249,.06)!important;
  }
  .central-round-button strong{font-size:17px!important;letter-spacing:.01em!important}
  .central-round-button small{font-size:9.5px!important;color:rgba(255,255,255,.92)!important}

  /* Recuperamos el espacio extra del CTA reduciendo texto auxiliar, no controles. */
  .central-round-access>p.muted{margin-bottom:5px!important}
  .central-nfc-state{margin-top:4px!important;line-height:1.18!important}
  .central-lost-credential{margin-top:1px!important;padding:2px 6px!important}
  .central-nfc-divider{margin:6px 0!important}
}

@media(max-width:560px) and (max-height:720px){
  .central-round-button{min-height:62px!important;padding:7px 11px!important}
  .central-round-icon{width:42px!important;height:42px!important;min-width:42px!important}
  .central-round-button strong{font-size:16px!important}
  .central-round-button small{font-size:9px!important}
}

@keyframes faroNfcCtaSweep{
  0%,62%{transform:translateX(-58%)}
  82%,100%{transform:translateX(58%)}
}

/* Faro 3.6.29 · contador del login coherente con la landing */
.signin-counter-mobile{display:none!important}
.signin-round-counter{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  padding:7px 14px;
  border:1px solid rgba(132,190,204,.28);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  white-space:nowrap;
}
.signin-round-counter span{font-size:9px;letter-spacing:.09em;color:#90B9C4;font-weight:900}
.signin-round-counter strong{font-size:17px;color:#fff;line-height:1}
.signin-round-counter small{font-size:10px;color:#BBD0D5}

@media(max-width:780px){
  .signin-public-header{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
  }
  .signin-header-brand{grid-column:1}
  .signin-round-counter{
    grid-column:2;
    justify-self:center;
    margin:0!important;
    padding:6px 10px!important;
    gap:4px!important;
  }
  .signin-round-counter .signin-counter-desktop{display:none!important}
  .signin-round-counter .signin-counter-mobile{display:inline!important;font-size:9px!important;color:#BBD0D5!important;font-weight:800!important;letter-spacing:0!important}
  .signin-round-counter strong{font-size:14px!important;color:#fff!important}
  .signin-public-header::after{content:"";grid-column:3;width:42px}
}

@media(max-width:420px){
  .signin-header-brand strong{display:none}
  .signin-public-header{padding:0 10px!important}
  .signin-round-counter{padding:5px 8px!important}
}


/* Faro v3.6.30 · contador de rondas como hito/logro de marca */
.faro-pride-counter{
  position:relative;
  isolation:isolate;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:46px;
  padding:6px 15px 6px 8px!important;
  border:1px solid rgba(111,224,211,.38)!important;
  border-radius:999px!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(127,236,223,.18),transparent 38%),
    linear-gradient(135deg,rgba(12,83,101,.98),rgba(9,54,70,.98))!important;
  box-shadow:
    0 10px 28px rgba(0,15,25,.26),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(34,190,177,.05)!important;
  color:#fff!important;
  white-space:nowrap;
  overflow:hidden;
}
.faro-pride-counter::after{
  content:"";
  position:absolute;
  inset:-80% -28%;
  z-index:-1;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.13) 49%,transparent 56%);
  transform:translateX(-55%);
  animation:faroPrideSweep 5.5s ease-in-out infinite;
  pointer-events:none;
}
.faro-pride-mark{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid!important;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#67D8CA,#35AFA5);
  border:1px solid rgba(255,255,255,.3);
  color:#062D3A!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:1000!important;
  text-shadow:0 1px 0 rgba(255,255,255,.3);
  box-shadow:0 5px 14px rgba(51,194,181,.28),inset 0 1px 0 rgba(255,255,255,.4);
}
.faro-pride-copy{
  display:grid!important;
  gap:1px!important;
  align-items:center;
  line-height:1.05;
  color:#fff!important;
}
.faro-pride-copy>small{
  display:block!important;
  margin:0!important;
  color:#8FD7D0!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.faro-pride-copy>span{
  display:block!important;
  color:#F5FFFF!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.faro-pride-copy strong{
  display:inline!important;
  margin:0 2px!important;
  color:#FFFFFF!important;
  font-size:18px!important;
  font-weight:1000!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  text-shadow:0 2px 12px rgba(97,225,211,.34);
}
.public-round-counter.faro-pride-counter,
.signin-round-counter.faro-pride-counter{
  min-width:max-content;
}
@keyframes faroPrideSweep{
  0%,68%{transform:translateX(-55%)}
  84%,100%{transform:translateX(55%)}
}
@media (max-width:760px){
  .public-round-counter.faro-pride-counter,
  .signin-round-counter.faro-pride-counter{
    gap:7px!important;
    min-height:40px!important;
    padding:4px 10px 4px 5px!important;
    margin:0!important;
  }
  .faro-pride-mark{
    width:29px;
    height:29px;
    flex-basis:29px;
    font-size:14px!important;
  }
  .faro-pride-copy>small{font-size:6px!important;letter-spacing:.11em!important}
  .faro-pride-copy>span{font-size:9px!important}
  .faro-pride-copy strong{font-size:15px!important}
}
@media (max-width:420px){
  .public-round-counter.faro-pride-counter,
  .signin-round-counter.faro-pride-counter{
    gap:6px!important;
    padding-right:8px!important;
  }
  .faro-pride-mark{width:27px;height:27px;flex-basis:27px;font-size:13px!important}
  .faro-pride-copy>small{font-size:5.5px!important}
  .faro-pride-copy>span{font-size:8.5px!important}
  .faro-pride-copy strong{font-size:14px!important}
}
@media (prefers-reduced-motion:reduce){
  .faro-pride-counter::after{animation:none!important}
}


/* Faro v3.6.31 · contador simplificado, sin texto redundante */
.faro-pride-copy{display:flex!important;align-items:baseline!important;gap:4px!important;line-height:1!important}
.faro-pride-copy>small{display:none!important}
.faro-pride-copy>span{font-size:11px!important;font-weight:850!important;color:#F5FFFF!important;letter-spacing:.01em!important}
.faro-pride-copy strong{font-size:19px!important;margin-left:2px!important;color:#FFFFFF!important}
@media(max-width:760px){
  .faro-pride-copy>span{font-size:10px!important}
  .faro-pride-copy strong{font-size:16px!important}
}
@media(max-width:420px){
  .faro-pride-copy>span{font-size:9px!important}
  .faro-pride-copy strong{font-size:15px!important}
}


/* Faro v3.6.32 · contador público corregido en escritorio */
@media(min-width:901px){
  .public-nav{
    display:grid!important;
    grid-template-columns:auto minmax(220px,1fr) auto!important;
    gap:18px!important;
    align-items:center!important;
  }
  .public-brand{grid-column:1}
  .public-round-counter.faro-pride-counter{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:center!important;
    margin:0 auto!important;
    min-width:fit-content!important;
    max-width:100%;
  }
  .public-nav nav{
    grid-column:3;
    justify-self:end!important;
    gap:18px!important;
    flex-wrap:nowrap!important;
  }
}
@media(min-width:901px) and (max-width:1280px){
  .public-nav{grid-template-columns:auto minmax(180px,1fr) auto!important;gap:12px!important}
  .public-nav nav{gap:14px!important}
  .public-nav nav>a,.public-faq-link{font-size:12px!important}
  .public-login-btn{padding:9px 12px!important}
  .public-round-counter.faro-pride-counter{transform:scale(.96)!important;transform-origin:center!important}
}

/* Faro v3.6.34 · iconografía y badges del menú SuperAdmin */
.sa-topnav a[data-icon]{position:relative}
.sa-topnav a[data-icon]::before{content:attr(data-icon);display:grid;place-items:center;min-width:24px;width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(140,211,205,.12);color:#DFF7F4;font-size:15px;font-weight:900;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.sa-topnav a[data-icon="NFC"]::before{font-size:10px;letter-spacing:.08em;font-family:Arial,sans-serif}
.sa-topnav a.active[data-icon]::before{background:linear-gradient(135deg,rgba(79,214,201,.22),rgba(58,139,184,.20));border-color:rgba(132,233,221,.24);color:#fff}
.sa-nav-badge{margin-left:auto;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#C82030;color:#fff;font-size:10px;font-weight:900;line-height:1;box-shadow:0 6px 18px rgba(200,32,48,.28)}
body.faro-nav-collapsed .sa-topnav a[data-icon]{position:relative}
body.faro-nav-collapsed .sa-topnav a[data-has-badge="1"]::after{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:999px;background:#FF5063;box-shadow:0 0 0 2px rgba(6,43,56,.85)}
body.faro-nav-collapsed .sa-nav-badge{display:none!important}
body:not(.faro-nav-collapsed) .sa-nav-badge{display:inline-grid!important}

/* Faro v3.6.33 · navegación móvil de SuperAdmin */
.sa-nav-toggle-inside{
  width:100%;
  min-height:46px;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  padding:10px 12px!important;
  margin:0 0 5px;
  border:1px solid rgba(91,207,195,.18)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.035)!important;
  color:#D9ECEF!important;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  box-shadow:none!important;
}
.sa-nav-toggle-inside>span:first-child{font-size:20px;line-height:1;width:22px;text-align:center}
.sa-nav-toggle-label{font-size:12px;letter-spacing:.02em}
.sa-nav-toggle-inside:hover{background:rgba(73,191,179,.11)!important;border-color:rgba(91,207,195,.28)!important;color:#fff!important}
body.faro-nav-collapsed .sa-nav-toggle-inside{justify-content:center;padding:8px!important}
body.faro-nav-collapsed .sa-nav-toggle-label{display:none!important}

.faro-nav-backdrop{display:none;position:fixed;inset:64px 0 0 0;z-index:79;border:0;padding:0;background:rgba(2,18,25,.16);backdrop-filter:none;cursor:default}
@media(max-width:780px){
  .sa-topnav{z-index:90!important}
  .faro-nav-backdrop.visible{display:block}
  body.faro-nav-collapsed .faro-nav-backdrop{display:none!important}
  body.faro-sa-nav-open{overflow-x:hidden}
  .sa-nav-toggle-inside{flex:0 0 auto!important}
}


/* Faro v3.6.35 · SuperAdmin móvil: drawer sin destello + control reconocible + logout */
@media(max-width:780px){
  /* Estado previo al primer paint: evita que el drawer se vea abierto unas milésimas. */
  html.faro-sa-precollapsed .sa-topnav{width:68px!important;padding:10px 7px!important;box-shadow:10px 0 30px rgba(0,20,28,.12)!important}
  html.faro-sa-precollapsed .sa-main{margin-left:68px!important}
  html.faro-sa-precollapsed .sa-topnav a{justify-content:center!important;padding:8px!important}
  html.faro-sa-precollapsed .sa-topnav a>span,html.faro-sa-precollapsed .sa-nav-toggle-label,html.faro-sa-precollapsed .sa-nav-badge{display:none!important}
  html.faro-sa-precollapsed .sa-nav-toggle-inside{justify-content:center!important;padding:8px!important}

  .sa-header-actions{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}
  .sa-header-user{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#E8F5F6}
  .admin-top-links a.sa-logout-button{display:inline-flex!important;width:42px;height:42px;padding:0!important;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.055);color:#fff!important;text-decoration:none;flex:0 0 42px}
  .sa-logout-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .sa-logout-button span{display:none!important}
}
@media(max-width:420px){.sa-header-user{max-width:118px;font-size:11px}}
@media(min-width:781px){
  .sa-logout-button{display:inline-flex!important;align-items:center;gap:7px;text-decoration:none}
  .sa-logout-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
}

/* Toggle del drawer: hamburger = navegación; chevron muestra la dirección del cambio. */
.sa-nav-toggle-inside{position:relative!important}
.sa-nav-hamburger{width:24px;height:20px;display:grid!important;align-content:center;gap:4px;flex:0 0 24px}
.sa-nav-hamburger i{display:block;width:20px;height:2px;border-radius:999px;background:currentColor;opacity:.96}
.sa-nav-chevron{margin-left:auto;display:grid!important;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(91,207,195,.10);color:#72D7CC;font-size:23px;line-height:1;font-family:Arial,sans-serif;font-weight:700}
body.faro-nav-collapsed .sa-nav-toggle-inside{position:relative!important}
body.faro-nav-collapsed .sa-nav-hamburger{margin:0 auto}
body.faro-nav-collapsed .sa-nav-chevron{position:absolute;right:3px;bottom:3px;width:15px;height:15px;border-radius:999px;font-size:15px;background:#36B6AA;color:#062B38;box-shadow:0 0 0 2px #062B38}
body.faro-nav-collapsed .sa-nav-toggle-label{display:none!important}
body:not(.faro-nav-collapsed) .sa-nav-toggle-label{display:block!important}
body:not(.faro-nav-collapsed) .sa-nav-toggle-inside{padding-left:13px!important;padding-right:10px!important}


/* Faro v3.6.36 · SuperAdmin: desktop fijo y móvil con barra lateral fija */
.superadmin-body .admin-top{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:120!important;
  width:100%!important;
}
.superadmin-body .sa-topnav{
  position:fixed!important;
  bottom:0!important;
}
@media(min-width:781px){
  .superadmin-body .sa-nav-toggle-inside{display:none!important}
  .superadmin-body .sa-topnav{
    top:72px!important;
    width:238px!important;
    padding:16px 11px!important;
    box-shadow:10px 0 30px rgba(6,43,56,.08)!important;
  }
  .superadmin-body.faro-nav-collapsed .sa-topnav{width:238px!important}
  .superadmin-body .sa-topnav a,
  .superadmin-body.faro-nav-collapsed .sa-topnav a{
    justify-content:flex-start!important;
    padding:10px 12px!important;
    font-size:13px!important;
  }
  .superadmin-body .sa-topnav a>span,
  .superadmin-body.faro-nav-collapsed .sa-topnav a>span{display:block!important}
  .superadmin-body .sa-nav-badge,
  .superadmin-body.faro-nav-collapsed .sa-nav-badge{display:inline-grid!important}
  .superadmin-body .sa-main,
  .superadmin-body.faro-nav-collapsed .sa-main{
    margin-left:238px!important;
    padding-top:98px!important;
    width:auto!important;
    max-width:none!important;
  }
}
@media(max-width:780px){
  .superadmin-body .admin-top{height:64px!important;min-height:64px!important}
  .superadmin-body .sa-topnav{top:64px!important}
  .superadmin-body .sa-main{padding-top:80px!important}
  html.faro-sa-precollapsed .superadmin-body .sa-topnav{top:64px!important}
}


/* Faro v3.6.37 · Header fijo y salida visible para Supervisor/Admin */
body.admin-body:not(.superadmin-body) .admin-top{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:120!important;
  width:100%!important;
  min-height:72px!important;
}
body.admin-body:not(.superadmin-body) .admin-nav{
  top:72px!important;
}
body.admin-body:not(.superadmin-body) .admin-main{
  padding-top:98px!important;
}
.admin-header-actions{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}
.admin-header-user{display:block;color:#E8F5F6;font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-logout-button{display:inline-flex!important;align-items:center;gap:7px!important;text-decoration:none!important}
.admin-logout-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}

/* Cuando SuperAdmin está dentro de una organización, el banner se conserva arriba. */
body.admin-body.support-active .support-mode-banner{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:130!important;min-height:42px}
body.admin-body.support-active .admin-top{top:42px!important}
body.admin-body.support-active .admin-nav{top:114px!important}
body.admin-body.support-active .admin-main{padding-top:140px!important}

@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .admin-top{height:64px!important;min-height:64px!important;padding:0 10px!important}
  body.admin-body:not(.superadmin-body) .admin-nav{top:64px!important}
  body.admin-body:not(.superadmin-body) .admin-main{padding-top:80px!important}
  .admin-session-header .admin-brand{min-width:0}
  .admin-session-header .admin-brand>div:last-child{min-width:0}
  .admin-session-header .admin-brand span{display:none!important}
  .admin-header-actions{margin-left:auto!important;gap:6px!important}
  .admin-header-user{max-width:105px;font-size:11px}
  .admin-header-desktop-link{display:none!important}
  .admin-top-links a.admin-logout-button{display:inline-flex!important;width:42px;height:42px;padding:0!important;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.055);color:#fff!important;flex:0 0 42px}
  .admin-logout-button svg{width:21px;height:21px}
  .admin-logout-button span{display:none!important}
  .admin-header-notifications{display:inline-flex!important;width:38px;height:38px;padding:0!important;align-items:center;justify-content:center!important;border-radius:10px}
  .admin-header-nav-toggle{width:40px;height:40px;flex:0 0 40px}
  body.admin-body.support-active .support-mode-banner{min-height:54px;font-size:9px;padding:7px 10px}
  body.admin-body.support-active .admin-top{top:54px!important}
  body.admin-body.support-active .admin-nav{top:118px!important}
  body.admin-body.support-active .admin-main{padding-top:136px!important}
}
@media(max-width:430px){
  .admin-header-user{display:none!important}
  .admin-session-header .admin-brand strong{font-size:15px}
  .admin-header-actions{gap:4px!important}
}


/* Faro v3.6.38 · header Admin persistente también en Safari/iOS */
body.admin-body:not(.superadmin-body) .admin-top{
  position:fixed!important;
  position:-webkit-fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:500!important;
  -webkit-transform:translate3d(0,0,0)!important;
  transform:translate3d(0,0,0)!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  will-change:transform;
}
body.admin-body:not(.superadmin-body){
  -webkit-overflow-scrolling:touch;
}
@supports (padding-top: env(safe-area-inset-top)){
  @media(max-width:780px){
    body.admin-body:not(.superadmin-body) .admin-top{
      padding-left:max(10px,env(safe-area-inset-left))!important;
      padding-right:max(10px,env(safe-area-inset-right))!important;
    }
  }
}


/* Faro v3.6.39 · header Admin estable en Chrome iOS (CriOS) */
html.admin-html{
  overflow-x:clip!important;
  overflow-y:visible!important;
  overscroll-behavior-y:auto;
}
html.admin-html body.admin-body:not(.superadmin-body){
  overflow-x:clip!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:auto!important;
}
body.admin-body:not(.superadmin-body) .admin-top{
  -webkit-transform:none!important;
  transform:none!important;
  -webkit-backface-visibility:visible!important;
  backface-visibility:visible!important;
  will-change:auto!important;
}
/* Chrome en iOS usa WebKit pero maneja una visual viewport separada. La
   compensación mantiene header y menú anclados a la zona visible al ocultarse
   o aparecer las barras del navegador. */
html.faro-crios{--faro-visual-top:0px}
html.faro-crios body.admin-body:not(.superadmin-body) .admin-top{
  top:var(--faro-visual-top)!important;
}
html.faro-crios body.admin-body:not(.superadmin-body) .admin-nav{
  top:calc(64px + var(--faro-visual-top))!important;
}
html.faro-crios body.admin-body.support-active .support-mode-banner{
  top:var(--faro-visual-top)!important;
}
html.faro-crios body.admin-body.support-active .admin-top{
  top:calc(54px + var(--faro-visual-top))!important;
}
html.faro-crios body.admin-body.support-active .admin-nav{
  top:calc(118px + var(--faro-visual-top))!important;
}
@media(min-width:781px){
  html.faro-crios body.admin-body:not(.superadmin-body) .admin-nav{top:calc(72px + var(--faro-visual-top))!important}
  html.faro-crios body.admin-body.support-active .admin-top{top:calc(42px + var(--faro-visual-top))!important}
  html.faro-crios body.admin-body.support-active .admin-nav{top:calc(114px + var(--faro-visual-top))!important}
}


/* Faro v3.6.40 · contador SuperAdmin, acciones móviles parejas y password reveal */
.sa-header-round-counter{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:4px 12px 4px 5px;
  border:1px solid rgba(105,220,207,.30);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(16,105,113,.80),rgba(9,65,80,.92));
  color:#F5FFFF;
  box-shadow:0 8px 22px rgba(0,18,27,.22),inset 0 1px 0 rgba(255,255,255,.06);
  white-space:nowrap;
  z-index:2;
}
.sa-header-round-counter>span:not(.sa-header-round-mark){font-size:10px;font-weight:850;color:#E8FBF9}
.sa-header-round-counter>strong{font-size:17px!important;line-height:1;color:#fff!important;text-shadow:0 2px 10px rgba(104,217,205,.28)!important}
.sa-header-round-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#68D8CB,#35AFA5);color:#062D3A;font-size:14px;font-weight:1000;box-shadow:0 4px 12px rgba(51,194,181,.24)}

@media(max-width:780px){
  .superadmin-body .sa-header-user{display:none!important}
  .superadmin-body .sa-header-round-counter{min-height:34px;padding:3px 8px 3px 4px;gap:5px}
  .superadmin-body .sa-header-round-mark{width:26px;height:26px;font-size:12px}
  .superadmin-body .sa-header-round-counter>span:not(.sa-header-round-mark){font-size:8.5px}
  .superadmin-body .sa-header-round-counter>strong{font-size:14px!important}
  .superadmin-body .sa-institution-head-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  .superadmin-body .sa-institution-head-actions>.btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:6px 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.12!important;
    font-size:10.5px!important;
  }
}
@media(max-width:390px){
  .superadmin-body .sa-header-round-counter>span:not(.sa-header-round-mark){font-size:7.8px}
  .superadmin-body .sa-header-round-counter>strong{font-size:13px!important}
  .superadmin-body .sa-header-round-counter{padding-right:6px}
}

.password-reveal-wrap{position:relative;display:block;width:100%}
.password-reveal-wrap input{padding-right:52px!important}
.password-reveal-toggle{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#56747D;
  cursor:pointer;
  z-index:2;
}
.password-reveal-toggle:hover,.password-reveal-toggle:focus-visible{background:#EAF5F4;color:#087D72;outline:2px solid rgba(53,175,165,.18);outline-offset:0}
.password-eye{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-eye-off{display:none}
.password-reveal-toggle.is-visible .password-eye-open{display:none}
.password-reveal-toggle.is-visible .password-eye-off{display:block}
@media(max-width:780px){.password-reveal-toggle{width:36px;height:32px;right:3px}.password-reveal-wrap input{padding-right:44px!important}}


/* v3.6.41 · SuperAdmin oscuro en cartera/administración */
body.superadmin-body .sa-list-panel,
body.superadmin-body .sa-list-panel.panel{
  background:linear-gradient(180deg,rgba(14,63,78,.96),rgba(9,53,67,.98))!important;
  border:1px solid rgba(105,208,198,.18)!important;
}
body.superadmin-body .sa-section-title h2,
body.superadmin-body .sa-list-title h2,
body.superadmin-body .sa-section-title strong,
body.superadmin-body .tenant-title strong,
body.superadmin-body .tenant-details strong,
body.superadmin-body .sa-company-summary strong,
body.superadmin-body .sa-primary-admin-copy strong,
body.superadmin-body .sa-support-entry span,
body.superadmin-body .sa-search-box input,
body.superadmin-body .sa-search-box input::placeholder,
body.superadmin-body .sa-search-box span,
body.superadmin-body .tenant-details code{
  color:#EAF7F8!important;
}
body.superadmin-body .sa-section-title .eyebrow,
body.superadmin-body .tenant-title span,
body.superadmin-body .sa-company-summary span,
body.superadmin-body .sa-company-summary small,
body.superadmin-body .tenant-details span,
body.superadmin-body .sa-primary-admin-copy>span,
body.superadmin-body .sa-primary-admin-copy small,
body.superadmin-body .sa-admin-access-state em,
body.superadmin-body .sa-search-box a,
body.superadmin-body .admin-signature{
  color:#AFC9CF!important;
}
body.superadmin-body .sa-result-count{
  background:linear-gradient(180deg,#1A4957,#113A48)!important;
  border:1px solid rgba(116,196,204,.28)!important;
  color:#F6FBFC!important;
  box-shadow:0 8px 18px rgba(0,18,27,.16)!important;
}
body.superadmin-body .sa-client-search{
  align-items:stretch!important;
}
body.superadmin-body .sa-search-box{
  background:#082C37!important;
  border:1px solid rgba(116,196,204,.24)!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.16)!important;
}
body.superadmin-body .sa-search-box input{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.superadmin-body .sa-client-search>.btn{
  background:linear-gradient(90deg,#128E84,#45B8AD)!important;
  border-color:transparent!important;
  color:#fff!important;
}
body.superadmin-body .tenant-card-head{
  align-items:flex-start!important;
}
body.superadmin-body .tenant-logo{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(116,196,204,.18)!important;
}
body.superadmin-body .tenant-status.on{
  background:#D7FBF1!important;
  color:#0F6F61!important;
}
body.superadmin-body .tenant-status.off{
  background:#FFE7EB!important;
  color:#A13347!important;
}
body.superadmin-body .sa-company-summary>div,
body.superadmin-body .tenant-details>div,
body.superadmin-body .sa-primary-admin-box{
  background:linear-gradient(180deg,#194D5C,#123E4D)!important;
  border:1px solid rgba(116,196,204,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
body.superadmin-body .sa-primary-admin-avatar{
  background:linear-gradient(180deg,#0A5B7A,#0A4760)!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}
body.superadmin-body .sa-admin-access-state .state-ok{
  background:#DBFBF0!important;
  color:#0F6F61!important;
}
body.superadmin-body .sa-admin-access-state .state-pending{
  background:#FFF2CF!important;
  color:#8B5A00!important;
}
body.superadmin-body .sa-admin-access-state .state-neutral{
  background:#E6EFF2!important;
  color:#46646F!important;
}
body.superadmin-body .tenant-details .text-good{color:#9BE7D4!important}
body.superadmin-body .tenant-details .text-bad{color:#FFB7C1!important}
body.superadmin-body .admin-signature{
  background:transparent!important;
  border-top:1px solid rgba(116,196,204,.10)!important;
}


/* v3.6.42 · acciones de organización integradas a la paleta Faro */
body.superadmin-body .sa-company-actions .sa-action-btn{
  min-height:46px!important;
  border-radius:12px!important;
  border-width:1px!important;
  font-weight:850!important;
  box-shadow:0 8px 18px rgba(0,18,27,.12)!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn:hover{
  transform:translateY(-1px)!important;
  filter:none!important;
}
/* Entrar: principal, pero sin brillo excesivo */
body.superadmin-body .sa-company-actions .sa-action-enter{
  background:rgba(34,154,143,.22)!important;
  border-color:rgba(90,210,198,.42)!important;
  color:#D9FFF9!important;
}
body.superadmin-body .sa-company-actions .sa-action-enter:hover{
  background:rgba(34,154,143,.32)!important;
  border-color:rgba(107,224,212,.58)!important;
}
/* Supervisores: azul petróleo/celeste */
body.superadmin-body .sa-company-actions .sa-action-supervisors{
  background:rgba(45,116,150,.18)!important;
  border-color:rgba(91,158,190,.34)!important;
  color:#D8F1FB!important;
}
body.superadmin-body .sa-company-actions .sa-action-supervisors:hover{background:rgba(45,116,150,.28)!important}
/* Contrato: neutro oscuro */
body.superadmin-body .sa-company-actions .sa-action-contract{
  background:rgba(126,166,176,.10)!important;
  border-color:rgba(151,191,200,.23)!important;
  color:#D9E9ED!important;
}
body.superadmin-body .sa-company-actions .sa-action-contract:hover{background:rgba(126,166,176,.17)!important}
/* Backup: aqua profundo */
body.superadmin-body .sa-company-actions .sa-action-backup{
  background:rgba(42,135,132,.15)!important;
  border-color:rgba(78,178,172,.30)!important;
  color:#CDEEEA!important;
}
body.superadmin-body .sa-company-actions .sa-action-backup:hover{background:rgba(42,135,132,.24)!important}
/* Exportar: azul profundo */
body.superadmin-body .sa-company-actions .sa-action-export{
  background:rgba(55,101,154,.17)!important;
  border-color:rgba(94,139,190,.31)!important;
  color:#DCEBFF!important;
}
body.superadmin-body .sa-company-actions .sa-action-export:hover{background:rgba(55,101,154,.26)!important}
/* Suspender: siempre rojo, integrado al dark mode */
body.superadmin-body .sa-company-actions .sa-action-suspend{
  background:rgba(157,45,61,.20)!important;
  border-color:rgba(224,93,109,.42)!important;
  color:#FFDDE2!important;
}
body.superadmin-body .sa-company-actions .sa-action-suspend:hover{
  background:rgba(180,48,67,.31)!important;
  border-color:rgba(238,107,123,.58)!important;
}


/* v3.6.43 · acciones SuperAdmin distintivas, oscuras y responsivas */
body.superadmin-body .sa-company-actions .sa-action-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  padding:8px 11px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.08!important;
  text-align:center!important;
  white-space:normal!important;
  box-shadow:0 8px 18px rgba(0,18,27,.14)!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn .sa-action-icon{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  font-size:15px!important;
  line-height:1!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn>span:last-child{min-width:0!important}

/* Acción principal: acceso a la organización */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-enter{
  background:linear-gradient(135deg,#148F85,#35AFA5)!important;
  border-color:rgba(117,235,222,.38)!important;
  color:#FFFFFF!important;
  box-shadow:0 9px 22px rgba(20,143,133,.22)!important;
}
/* Gestión de personas */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-supervisors{
  background:#164B62!important;
  border-color:#286C87!important;
  color:#EAF7FD!important;
}
/* Contrato / configuración comercial */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-contract{
  background:#304D5A!important;
  border-color:#4F7180!important;
  color:#EDF5F7!important;
}
/* Respaldo rápido */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-backup{
  background:#155B59!important;
  border-color:#2E7D79!important;
  color:#E6FAF7!important;
}
/* Exportación completa */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-export{
  background:#244C73!important;
  border-color:#3B6B97!important;
  color:#EDF5FF!important;
}
/* Acción destructiva */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-suspend{
  background:#6B2632!important;
  border-color:#A54757!important;
  color:#FFECEF!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-enter:hover{background:linear-gradient(135deg,#19A095,#42BEB3)!important}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-supervisors:hover{background:#1B5871!important}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-contract:hover{background:#3A5966!important}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-backup:hover{background:#1A6965!important}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-export:hover{background:#2B5984!important}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-suspend:hover{background:#7D2A39!important}

/* En móvil: 2 columnas estables; solo teléfonos muy angostos bajan a 1. */
@media(max-width:760px){
  body.superadmin-body .sa-company-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.superadmin-body .sa-company-actions .sa-action-btn{
    height:auto!important;
    min-height:54px!important;
    padding:9px 8px!important;
    font-size:10.5px!important;
    gap:6px!important;
  }
  body.superadmin-body .sa-company-actions .sa-action-btn .sa-action-icon{
    width:22px!important;height:22px!important;flex-basis:22px!important;font-size:13px!important;
  }
}
@media(max-width:340px){
  body.superadmin-body .sa-company-actions{grid-template-columns:1fr!important}
}

/* v3.6.44 · navegación SuperAdmin alineada y consistente */
/* En escritorio, cada opción reserva una columna derecha fija para el icono
   y centra el texto en todo el espacio restante. */
@media(min-width:781px){
  body.superadmin-body .sa-topnav>a,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:8px 9px 8px 12px!important;
    gap:7px!important;
    text-align:center!important;
  }
  body.superadmin-body .sa-topnav>a>span,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a>span{
    grid-column:1!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
    justify-self:stretch!important;
    margin:0!important;
  }
  body.superadmin-body .sa-topnav>a[data-icon]::before,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-icon]::before{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  /* El CSS histórico daba margin-left:auto al último enlace; en un menú vertical
     eso desplazaba Ajustes hacia el centro. Lo anulamos de forma explícita. */
  body.superadmin-body .sa-topnav>a:last-child,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a:last-child{
    margin-left:0!important;
    margin-top:0!important;
    align-self:stretch!important;
  }
  /* Solicitudes: el contador queda asociado al icono sin desplazar el texto. */
  body.superadmin-body .sa-topnav>a[data-has-badge="1"]{position:relative!important}
  body.superadmin-body .sa-topnav>a[data-has-badge="1"] .sa-nav-badge{
    position:absolute!important;
    right:3px!important;
    top:2px!important;
    z-index:2!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:8px!important;
  }
}

/* En teléfono colapsado dejamos únicamente el icono perfectamente centrado. */
@media(max-width:780px){
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a{
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    width:100%!important;
    margin:0!important;
    padding:8px!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-icon]::before{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
    margin:0!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a>span{display:none!important}
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a:last-child{margin:0!important}
}

/* v3.6.45 · acciones de organización: texto centrado + icono a la derecha */
body.superadmin-body .sa-company-actions .sa-action-btn{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px!important;
  align-items:center!important;
  column-gap:8px!important;
  width:100%!important;
  min-width:0!important;
  text-align:center!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn>span:last-child{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  text-align:center!important;
  justify-self:stretch!important;
  margin:0!important;
  overflow-wrap:anywhere;
}
body.superadmin-body .sa-company-actions .sa-action-btn .sa-action-icon{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  margin:0!important;
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  flex:0 0 26px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.09)!important;
}

/* Las cuatro acciones secundarias comparten un gris azulado oscuro. */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-supervisors,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-contract,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-backup,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-export{
  background:#263F4C!important;
  border-color:#456270!important;
  color:#EEF6F8!important;
  box-shadow:0 8px 18px rgba(0,18,27,.13)!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-supervisors:hover,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-contract:hover,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-backup:hover,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-export:hover{
  background:#31505E!important;
  border-color:#587887!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-supervisors .sa-action-icon,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-contract .sa-action-icon,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-backup .sa-action-icon,
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-export .sa-action-icon{
  background:#355563!important;
  border-color:#4D6D7A!important;
}

/* Entrar como administrador y Suspender conservan sus colores distintivos. */
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-enter{
  background:linear-gradient(135deg,#148F85,#35AFA5)!important;
  border-color:rgba(117,235,222,.38)!important;
  color:#fff!important;
}
body.superadmin-body .sa-company-actions .sa-action-btn.sa-action-suspend{
  background:#6B2632!important;
  border-color:#A54757!important;
  color:#FFECEF!important;
}

@media(max-width:760px){
  body.superadmin-body .sa-company-actions .sa-action-btn{
    grid-template-columns:minmax(0,1fr) 26px!important;
    min-height:54px!important;
    height:auto!important;
    padding:9px 8px 9px 10px!important;
    column-gap:5px!important;
  }
  body.superadmin-body .sa-company-actions .sa-action-btn .sa-action-icon{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    font-size:13px!important;
  }
  body.superadmin-body .sa-company-actions .sa-action-btn>span:last-child{
    font-size:10.5px!important;
    line-height:1.15!important;
  }
}


/* v3.6.46 · menú SuperAdmin: texto centrado + icono a la derecha en vista expandida */
@media(max-width:780px){
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 9px 8px 12px!important;
    gap:7px!important;
    text-align:center!important;
    justify-content:initial!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a>span{
    grid-column:1!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
    justify-self:stretch!important;
    margin:0!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a[data-icon]::before{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a:last-child{margin-left:0!important}
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a[data-has-badge="1"]{position:relative!important}
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a[data-has-badge="1"] .sa-nav-badge{
    position:absolute!important;
    right:3px!important;
    top:2px!important;
    z-index:2!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:8px!important;
  }
}


/* v3.6.47 · KPIs SuperAdmin más compactos y planos en móvil */
@media(max-width:780px){
  body.superadmin-body .sa-commercial-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:10px 0 14px!important;
  }
  body.superadmin-body .sa-commercial-kpis>div,
  body.superadmin-body .sa-commercial-kpis>a{
    min-height:76px!important;
    height:auto!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    background:#103B47!important;
    border:1px solid rgba(116,196,204,.20)!important;
    border-top:2px solid #4ABFB3!important;
    box-shadow:0 6px 16px rgba(0,18,27,.16)!important;
    overflow:hidden!important;
  }
  body.superadmin-body .sa-commercial-kpis span{
    font-size:9px!important;
    line-height:1.15!important;
    letter-spacing:.06em!important;
    color:#AFC6CC!important;
  }
  body.superadmin-body .sa-commercial-kpis strong{
    font-size:22px!important;
    line-height:1.05!important;
    margin-top:5px!important;
    color:#FFFFFF!important;
  }
  body.superadmin-body .sa-kpi-link{
    justify-content:center!important;
  }
  body.superadmin-body .sa-kpi-link small{
    margin-top:5px!important;
    font-size:9px!important;
    color:#65D5CA!important;
  }
}


/* v3.6.48 · menú SuperAdmin corregido: icono izquierda, texto centrado, badge derecha */
/* Vista expandida: reservamos el mismo ancho a izquierda y derecha para que
   la etiqueta quede ópticamente centrada dentro del botón. */
@media(min-width:781px){
  body.superadmin-body .sa-topnav>a,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 9px!important;
    gap:7px!important;
    text-align:center!important;
  }
  body.superadmin-body .sa-topnav>a[data-icon]::before,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-icon]::before{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    margin:0!important;
  }
  body.superadmin-body .sa-topnav>a>span,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a>span{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    text-align:center!important;
    justify-self:stretch!important;
  }
  body.superadmin-body .sa-topnav>a .sa-nav-badge,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a .sa-nav-badge{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  body.superadmin-body .sa-topnav>a:last-child,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a:last-child{
    margin:0!important;
    align-self:stretch!important;
  }
}

@media(max-width:780px){
  /* Expandido en teléfono: mismo patrón que escritorio. */
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 9px!important;
    gap:7px!important;
    text-align:center!important;
    justify-content:initial!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a[data-icon]::before{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    margin:0!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a>span{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    text-align:center!important;
    justify-self:stretch!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a .sa-nav-badge{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  body.superadmin-body:not(.faro-nav-collapsed) .sa-topnav>a:last-child{margin:0!important}

  /* Colapsado: solo icono centrado; Solicitudes conserva punto rojo. */
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a{
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    padding:8px!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-icon]::before{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a>span,
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a .sa-nav-badge{display:none!important}
}


/* v3.6.49 · cartera compacta: resumen primero, detalle bajo demanda */
body.superadmin-body .sa-company-card-compact{
  padding:13px!important;
}
body.superadmin-body .sa-company-quick-summary{
  display:grid;
  grid-template-columns:1.35fr repeat(3,minmax(0,.78fr));
  gap:7px;
  margin:11px 0 10px;
}
body.superadmin-body .sa-company-quick-summary>div{
  min-width:0;
  padding:9px 10px;
  border-radius:11px;
  background:#123F4D;
  border:1px solid rgba(116,196,204,.18);
}
body.superadmin-body .sa-company-quick-summary span,
body.superadmin-body .sa-company-quick-summary strong,
body.superadmin-body .sa-company-quick-summary small{display:block}
body.superadmin-body .sa-company-quick-summary span{
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#9FBCC3;
  font-weight:900;
}
body.superadmin-body .sa-company-quick-summary strong{
  margin-top:3px;
  color:#fff!important;
  font-size:12px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
body.superadmin-body .sa-company-quick-summary small{
  margin-top:2px;
  color:#9FC5CB!important;
  font-size:8px;
  line-height:1.2;
}
body.superadmin-body .sa-company-expand{
  margin-top:2px;
  border-top:1px solid rgba(116,196,204,.12);
}
body.superadmin-body .sa-company-expand>summary{
  list-style:none;
}
body.superadmin-body .sa-company-expand>summary::-webkit-details-marker{display:none}
body.superadmin-body .sa-view-company-button{
  width:100%;
  min-height:40px;
  display:grid;
  grid-template-columns:1fr 26px;
  align-items:center;
  margin-top:8px;
  padding:8px 10px 8px 36px;
  border:1px solid rgba(123,235,222,.48);
  border-radius:11px;
  background:linear-gradient(90deg,#128E84,#45B8AD);
  color:#FFFFFF;
  font-size:11px;
  font-weight:900;
  text-align:center;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(18,142,132,.18),inset 0 1px 0 rgba(255,255,255,.10);
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease;
}
body.superadmin-body .sa-view-company-button:hover{
  filter:brightness(1.06);
  color:#fff;
  box-shadow:0 10px 24px rgba(18,142,132,.24),inset 0 1px 0 rgba(255,255,255,.13);
}
body.superadmin-body .sa-view-company-button:active{transform:translateY(1px)}
body.superadmin-body .sa-view-company-button>span:first-child,
body.superadmin-body .sa-view-company-button>.sa-view-company-close{
  grid-column:1;
  justify-self:stretch;
  text-align:center;
}
body.superadmin-body .sa-view-company-chevron{
  grid-column:2;
  justify-self:end;
  font-size:17px;
  line-height:1;
  transition:transform .18s ease;
}
body.superadmin-body .sa-view-company-close{display:none}
body.superadmin-body .sa-company-expand[open] .sa-view-company-open{display:none}
body.superadmin-body .sa-company-expand[open] .sa-view-company-close{display:block}
body.superadmin-body .sa-company-expand[open] .sa-view-company-chevron{transform:rotate(180deg)}
body.superadmin-body .sa-company-expanded-content{
  padding-top:10px;
  animation:saCompanyReveal .16s ease-out;
}
@keyframes saCompanyReveal{from{opacity:.15;transform:translateY(-3px)}to{opacity:1;transform:none}}
body.superadmin-body .sa-company-summary-expanded{margin-top:0!important}

@media(max-width:780px){
  body.superadmin-body .sa-company-card-compact{padding:11px!important}
  body.superadmin-body .sa-company-compact-head .tenant-logo{width:42px;height:42px}
  body.superadmin-body .sa-company-quick-summary{
    grid-template-columns:1.25fr 1fr;
    gap:6px;
    margin:9px 0 8px;
  }
  body.superadmin-body .sa-company-quick-summary>div{
    padding:8px 9px;
    min-height:54px;
  }
  body.superadmin-body .sa-company-quick-summary .sa-company-quick-main{grid-column:1/-1}
  body.superadmin-body .sa-company-quick-summary span{font-size:7px!important}
  body.superadmin-body .sa-company-quick-summary strong{font-size:11px!important;margin-top:3px!important}
  body.superadmin-body .sa-view-company-button{min-height:42px;margin-top:7px;font-size:11px}
  body.superadmin-body .sa-company-expanded-content{padding-top:9px}
}

/* Faro v3.6.51 · Skeleton dinámico SuperAdmin
   Conserva header/sidebar y emula la estructura de cada sección con tonos petróleo. */
body.superadmin-body .faro-sa-dynamic-skeleton{
  position:fixed!important;
  top:72px!important;
  left:238px!important;
  right:0!important;
  bottom:0!important;
  z-index:88!important;
  display:block;
  overflow:hidden!important;
  background:rgba(4,35,44,.90)!important;
  -webkit-backdrop-filter:blur(14px) saturate(.78)!important;
  backdrop-filter:blur(14px) saturate(.78)!important;
  border-left:1px solid rgba(105,208,198,.10)!important;
  pointer-events:auto;
}
body.superadmin-body .faro-sa-dynamic-skeleton.hidden{display:none!important}
body.superadmin-body .faro-sa-dynamic-skeleton .faro-skeleton-main{
  width:100%;
  min-height:100%;
  max-height:100%;
  overflow:hidden;
  padding:26px clamp(16px,2.4vw,34px) 50px!important;
  display:block!important;
  background:
    radial-gradient(circle at 92% 2%,rgba(66,190,177,.10),transparent 29%),
    linear-gradient(155deg,rgba(5,39,49,.88),rgba(7,49,60,.93))!important;
  filter:saturate(.92);
}
body.superadmin-body .faro-sa-dynamic-skeleton .faro-skeleton-main>*{
  filter:blur(.35px);
}
.faro-dyn-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.faro-dyn-heading>div:first-child{min-width:0;flex:1}
.faro-dyn-eyebrow,.faro-dyn-title,.faro-dyn-copy,.faro-dyn-subtitle,.faro-dyn-panel-title,.faro-dyn-line,.faro-dyn-head-actions i,.faro-dyn-toolbar i,.faro-dyn-fields i,.faro-dyn-action,.faro-dyn-search,.faro-dyn-kpi i,.faro-dyn-kpi b,.faro-dyn-org-stats i,.faro-dyn-status,.faro-dyn-table i{
  position:relative;overflow:hidden;background:#174A57;border:1px solid rgba(127,205,204,.09);
}
.faro-dyn-eyebrow{width:112px;height:9px;border-radius:7px;background:#2D756F}
.faro-dyn-title{width:min(410px,72%);height:30px;border-radius:11px;margin-top:9px;background:#1A5662}
.faro-dyn-copy{width:min(540px,84%);height:10px;border-radius:7px;margin-top:10px;background:#144651}
.faro-dyn-head-actions{display:flex;gap:8px;flex:0 0 auto}
.faro-dyn-head-actions i{display:block;width:132px;height:39px;border-radius:12px;background:#176B68}
.faro-dyn-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}
.faro-dyn-kpi{height:82px;padding:14px;border-radius:15px;background:#0F3D49;border:1px solid rgba(105,208,198,.13);box-shadow:0 10px 24px rgba(0,16,24,.14)}
.faro-dyn-kpi i,.faro-dyn-kpi b{display:block;border:0}
.faro-dyn-kpi i{width:58%;height:8px;border-radius:6px;background:#235D66}
.faro-dyn-kpi b{width:34%;height:23px;margin-top:12px;border-radius:8px;background:#2A6970}
.faro-dyn-panel{padding:17px;border-radius:18px;background:rgba(11,53,64,.90);border:1px solid rgba(105,208,198,.12);box-shadow:0 15px 34px rgba(0,15,23,.15);margin-bottom:16px}
.faro-dyn-panel-title{width:190px;height:20px;border-radius:8px;margin-bottom:14px}
.faro-dyn-search{height:39px;border-radius:12px;margin-bottom:13px;background:#0B3440}
.faro-dyn-org-list{display:grid;gap:11px}
.faro-dyn-org-card{padding:14px;border-radius:16px;background:#103C48;border:1px solid rgba(114,197,198,.12)}
.faro-dyn-org-head{display:grid;grid-template-columns:44px minmax(0,1fr) 78px;gap:11px;align-items:center}
.faro-dyn-avatar{width:44px;height:44px;border-radius:13px;background:#1D5963;border:1px solid rgba(105,208,198,.14)}
.faro-dyn-line{height:9px;border-radius:7px;margin:7px 0;width:76%}
.faro-dyn-line.short{width:48%}
.faro-dyn-status{height:22px;border-radius:999px;background:#1D675F}
.faro-dyn-org-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.faro-dyn-org-stats i{height:37px;border-radius:10px;background:#154854}
.faro-dyn-action{width:150px;height:35px;border-radius:11px;margin-top:12px;background:#187E76}
.faro-dyn-toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}
.faro-dyn-toolbar i{display:block;height:38px;border-radius:11px}.faro-dyn-toolbar i:first-child{width:260px}.faro-dyn-toolbar i:last-child{width:120px;background:#176B68}
.faro-dyn-table{display:grid;gap:7px}
.faro-dyn-table-head,.faro-dyn-table-row{display:grid;grid-template-columns:1.25fr 1fr .9fr 1fr;gap:8px}
.faro-dyn-table-head{padding:0 8px 3px}
.faro-dyn-table-head i{height:8px;border:0;border-radius:6px;background:#2B6068}
.faro-dyn-table-row{padding:10px 8px;border-radius:11px;background:#0C3541;border:1px solid rgba(117,189,193,.08)}
.faro-dyn-table-row i{height:10px;border:0;border-radius:6px;background:#1D515B}
.faro-dyn-form-grid,.faro-dyn-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.faro-dyn-form-panel,.faro-dyn-plan-card{padding:17px;border-radius:18px;background:#0D3945;border:1px solid rgba(105,208,198,.12);box-shadow:0 12px 30px rgba(0,16,24,.13)}
.faro-dyn-subtitle{width:42%;height:19px;border-radius:8px;margin-bottom:14px}
.faro-dyn-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.faro-dyn-fields i{display:block;height:42px;border-radius:10px;background:#0A303B}
.faro-dyn-fields.tall i:nth-child(5),.faro-dyn-fields.tall i:nth-child(6){height:70px}
.faro-dyn-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:15px}
.faro-dyn-plan-card .faro-dyn-action{width:100%}
.faro-dyn-heading>*,.faro-dyn-panel,.faro-dyn-org-card,.faro-dyn-kpi,.faro-dyn-form-panel,.faro-dyn-plan-card{
  animation:faroDynSkeletonSoft 1.55s ease-in-out infinite alternate;
}
@keyframes faroDynSkeletonSoft{from{opacity:.72}to{opacity:.96}}
@media(max-width:1050px){
  .faro-dyn-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .faro-dyn-plan-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  body.superadmin-body .faro-sa-dynamic-skeleton{top:64px!important;left:68px!important}
  body.superadmin-body .faro-sa-dynamic-skeleton .faro-skeleton-main{padding:16px 10px 42px!important}
  .faro-dyn-heading{align-items:flex-start;margin-bottom:13px}
  .faro-dyn-title{height:24px;width:78%}.faro-dyn-copy{width:92%}
  .faro-dyn-head-actions{gap:6px}.faro-dyn-head-actions i{width:74px;height:32px}
  .faro-dyn-kpis{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
  .faro-dyn-kpi{height:61px;padding:10px;border-radius:12px}
  .faro-dyn-kpi b{height:18px;margin-top:8px}
  .faro-dyn-panel{padding:11px;border-radius:14px}
  .faro-dyn-org-head{grid-template-columns:38px minmax(0,1fr) 58px;gap:8px}.faro-dyn-avatar{width:38px;height:38px}
  .faro-dyn-org-stats{grid-template-columns:1fr 1fr}.faro-dyn-org-stats i{height:30px}
  .faro-dyn-action{height:31px;width:120px}
  .faro-dyn-table-head,.faro-dyn-table-row{grid-template-columns:1.35fr .9fr .8fr}.faro-dyn-table-head i:last-child,.faro-dyn-table-row i:last-child{display:none}
  .faro-dyn-table-row{padding:8px 6px}
  .faro-dyn-form-grid,.faro-dyn-split,.faro-dyn-plan-grid{grid-template-columns:1fr;gap:9px}
  .faro-dyn-form-panel,.faro-dyn-plan-card{padding:12px;border-radius:14px}
  .faro-dyn-toolbar i:first-child{width:65%}.faro-dyn-toolbar i:last-child{width:30%}
}
@media(prefers-reduced-motion:reduce){
  .faro-dyn-heading>*,.faro-dyn-panel,.faro-dyn-org-card,.faro-dyn-kpi,.faro-dyn-form-panel,.faro-dyn-plan-card{animation:none!important}
}

/* Faro v3.6.52 · Velo de carga SuperAdmin
   Header y menú permanecen visibles; el contenido se cubre solo con petróleo difuminado. */
body.superadmin-body .faro-sa-dynamic-skeleton{
  position:fixed!important;
  top:72px!important;
  left:238px!important;
  right:0!important;
  bottom:0!important;
  z-index:88!important;
  display:block;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(70,184,171,.14),transparent 36%),
    radial-gradient(circle at 82% 24%,rgba(30,105,126,.13),transparent 42%),
    linear-gradient(155deg,rgba(4,35,44,.78),rgba(7,49,60,.88))!important;
  -webkit-backdrop-filter:blur(16px) saturate(.72)!important;
  backdrop-filter:blur(16px) saturate(.72)!important;
  border-left:1px solid rgba(105,208,198,.08)!important;
  pointer-events:auto;
}
body.superadmin-body .faro-sa-dynamic-skeleton.hidden{display:none!important}
body.superadmin-body .faro-sa-dynamic-skeleton>*{display:none!important}
@media(max-width:780px){
  body.superadmin-body .faro-sa-dynamic-skeleton{top:64px!important;left:68px!important}
}
@media(prefers-reduced-motion:reduce){
  body.superadmin-body .faro-sa-dynamic-skeleton{scroll-behavior:auto!important}
}

/* Faro v3.6.53 · Modales SuperAdmin integrados al tema petróleo */
body.superadmin-body .sa-modal-overlay{
  background:rgba(2,20,28,.64)!important;
  -webkit-backdrop-filter:blur(13px) saturate(.72)!important;
  backdrop-filter:blur(13px) saturate(.72)!important;
}
body.superadmin-body .sa-modal-card{
  background:
    radial-gradient(circle at 92% 0,rgba(67,184,171,.10),transparent 31%),
    linear-gradient(155deg,#082D38 0%,#062733 100%)!important;
  color:#DCECEF!important;
  border:1px solid rgba(105,208,198,.24)!important;
  box-shadow:0 34px 90px rgba(0,12,19,.56),inset 0 1px 0 rgba(255,255,255,.025)!important;
  scrollbar-color:rgba(105,208,198,.45) transparent;
}
body.superadmin-body .sa-modal-card::-webkit-scrollbar{width:8px}
body.superadmin-body .sa-modal-card::-webkit-scrollbar-track{background:transparent;margin:14px 0}
body.superadmin-body .sa-modal-card::-webkit-scrollbar-thumb{
  background:rgba(105,208,198,.34);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
body.superadmin-body .sa-modal-head{
  padding:2px 2px 13px!important;
  margin-bottom:13px!important;
  border-bottom:1px solid rgba(111,202,197,.13);
}
body.superadmin-body .sa-modal-head .eyebrow{color:#69D0C6!important}
body.superadmin-body .sa-modal-head h2{color:#F4FBFB!important;letter-spacing:-.025em}
body.superadmin-body .sa-modal-head p{color:#94B2B9!important}
body.superadmin-body .sa-modal-close{
  flex:0 0 auto;
  background:#103B47!important;
  color:#DFF5F3!important;
  border:1px solid rgba(105,208,198,.18)!important;
  box-shadow:none!important;
}
body.superadmin-body .sa-modal-close:hover{
  background:#164B56!important;
  color:#fff!important;
  border-color:rgba(105,208,198,.34)!important;
}
body.superadmin-body .sa-modal-card .sa-form-block{
  background:#0B3440!important;
  border:1px solid rgba(116,196,204,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
}
body.superadmin-body .sa-modal-card .sa-form-block-head strong{color:#DDF1F1!important}
body.superadmin-body .sa-modal-card .sa-form-block-head span{color:#8EADB4!important}
body.superadmin-body .sa-modal-card label{color:#AFC7CC!important}
body.superadmin-body .sa-modal-card input,
body.superadmin-body .sa-modal-card select,
body.superadmin-body .sa-modal-card textarea{
  background:#082B36!important;
  color:#F7FBFB!important;
  border-color:rgba(126,202,205,.23)!important;
  box-shadow:inset 0 1px 3px rgba(0,14,21,.22)!important;
}
body.superadmin-body .sa-modal-card input:focus,
body.superadmin-body .sa-modal-card select:focus,
body.superadmin-body .sa-modal-card textarea:focus{
  outline:none!important;
  border-color:#55BDB4!important;
  box-shadow:0 0 0 3px rgba(85,189,180,.10),inset 0 1px 3px rgba(0,14,21,.20)!important;
}
body.superadmin-body .sa-modal-card input::placeholder,
body.superadmin-body .sa-modal-card textarea::placeholder{color:#6F929A!important}
body.superadmin-body .sa-modal-card .sa-send-invite-toggle{
  background:#0A303B!important;
  border-color:rgba(116,196,204,.16)!important;
}
body.superadmin-body .sa-modal-card .sa-send-invite-toggle span strong{color:#D9EFED!important}
body.superadmin-body .sa-modal-card .sa-send-invite-toggle span small{color:#8EAEB4!important}
body.superadmin-body .sa-modal-card .sa-tax-preview{color:#78CFC5!important}
body.superadmin-body #createClientModal .sa-inline-actions{
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:3px;
}
body.superadmin-body #createClientModal .sa-inline-actions .btn{
  min-width:160px;
  justify-content:center;
  text-align:center;
}
body.superadmin-body #createClientModal .sa-inline-actions .btn:not(.primary){
  background:#123D49!important;
  color:#DCECEF!important;
  border-color:rgba(127,194,201,.22)!important;
}
body.superadmin-body #createClientModal .sa-inline-actions .btn:not(.primary):hover{
  background:#174955!important;
  color:#fff!important;
}

@media(max-width:780px){
  body.superadmin-body .sa-modal-overlay{
    place-items:start center!important;
    padding:10dvh 9px 10px!important;
  }
  body.superadmin-body .sa-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:80dvh!important;
    border-radius:18px!important;
    padding:14px!important;
  }
  body.superadmin-body .sa-modal-head{gap:10px!important;padding-bottom:11px!important}
  body.superadmin-body .sa-modal-head h2{font-size:22px!important;line-height:1.08!important}
  body.superadmin-body .sa-modal-head p{font-size:10px!important;line-height:1.35!important}
  body.superadmin-body .sa-modal-card .sa-form-block{padding:11px!important;border-radius:13px!important}
  body.superadmin-body #createClientModal .sa-inline-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    width:100%!important;
  }
  body.superadmin-body #createClientModal .sa-inline-actions .btn{
    flex:0 1 180px!important;
    min-width:130px!important;
  }
}


/* Faro v3.6.54 · fondo raíz SuperAdmin para overscroll iOS/Chrome/Safari
   Evita destellos/zonas blancas arriba y abajo cuando el viewport rebota. */
html.superadmin-html{
  background:#041E29!important;
  background-color:#041E29!important;
  min-height:100%!important;
}
html.superadmin-html body.superadmin-body{
  min-height:100dvh!important;
  background:
    radial-gradient(circle at 72% 0,rgba(40,139,137,.08),transparent 34%),
    linear-gradient(180deg,#041E29 0%,#062B38 54%,#041E29 100%)!important;
  background-color:#041E29!important;
}
/* Capa fija detrás de toda la interfaz: cubre incluso el rebote visual del viewport. */
html.superadmin-html body.superadmin-body::before{
  content:"";
  position:fixed;
  inset:-120px 0;
  z-index:-1;
  pointer-events:none;
  background:#041E29;
}


/* v3.6.55 · SuperAdmin móvil sin destello de menú expandido entre páginas */
@media(max-width:780px){
  /* Esta clase se añade en <head>, antes de pintar el body. Debe ganar incluso
     sobre las reglas posteriores de la vista expandida para evitar FOUC. */
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav{
    width:68px!important;
    padding:10px 7px!important;
    box-shadow:10px 0 30px rgba(0,20,28,.12)!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-main{
    margin-left:68px!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a{
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px!important;
    gap:0!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a[data-icon]::before{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:center!important;
    margin:0!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a>span,
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a .sa-nav-badge,
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-toggle-label{
    display:none!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-toggle-inside{
    justify-content:center!important;
    padding:8px!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a[data-has-badge="1"]::after{
    content:"";
    position:absolute;
    top:10px;
    right:10px;
    width:8px;
    height:8px;
    border-radius:999px;
    background:#FF5063;
    box-shadow:0 0 0 2px rgba(6,43,56,.85);
  }
}

/* v3.6.57 · edición de contrato SuperAdmin */
body.superadmin-body .sa-contract-page{display:grid;grid-template-columns:1fr;gap:18px;width:100%;max-width:none}
body.superadmin-body .sa-contract-panel{width:100%}
body.superadmin-body .sa-contract-history{width:100%;background:#0d3a47!important;border:1px solid rgba(91,207,195,.18)!important;color:#eaf8f7!important}
body.superadmin-body .sa-contract-history .activity-feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.superadmin-body .sa-contract-history .activity-feed article{background:#0a303c!important;border:1px solid rgba(109,204,198,.17)!important;color:#eaf8f7!important;box-shadow:none!important}
body.superadmin-body .sa-contract-history .activity-feed article span{color:#70d2c7!important}
body.superadmin-body .sa-contract-history .activity-feed article strong{color:#f5ffff!important}
body.superadmin-body .sa-contract-history .activity-feed article small{color:#9fc2c7!important}
body.superadmin-body .sa-contract-history .activity-feed article p{color:#c8dcdf!important}
body.superadmin-body .sa-clp-input{font-variant-numeric:tabular-nums;font-weight:850!important;letter-spacing:.01em}
body.superadmin-body .sa-contract-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
body.superadmin-body .sa-contract-totals span{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:11px;background:#0a303c;border:1px solid rgba(103,198,192,.14);color:#8fb1b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
body.superadmin-body .sa-contract-totals strong{font-size:16px;color:#d9f2ef;letter-spacing:0;text-transform:none}
body.superadmin-body .sa-contract-totals .total{background:linear-gradient(135deg,rgba(44,185,170,.18),rgba(32,119,151,.16));border-color:rgba(82,218,205,.30);color:#77d9cf}
body.superadmin-body .sa-contract-totals .total strong{font-size:21px;color:#fff}
@media(max-width:800px){
 body.superadmin-body .sa-contract-history .activity-feed{grid-template-columns:1fr}
 body.superadmin-body .sa-contract-totals{grid-template-columns:1fr 1fr}
 body.superadmin-body .sa-contract-totals .total{grid-column:1/-1}
}


/* v3.6.58 · edición de contrato aprovecha todo el ancho disponible */
body.superadmin-body .sa-contract-page{width:100%!important;max-width:none!important}
body.superadmin-body .sa-contract-panel,
body.superadmin-body .sa-contract-history{width:100%!important;max-width:none!important}
@media(min-width:1200px){
  body.superadmin-body[data-sa-view="edit_company"] .sa-main{padding-right:22px!important}
}


/* v3.6.59 · SuperAdmin móvil: control hamburguesa/chevron estable desde el primer paint */
@media(max-width:780px){
  /* El control conserva exactamente la misma geometría tanto colapsado como expandido.
     Así el chevron no entra en el flujo flex durante unas milésimas al cambiar de documento. */
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-toggle-inside,
  body.superadmin-body .sa-nav-toggle-inside,
  body.superadmin-body.faro-nav-collapsed .sa-nav-toggle-inside{
    position:relative!important;
    display:block!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    margin:0 0 5px 0!important;
    flex:0 0 52px!important;
    justify-content:initial!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-hamburger,
  body.superadmin-body .sa-nav-hamburger,
  body.superadmin-body.faro-nav-collapsed .sa-nav-hamburger{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:24px!important;
    height:20px!important;
    margin:0!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-toggle-label,
  body.superadmin-body .sa-nav-toggle-label,
  body.superadmin-body.faro-nav-collapsed .sa-nav-toggle-label{
    display:none!important;
  }
  html.faro-sa-precollapsed body.superadmin-body .sa-nav-chevron,
  body.superadmin-body .sa-nav-chevron,
  body.superadmin-body.faro-nav-collapsed .sa-nav-chevron{
    position:absolute!important;
    right:2px!important;
    bottom:2px!important;
    left:auto!important;
    top:auto!important;
    width:17px!important;
    min-width:17px!important;
    height:17px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:#36B6AA!important;
    color:#062B38!important;
    box-shadow:0 0 0 2px #062B38!important;
    font-size:16px!important;
    line-height:17px!important;
    font-family:Arial,sans-serif!important;
    font-weight:700!important;
    transform:none!important;
    transition:none!important;
    z-index:3!important;
  }
}

/* v3.6.67 · Cartera móvil: resumen compacto 2x2 */
@media(max-width:780px){
  body.superadmin-body .sa-company-quick-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.superadmin-body .sa-company-quick-summary .sa-company-quick-main{
    grid-column:auto!important;
  }
  body.superadmin-body .sa-company-quick-summary>div{
    min-height:54px!important;
  }
}


/* v3.6.68 · Usuarios SuperAdmin móvil: filtro visible, tarjetas compactas y modal de detalle */
.sa-users-mobile{display:none}
body.superadmin-body .sa-user-filter label{color:#AFC7CC!important}
body.superadmin-body .sa-user-filter select{
  min-height:46px!important;
  padding:0 42px 0 14px!important;
  border:1px solid rgba(105,208,198,.28)!important;
  border-radius:13px!important;
  background:#0A3442!important;
  color:#F1FAFA!important;
  font-weight:800!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.superadmin-body .sa-user-filter select:focus{border-color:#69D0C6!important;box-shadow:0 0 0 3px rgba(105,208,198,.10)!important;outline:0!important}
body.superadmin-body .sa-user-filter option{background:#0A3442;color:#F1FAFA}
.sa-user-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sa-user-details-grid>div{padding:13px 14px;border:1px solid rgba(105,208,198,.18);border-radius:13px;background:#0A3442}
.sa-user-details-grid span{display:block;margin-bottom:5px;color:#82A7AE;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.sa-user-details-grid strong{display:block;color:#EFF9F9;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.sa-user-details-footer{display:flex;justify-content:center;margin-top:14px}
@media(max-width:780px){
  body.superadmin-body .sa-user-filter{display:block!important;margin:0 0 14px!important}
  body.superadmin-body .sa-user-filter label{display:block!important;width:100%!important;min-width:0!important;color:#B9D0D5!important;font-size:11px!important;letter-spacing:.01em!important}
  body.superadmin-body .sa-user-filter select{width:100%!important;margin-top:7px!important;font-size:13px!important;background:#0A3442!important;color:#F4FBFB!important}
  body.superadmin-body .sa-user-filter .btn{margin-top:8px!important;width:100%!important}
  .sa-users-desktop{display:none!important}
  .sa-users-mobile{display:grid!important;gap:10px!important}
  body.superadmin-body .sa-users-panel{padding:10px!important;background:rgba(9,53,65,.62)!important}
  .sa-user-card{padding:12px!important;border:1px solid rgba(105,208,198,.18)!important;border-radius:15px!important;background:#0A3442!important;box-shadow:none!important}
  .sa-user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .sa-user-card-head>div{min-width:0;display:grid;gap:3px}
  .sa-user-card-head strong{color:#F5FBFB;font-size:14px;line-height:1.15}
  .sa-user-card-head a{color:#A9C8CE;font-size:10px;line-height:1.25;text-decoration:none;overflow-wrap:anywhere}
  .sa-user-card-head .status-pill{flex:0 0 auto;font-size:8px!important;padding:6px 8px!important}
  .sa-user-card-access{margin-top:10px;padding:9px 10px;border-radius:11px;background:rgba(4,39,50,.56);border:1px solid rgba(105,208,198,.12)}
  .sa-user-card-access span{display:block;color:#7FA3AA;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px}
  .sa-user-card-access strong{display:block;color:#DCEDEE;font-size:10px;line-height:1.35;font-weight:700;white-space:normal;overflow-wrap:anywhere}
  .sa-user-card-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:10px}
  .sa-user-card-actions .admin-row-action{width:100%;min-height:39px;border-radius:11px!important;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 9px!important;white-space:normal!important}
  .sa-user-card-actions .primary-action{background:linear-gradient(135deg,#18A89E,#43C8BC)!important;color:#fff!important;border-color:rgba(126,238,225,.32)!important;font-weight:850!important}
  body.superadmin-body .sa-user-details-modal{width:calc(100% - 24px)!important;max-height:80vh!important}
  .sa-user-details-grid{grid-template-columns:1fr!important}
}


/* v3.6.71 · avatar circular de organización en listado de Usuarios */
body.superadmin-body .sa-user-name-with-logo,
body.superadmin-body .sa-user-card-identity{display:flex;align-items:center;gap:10px;min-width:0}
body.superadmin-body .sa-user-card-identity>div{min-width:0;display:grid;gap:3px}
body.superadmin-body .sa-user-company-avatar{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:#F7FBFB;border:2px solid rgba(105,208,198,.34);box-shadow:0 0 0 2px rgba(6,43,56,.55);
}
body.superadmin-body .sa-user-company-avatar img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:780px){
  body.superadmin-body .sa-user-company-avatar{width:38px;height:38px;flex-basis:38px}
  body.superadmin-body .sa-user-card-head{align-items:center!important}
  body.superadmin-body .sa-user-card-identity{gap:9px}
}

/* v3.6.72 · Solicitudes SuperAdmin homologadas */
body.superadmin-body .sa-leads-panel{background:#0B3543!important;border-color:rgba(105,208,198,.18)!important}
body.superadmin-body .sa-leads-head{align-items:end!important;gap:14px!important}
body.superadmin-body .sa-leads-filter{display:grid;gap:6px;min-width:190px;color:#AFC7CC!important;font-size:10px;font-weight:850;letter-spacing:.03em}
body.superadmin-body .sa-leads-filter select,
body.superadmin-body .sa-lead-status-form select{
  appearance:auto;background:#082E3A!important;color:#EFF9F9!important;border:1px solid rgba(105,208,198,.28)!important;border-radius:11px!important;min-height:40px!important;padding:8px 11px!important;font-weight:750!important;box-shadow:none!important
}
body.superadmin-body .sa-leads-filter select:focus,
body.superadmin-body .sa-lead-status-form select:focus{outline:none!important;border-color:#55D0C4!important;box-shadow:0 0 0 3px rgba(85,208,196,.10)!important}
body.superadmin-body .sa-leads-table th{color:#8EADB4!important;background:rgba(4,39,50,.44)!important}
body.superadmin-body .sa-leads-table td{color:#D8EBED!important;border-color:rgba(105,208,198,.12)!important}
body.superadmin-body .sa-leads-table td a{color:#8FDAD3!important}
body.superadmin-body .sa-lead-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.superadmin-body .sa-lead-details-btn{background:linear-gradient(135deg,#18A89E,#43C8BC)!important;color:white!important;border-color:rgba(126,238,225,.30)!important}
body.superadmin-body .sa-lead-status-form{margin:0;min-width:132px}
body.superadmin-body .sa-lead-status-form select{width:100%;min-height:36px!important;padding:6px 9px!important;font-size:10px!important}
.sa-leads-mobile{display:none}
body.superadmin-body .sa-lead-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 12px}
body.superadmin-body .sa-lead-details-grid>div{padding:11px;border:1px solid rgba(105,208,198,.15);border-radius:12px;background:rgba(4,39,50,.52);display:grid;gap:4px}
body.superadmin-body .sa-lead-details-grid span,
body.superadmin-body .sa-lead-message-box>span{color:#76A0A8;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
body.superadmin-body .sa-lead-details-grid strong{color:#EDF8F8;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
body.superadmin-body .sa-lead-message-box{padding:13px;border:1px solid rgba(105,208,198,.17);border-radius:13px;background:#082F3B;margin-bottom:12px}
body.superadmin-body .sa-lead-message-box p{margin:7px 0 0;color:#D9EDEE;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
body.superadmin-body .sa-lead-details-modal{background:#0A3442!important}

@media(max-width:780px){
  body.superadmin-body .sa-leads-head{align-items:stretch!important}
  body.superadmin-body .sa-leads-filter{width:100%;min-width:0;color:#AFC7CC!important}
  body.superadmin-body .sa-leads-filter select{width:100%;font-size:13px!important;min-height:44px!important;background:#082E3A!important;color:#F3FAFA!important}
  .sa-leads-desktop{display:none!important}
  .sa-leads-mobile{display:grid!important;gap:10px!important}
  body.superadmin-body .sa-lead-card{padding:12px;border:1px solid rgba(105,208,198,.18);border-radius:15px;background:#0A3442;box-shadow:none}
  body.superadmin-body .sa-lead-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  body.superadmin-body .sa-lead-card-head>div{display:grid;gap:3px;min-width:0}
  body.superadmin-body .sa-lead-card-head strong{color:#F4FAFA;font-size:14px;line-height:1.2}
  body.superadmin-body .sa-lead-card-head span:not(.status-pill){color:#8FAEB5;font-size:9px;line-height:1.25}
  body.superadmin-body .sa-lead-card-head .status-pill{flex:0 0 auto;font-size:8px!important;padding:6px 8px!important}
  body.superadmin-body .sa-lead-card-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:9px;padding:8px 9px;border-radius:10px;background:rgba(4,39,50,.52);border:1px solid rgba(105,208,198,.11)}
  body.superadmin-body .sa-lead-card-meta span{color:#A8C5CA;font-size:9px;line-height:1.3;overflow-wrap:anywhere}
  body.superadmin-body .sa-lead-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;align-items:stretch}
  body.superadmin-body .sa-lead-card-actions .admin-row-action{min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:11px!important}
  body.superadmin-body .sa-lead-card-actions .primary-action{background:linear-gradient(135deg,#18A89E,#43C8BC)!important;color:#fff!important;border-color:rgba(126,238,225,.30)!important;font-weight:850!important}
  body.superadmin-body .sa-lead-card-actions .sa-lead-status-form{min-width:0;width:100%}
  body.superadmin-body .sa-lead-card-actions select{height:40px!important;min-height:40px!important;font-size:10px!important;border-radius:11px!important}
  body.superadmin-body .sa-lead-details-modal{width:calc(100% - 24px)!important;max-height:80vh!important}
  body.superadmin-body .sa-lead-details-grid{grid-template-columns:1fr 1fr;gap:7px}
  body.superadmin-body .sa-lead-message-box p{font-size:11px}
}

/* v3.6.73 · Catálogo de paquetes SuperAdmin */
body.superadmin-body .sa-packages-catalog-panel{
  background:linear-gradient(180deg,rgba(9,48,60,.96),rgba(6,38,49,.98))!important;
  border-color:rgba(105,205,197,.14)!important;
}
body.superadmin-body .sa-package-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
body.superadmin-body .sa-package-card{
  --plan-accent:#35D3C3;
  --plan-accent-dark:#0D6F74;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:330px;
  overflow:hidden;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--plan-accent) 32%,rgba(255,255,255,.08));
  border-radius:18px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--plan-accent-dark) 17%,#092D39),#082833 62%,#07232D);
  box-shadow:0 15px 34px rgba(0,17,23,.18),inset 0 1px 0 rgba(255,255,255,.025);
}
body.superadmin-body .sa-package-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:4px;
  background:var(--plan-accent);
  box-shadow:0 0 22px color-mix(in srgb,var(--plan-accent) 45%,transparent);
}
body.superadmin-body .sa-package-card::after{
  content:"";position:absolute;width:140px;height:140px;right:-65px;top:-70px;border-radius:50%;
  background:var(--plan-accent);opacity:.07;filter:blur(4px);pointer-events:none;
}
body.superadmin-body .sa-package-card.premium{
  border-color:rgba(229,185,79,.42);
  background:linear-gradient(155deg,rgba(92,70,19,.27),#092D39 43%,#07242E);
  box-shadow:0 18px 40px rgba(0,17,23,.21),0 0 0 1px rgba(229,185,79,.05),inset 0 1px 0 rgba(255,255,255,.04);
}
body.superadmin-body .sa-package-card.disabled{opacity:.58;filter:saturate(.72)}
body.superadmin-body .sa-package-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:92px}
body.superadmin-body .sa-package-card-title{min-width:0}
body.superadmin-body .sa-package-card h3{margin:8px 0 5px;color:#F4FAFB;font-size:19px;line-height:1.05;letter-spacing:-.02em}
body.superadmin-body .sa-package-card-title p{margin:0;color:#9FB8BF;font-size:11px;line-height:1.45;min-height:31px}
body.superadmin-body .sa-package-badges{display:flex;flex-wrap:wrap;gap:5px;min-height:20px}
body.superadmin-body .sa-plan-badge{display:inline-flex;align-items:center;min-height:19px;padding:3px 7px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.055);color:#BCD0D5;font-size:7px;font-weight:950;letter-spacing:.09em}
body.superadmin-body .sa-plan-badge.premium{border-color:rgba(229,185,79,.42);background:rgba(229,185,79,.12);color:#F1D986}
body.superadmin-body .sa-plan-badge.default{border-color:color-mix(in srgb,var(--plan-accent) 38%,transparent);background:color-mix(in srgb,var(--plan-accent) 10%,transparent);color:color-mix(in srgb,var(--plan-accent) 75%,white)}
body.superadmin-body .sa-plan-badge.inactive{border-color:rgba(255,112,123,.25);background:rgba(177,49,64,.11);color:#F2A1AA}
body.superadmin-body .sa-package-order{display:inline-grid;place-items:center;min-width:34px;height:27px;padding:0 8px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12);color:#79969E;font-size:9px;font-weight:850}
body.superadmin-body .sa-package-price{margin:11px 0 14px;padding:13px 14px;border-radius:13px;border:1px solid color-mix(in srgb,var(--plan-accent) 17%,rgba(255,255,255,.07));background:rgba(2,23,30,.27)}
body.superadmin-body .sa-package-price>span{display:block;color:#7FA1AA;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
body.superadmin-body .sa-package-price>strong{display:block;margin:2px 0 3px;color:var(--plan-accent);font-size:25px;line-height:1;font-weight:950;letter-spacing:-.035em}
body.superadmin-body .sa-package-price>small{color:#9CB2B8;font-size:9px}
body.superadmin-body .sa-package-price>small b{color:#DDE9EB;font-weight:850}
body.superadmin-body .sa-package-limits-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:16px}
body.superadmin-body .sa-package-limits-grid>div{min-width:0;padding:9px 5px 8px;text-align:center;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025)}
body.superadmin-body .sa-package-limits-grid span{display:block;overflow:hidden;text-overflow:ellipsis;color:#78979F;font-size:7px;font-weight:850;white-space:nowrap}
body.superadmin-body .sa-package-limits-grid b{display:block;margin-top:3px;color:#E3EFF1;font-size:15px;font-weight:900}
body.superadmin-body .sa-package-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
body.superadmin-body .sa-package-actions form{margin:0;display:block}
body.superadmin-body .sa-package-actions .admin-row-action{width:100%;min-height:38px;margin:0!important;display:grid;place-items:center;border-radius:10px!important}
body.superadmin-body .sa-package-edit{border-color:color-mix(in srgb,var(--plan-accent) 32%,transparent)!important;background:color-mix(in srgb,var(--plan-accent) 9%,#0A3340)!important;color:#E7F3F4!important}
body.superadmin-body .sa-package-edit:hover{background:color-mix(in srgb,var(--plan-accent) 17%,#0A3340)!important}
@media(max-width:1250px){body.superadmin-body .sa-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
  body.superadmin-body .sa-package-grid{grid-template-columns:1fr;gap:11px}
  body.superadmin-body .sa-package-card{min-height:0;padding:15px;border-radius:16px}
  body.superadmin-body .sa-package-card-head{min-height:80px}
  body.superadmin-body .sa-package-card h3{font-size:18px}
  body.superadmin-body .sa-package-price{margin:8px 0 11px;padding:11px 12px}
  body.superadmin-body .sa-package-price>strong{font-size:23px}
  body.superadmin-body .sa-package-limits-grid{grid-template-columns:repeat(3,1fr);gap:5px}
  body.superadmin-body .sa-package-limits-grid>div:nth-child(4),body.superadmin-body .sa-package-limits-grid>div:nth-child(5){grid-column:auto}
}


/* v3.6.74 · Compatibilidad NFC homologada al SuperAdmin */
body.superadmin-body .sa-nfc-overview-panel,
body.superadmin-body .sa-nfc-catalog-panel{
  background:#0a2f3b!important;
  border-color:rgba(119,205,196,.16)!important;
  box-shadow:0 14px 34px rgba(2,22,30,.16)!important;
}
body.superadmin-body .sa-nfc-overview-panel h2,
body.superadmin-body .sa-nfc-catalog-panel h2{color:#f2fbfb!important}
body.superadmin-body .sa-nfc-kpis>div,
body.superadmin-body .sa-nfc-model-kpis>div{
  background:#103846!important;
  border:1px solid rgba(123,205,198,.13)!important;
  box-shadow:none!important;
}
body.superadmin-body .sa-nfc-kpis>div::before,
body.superadmin-body .sa-nfc-model-kpis>div::before{display:none!important}
body.superadmin-body .sa-nfc-kpis span,
body.superadmin-body .sa-nfc-model-kpis span{color:#9cb8be!important}
body.superadmin-body .sa-nfc-kpis strong,
body.superadmin-body .sa-nfc-model-kpis strong{color:#f3fbfb!important}
body.superadmin-body .sa-nfc-live-filters{
  display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(150px,.8fr));gap:10px;margin:12px 0 16px;
}
body.superadmin-body .sa-nfc-live-filters label{display:grid;gap:6px;color:#a7c0c5!important;font-size:10px;font-weight:900;letter-spacing:.02em}
body.superadmin-body .sa-nfc-live-filters input,
body.superadmin-body .sa-nfc-live-filters select{
  width:100%;box-sizing:border-box;min-height:42px;padding:10px 12px;border-radius:11px;
  border:1px solid rgba(133,205,201,.22)!important;background:#082630!important;color:#edf8f8!important;
  outline:none;box-shadow:none!important;font-weight:750;
}
body.superadmin-body .sa-nfc-live-filters input::placeholder{color:#75959c!important}
body.superadmin-body .sa-nfc-live-filters input:focus,
body.superadmin-body .sa-nfc-live-filters select:focus{border-color:#49c8bc!important;box-shadow:0 0 0 3px rgba(73,200,188,.10)!important}
body.superadmin-body .sa-nfc-live-filters select{color-scheme:dark}
body.superadmin-body .sa-nfc-desktop-table table{background:transparent!important}
body.superadmin-body .sa-nfc-desktop-table th{color:#91adb3!important;background:#082630!important;border-color:rgba(255,255,255,.06)!important}
body.superadmin-body .sa-nfc-desktop-table td{color:#d9e8eb!important;background:#0b313d!important;border-color:rgba(255,255,255,.06)!important}
body.superadmin-body .sa-nfc-desktop-table tr:hover td{background:#103946!important}
.sa-nfc-mobile-list{display:none}
.sa-nfc-device-card{background:#0b313d;border:1px solid rgba(121,204,196,.15);border-radius:16px;padding:13px;box-shadow:0 10px 24px rgba(1,20,28,.12)}
.sa-nfc-device-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sa-nfc-device-card-head>div{display:grid;gap:3px;min-width:0}
.sa-nfc-device-kicker{font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#70cfc4}
.sa-nfc-device-card-head strong{font-size:14px;color:#f5fbfb;line-height:1.25;overflow-wrap:anywhere}
.sa-nfc-device-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}
.sa-nfc-device-summary>span{display:grid;gap:2px;padding:9px 10px;border-radius:11px;background:#082630;border:1px solid rgba(255,255,255,.06)}
.sa-nfc-device-summary small{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#7f9ba1;font-weight:900}
.sa-nfc-device-summary strong{font-size:11px;color:#e7f4f5}
.sa-nfc-device-card .sa-compat-details-btn{width:100%;justify-content:center;background:#117f7b!important;color:#fff!important;border-color:#27aaa1!important}
body.superadmin-body .device-compat-privacy{background:#082630!important;border-color:rgba(121,204,196,.14)!important}
body.superadmin-body .device-compat-privacy>span{background:#103d46!important;color:#67d0c5!important}
body.superadmin-body .device-compat-privacy p{color:#9fb8bd!important}
.sa-compat-details-modal{background:#092b36!important}
.sa-compat-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}
.sa-compat-details-grid>div{display:grid;gap:4px;padding:11px;border-radius:12px;background:#082630;border:1px solid rgba(255,255,255,.07)}
.sa-compat-details-grid span:not(.status-pill),.sa-compat-detail-note>span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#86a6ac;font-weight:900}
.sa-compat-details-grid strong{font-size:12px;color:#eef8f8;overflow-wrap:anywhere}
.sa-compat-detail-note{margin-top:10px;padding:12px;border-radius:12px;background:#082630;border:1px solid rgba(255,255,255,.07)}
.sa-compat-detail-note p{margin:6px 0 0;color:#dcebed;font-size:12px;line-height:1.5;white-space:pre-wrap}
@media(max-width:980px){body.superadmin-body .sa-nfc-live-filters{grid-template-columns:1fr 1fr}}
@media(max-width:780px){
  body.superadmin-body .sa-nfc-page-head{gap:12px}
  body.superadmin-body .sa-nfc-page-head .btn{width:100%;justify-content:center}
  body.superadmin-body .sa-nfc-overview-panel .sa-section-title{display:grid;gap:10px}
  body.superadmin-body .sa-nfc-overview-panel .sa-section-title form,
  body.superadmin-body .sa-nfc-overview-panel .sa-section-title form .btn{width:100%}
  body.superadmin-body .sa-nfc-live-filters{grid-template-columns:1fr 1fr;gap:8px}
  body.superadmin-body .sa-nfc-search-field{grid-column:1/-1}
  body.superadmin-body .sa-nfc-live-filters label:last-child{grid-column:1/-1}
  body.superadmin-body .sa-nfc-desktop-table{display:none!important}
  .sa-nfc-mobile-list{display:grid;gap:10px}
  body.superadmin-body .sa-nfc-kpis,
  body.superadmin-body .sa-nfc-model-kpis{grid-template-columns:1fr 1fr!important}
  body.superadmin-body .sa-nfc-kpis>div,
  body.superadmin-body .sa-nfc-model-kpis>div{min-height:66px!important;padding:10px!important}
  body.superadmin-body .sa-nfc-kpis strong,
  body.superadmin-body .sa-nfc-model-kpis strong{font-size:21px!important}
  .sa-compat-details-grid{grid-template-columns:1fr}
}
@media(max-width:420px){body.superadmin-body .sa-nfc-live-filters{grid-template-columns:1fr}.sa-nfc-search-field{grid-column:auto!important}body.superadmin-body .sa-nfc-live-filters label:last-child{grid-column:auto}}

/* v3.6.75 · Ajustes homologados */
body.superadmin-body[data-sa-view="settings"] .sa-settings-panel{max-width:none!important}
.sa-settings-head{margin-bottom:14px!important}
.sa-settings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.sa-settings-summary>div{background:#0A2D3A;border:1px solid rgba(105,208,198,.18);border-top:2px solid #46C5B7;border-radius:14px;padding:13px 15px;min-width:0}
.sa-settings-summary span,.sa-settings-summary strong,.sa-settings-summary small{display:block}.sa-settings-summary span{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7FA6AD}.sa-settings-summary strong{font-size:18px;color:#F2FBFB;margin-top:5px}.sa-settings-summary small{font-size:9px;color:#8BAAB0;margin-top:2px;line-height:1.35}
.sa-settings-platform-panel,.sa-setting-section-card{background:#082633!important;border:1px solid rgba(105,208,198,.16)!important;box-shadow:0 14px 34px rgba(0,12,20,.16)!important}
.sa-settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.sa-settings-section-head h2{margin:3px 0 4px!important;color:#EFF9F9!important}.sa-settings-section-head p{margin:0;color:#8FAEB5;font-size:11px}.sa-settings-kicker{font-size:9px;font-weight:900;letter-spacing:.11em;color:#5ECFC2}
.sa-settings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sa-setting-card{background:#0A303E;border:1px solid rgba(105,208,198,.15);border-radius:15px;padding:14px;min-width:0}.sa-setting-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.sa-setting-card-head strong{display:block;color:#EDF8F8;font-size:13px}.sa-setting-card-head span{display:block;color:#84A5AC;font-size:9.5px;line-height:1.4;margin-top:3px}.sa-setting-field{display:grid;gap:6px;color:#B7D0D4!important;font-size:10px!important;font-weight:850}.sa-setting-field textarea{min-height:102px!important;resize:vertical!important;background:#061F2B!important;color:#EDF9F9!important;border-color:rgba(105,208,198,.22)!important}.sa-setting-field small{color:#789CA4!important;font-size:9px!important;font-weight:600;line-height:1.4}
.sa-setting-switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding:12px;border-radius:12px;background:#061F2B;border:1px solid rgba(105,208,198,.18);cursor:pointer}.sa-setting-switch-row span{min-width:0}.sa-setting-switch-row b,.sa-setting-switch-row small{display:block}.sa-setting-switch-row b{color:#EAF7F7;font-size:11px}.sa-setting-switch-row small{color:#7E9FA7;font-size:9px;margin-top:3px;line-height:1.35}.sa-setting-switch-row input[type="checkbox"]{appearance:none;width:42px!important;height:24px!important;min-width:42px;border:1px solid rgba(255,255,255,.20)!important;border-radius:999px!important;background:#244550!important;position:relative;cursor:pointer;transition:.18s}.sa-setting-switch-row input[type="checkbox"]:after{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#A9C0C4;transition:.18s}.sa-setting-switch-row input[type="checkbox"]:checked{background:#34B7A8!important;border-color:#4FD0C1!important}.sa-setting-switch-row input[type="checkbox"]:checked:after{transform:translateX(18px);background:white}
.sa-setting-stat{display:flex;align-items:baseline;gap:7px;margin-top:11px}.sa-setting-stat strong{font-size:25px;color:#69D0C6}.sa-setting-stat span{font-size:9px;color:#82A4AB}.sa-settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}.sa-settings-actions .btn{min-width:220px}
.sa-help-btn{appearance:none;border:1px solid rgba(105,208,198,.32);background:#0A3542;color:#69D0C6;width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:950;cursor:pointer;transition:.16s}.sa-help-btn:hover{background:#124653;border-color:#69D0C6;color:#fff;transform:translateY(-1px)}.sa-help-btn.small{width:27px;height:27px;min-width:27px;font-size:12px}
.sa-settings-section-label{margin:22px 0 10px}.sa-settings-section-label span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#5ECFC2}.sa-settings-section-label h2{margin:4px 0 2px;color:#EAF7F7;font-size:20px}.sa-settings-section-label p{margin:0;color:#829FA6;font-size:10px}.sa-settings-security-grid{gap:12px!important}.sa-setting-section-card{padding:16px!important}.sa-setting-section-card .sa-security-title{display:grid!important;grid-template-columns:auto 1fr auto;align-items:start;gap:11px!important}.sa-setting-section-card .sa-security-title h2{color:#F0F9F9!important;font-size:15px!important;margin:1px 0 2px!important}.sa-setting-section-card .sa-security-title p{color:#849FA6!important;margin:0!important}.sa-setting-section-card .sa-security-icon{background:#0B3946!important;color:#6CD4C7!important;border:1px solid rgba(105,208,198,.18);border-radius:11px;width:36px;height:36px;display:grid;place-items:center;font-size:16px}.sa-compact-setting-form{margin-top:12px!important;gap:10px!important}.sa-compact-setting-form label{color:#AFC8CE!important}.sa-compact-setting-form input,.sa-compact-setting-form select{background:#061F2B!important;color:#EDF9F9!important;border-color:rgba(105,208,198,.22)!important}.sa-compact-setting-form select{appearance:auto!important}.sa-compact-setting-form small{color:#779AA2!important}.sa-setting-section-card .sa-trust-state{background:#061F2B!important;border-color:rgba(105,208,198,.18)!important}.sa-setting-section-card .sa-trust-state strong{color:#E8F6F6!important}.sa-setting-section-card .sa-trust-state span{color:#86A4AB!important}.sa-setting-section-card .sa-session-item{background:#061F2B!important;border-color:rgba(105,208,198,.15)!important}.sa-setting-section-card .sa-session-item strong{color:#EAF7F7!important}.sa-setting-section-card .sa-session-item span{color:#809FA6!important}
.sa-help-modal{max-width:520px!important}.sa-help-modal-body{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:12px 2px 5px}.sa-help-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0A3946;border:1px solid rgba(105,208,198,.25);color:#69D0C6;font-size:22px;font-weight:950}.sa-help-modal-body p{margin:2px 0 0;color:#B8CED2;font-size:12px;line-height:1.65}
@media(max-width:900px){.sa-settings-summary{grid-template-columns:1fr 1fr}.sa-settings-form{grid-template-columns:1fr}.sa-settings-actions{grid-column:1}.sa-settings-actions .btn{width:100%}.sa-settings-security-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.sa-settings-summary{gap:7px}.sa-settings-summary>div{padding:10px 11px;border-radius:12px}.sa-settings-summary strong{font-size:15px}.sa-settings-summary small{font-size:8px}.sa-settings-platform-panel,.sa-setting-section-card{padding:13px!important}.sa-settings-section-head h2{font-size:17px!important}.sa-settings-section-head p{font-size:9.5px}.sa-setting-card{padding:11px;border-radius:13px}.sa-setting-switch-row{padding:10px}.sa-settings-section-label{margin-top:18px}.sa-help-modal-body{grid-template-columns:38px 1fr;gap:10px}.sa-help-mark{width:36px;height:36px;font-size:17px}.sa-help-modal-body p{font-size:11px;line-height:1.55}}

/* v3.6.76 · contador numérico visible en Solicitudes también con menú colapsado */
@media(max-width:780px){
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-has-badge="1"],
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a[data-has-badge="1"]{
    position:relative!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-has-badge="1"]::after,
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a[data-has-badge="1"]::after{
    content:none!important;
    display:none!important;
  }
  body.superadmin-body.faro-nav-collapsed .sa-topnav>a[data-has-badge="1"] .sa-nav-badge,
  html.faro-sa-precollapsed body.superadmin-body .sa-topnav>a[data-has-badge="1"] .sa-nav-badge{
    display:inline-grid!important;
    position:absolute!important;
    top:3px!important;
    right:3px!important;
    z-index:4!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    place-items:center!important;
    margin:0!important;
    background:#E33749!important;
    border:2px solid #062B38!important;
    color:#fff!important;
    font-size:8px!important;
    font-weight:950!important;
    line-height:1!important;
    box-shadow:0 4px 10px rgba(227,55,73,.32)!important;
  }
}


/* v3.6.77 · estados, acciones destructivas y sesiones */
body.superadmin-body .status-pill.sa-nfc-status.status-good{background:#178A62!important;border-color:#178A62!important;color:#fff!important}
body.superadmin-body .status-pill.sa-nfc-status.status-bad{background:#C83E4D!important;border-color:#C83E4D!important;color:#fff!important}
body.superadmin-body .status-pill.sa-nfc-status.status-blue{background:#357AA5!important;border-color:#357AA5!important;color:#fff!important}
body.superadmin-body .btn.danger,body.superadmin-body .admin-row-action.danger{background:#C83E4D!important;border-color:#C83E4D!important;color:#fff!important}
body.superadmin-body .btn.danger:hover,body.superadmin-body .admin-row-action.danger:hover{background:#A92F3D!important;border-color:#A92F3D!important;color:#fff!important}
body.superadmin-body .btn.compact{min-height:32px;padding:6px 10px;font-size:9px}
body.superadmin-body .sa-tech-model{display:block;margin-top:3px;font-size:8px;color:#8FA8AE;font-weight:700}
body.superadmin-body .sa-closed-sessions{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
body.superadmin-body .sa-closed-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
body.superadmin-body .sa-closed-head>div strong,body.superadmin-body .sa-closed-head>div span{display:block}
body.superadmin-body .sa-closed-head>div strong{font-size:11px;color:#EAF4F5}
body.superadmin-body .sa-closed-head>div span{font-size:8px;color:#89A4AA;margin-top:2px}
body.superadmin-body .sa-session-item.closed{opacity:.84}
body.superadmin-body .sa-pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
body.superadmin-body .sa-pagination a{min-width:30px;height:30px;padding:0 8px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#BBD0D5;text-decoration:none;font-size:9px;font-weight:900}
body.superadmin-body .sa-pagination a.active{background:#25A99A;border-color:#25A99A;color:#fff}
@media(max-width:760px){body.superadmin-body .sa-closed-head{align-items:flex-start;flex-direction:column}body.superadmin-body .sa-closed-head form,body.superadmin-body .sa-closed-head .btn{width:100%}}


/* Faro v3.6.79 · Sistema UI administrativo homologado */
:root{
  --ui-primary:#22A99B;--ui-primary-hover:#178D82;
  --ui-success:#269A6A;--ui-success-hover:#1D7F57;
  --ui-warning:#D5962A;--ui-warning-hover:#B87918;
  --ui-danger:#C83E4D;--ui-danger-hover:#A92F3D;
  --ui-info:#2D82A8;--ui-info-hover:#226986;
  --ui-secondary:#123E4B;--ui-secondary-hover:#195261;
  --ui-field:#082D39;--ui-field-border:rgba(105,208,198,.22);--ui-focus:#67D1C6;
}
body.admin-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border-radius:11px;border:1px solid #235866!important;background:var(--ui-secondary)!important;color:#fff!important;font-weight:850;text-decoration:none;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s}
body.admin-body .btn.primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}
body.admin-body .btn.primary:hover{background:var(--ui-primary-hover)!important;border-color:var(--ui-primary-hover)!important}
body.admin-body .btn.secondary{background:var(--ui-secondary)!important;border-color:#235866!important;color:#fff!important}
body.admin-body .btn.secondary:hover{background:var(--ui-secondary-hover)!important}
body.admin-body .btn.success{background:var(--ui-success)!important;border-color:var(--ui-success)!important;color:#fff!important}
body.admin-body .btn.success:hover{background:var(--ui-success-hover)!important}
body.admin-body .btn.warning{background:var(--ui-warning)!important;border-color:var(--ui-warning)!important;color:#fff!important}
body.admin-body .btn.warning:hover{background:var(--ui-warning-hover)!important}
body.admin-body .btn.danger,body.admin-body .red-btn{background:var(--ui-danger)!important;border-color:var(--ui-danger)!important;color:#fff!important}
body.admin-body .btn.danger:hover,body.admin-body .red-btn:hover{background:var(--ui-danger-hover)!important;border-color:var(--ui-danger-hover)!important;color:#fff!important}
body.admin-body .btn.info{background:var(--ui-info)!important;border-color:var(--ui-info)!important;color:#fff!important}
body.admin-body .btn.info:hover{background:var(--ui-info-hover)!important}
body.admin-body .btn.ghost{background:rgba(255,255,255,.055)!important;border-color:rgba(156,208,213,.17)!important;color:#C8DDE1!important}
body.admin-body .btn:disabled{opacity:.42!important;cursor:not-allowed!important;transform:none!important}

body.admin-body .status.success{background:var(--ui-success)!important;color:#fff!important;border-color:transparent!important}
body.admin-body .status.warning{background:var(--ui-warning)!important;color:#fff!important;border-color:transparent!important}
body.admin-body .status.danger,body.admin-body .status.error{background:var(--ui-danger)!important;color:#fff!important;border-color:transparent!important}
body.admin-body .status.info{background:var(--ui-info)!important;color:#fff!important;border-color:transparent!important}
body.admin-body .status.neutral{background:#49636B!important;color:#fff!important;border-color:transparent!important}

body.admin-body select,body.admin-body input[type="text"],body.admin-body input[type="email"],body.admin-body input[type="number"],body.admin-body input[type="password"],body.admin-body input[type="date"],body.admin-body input[type="time"],body.admin-body textarea{
  border-radius:11px!important;border:1px solid var(--ui-field-border)!important;background:var(--ui-field)!important;color:#F1F9F9!important;min-height:40px;outline:none;box-shadow:none!important
}
body.admin-body textarea{min-height:88px}
body.admin-body select:focus,body.admin-body input:focus,body.admin-body textarea:focus{border-color:var(--ui-focus)!important;box-shadow:0 0 0 3px rgba(103,209,198,.10)!important}
body.admin-body select{color-scheme:dark}

/* Admin drawer: mismo lenguaje del SuperAdmin, abre desde un control superior. */
.admin-nav-toggle-inside{position:relative!important;width:100%;min-height:46px;display:flex!important;align-items:center;justify-content:flex-start;gap:11px;padding:10px 12px!important;margin:0 0 5px;border:1px solid rgba(91,207,195,.18)!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;color:#D9ECEF!important;font:inherit;font-weight:850;cursor:pointer;flex:0 0 auto}
.admin-nav-toggle-label{font-size:12px;letter-spacing:.02em}
body.faro-nav-collapsed .admin-nav-toggle-inside{justify-content:center;padding:8px!important}
body.faro-nav-collapsed .admin-nav-toggle-label{display:none!important}
body:not(.faro-nav-collapsed) .admin-nav-toggle-label{display:block!important}
body.faro-nav-collapsed .admin-nav-toggle-inside .sa-nav-chevron{position:absolute;right:3px;bottom:3px;width:15px;height:15px;border-radius:999px;font-size:15px;background:#36B6AA;color:#062B38;box-shadow:0 0 0 2px #062B38}
body:not(.faro-nav-collapsed) .admin-nav-toggle-inside .sa-nav-chevron{margin-left:auto}
.admin-nav a[data-icon]::before{font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji",sans-serif!important;font-size:16px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(140,211,205,.10)!important;border-radius:8px!important}

/* Pre-paint: evita que el menú Admin aparezca abierto una fracción de segundo. */
html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav{width:68px!important;padding:10px 7px!important}
html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-main,
html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .report-main{margin-left:68px!important}
html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav a{font-size:0!important;justify-content:center!important;padding:8px!important}
html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-toggle-label{display:none!important}

/* Backdrop también disponible en Admin desktop/mobile; impide click-through. */
body.admin-body:not(.superadmin-body) .faro-nav-backdrop{display:none;position:fixed;inset:72px 0 0 68px;z-index:79;border:0;padding:0;background:rgba(2,18,25,.20);backdrop-filter:blur(2px);cursor:default}
body.admin-body:not(.superadmin-body) .faro-nav-backdrop.visible{display:block}
body.admin-body.support-active:not(.superadmin-body) .faro-nav-backdrop{top:134px}
@media(max-width:780px){body.admin-body:not(.superadmin-body) .faro-nav-backdrop{inset:64px 0 0 68px}body.admin-body.support-active:not(.superadmin-body) .faro-nav-backdrop{top:126px}}

/* Documentación UI */
.ui-doc-section{background:#072A36!important;border:1px solid rgba(105,208,198,.13)!important;margin-bottom:14px!important;padding:18px!important}
.ui-doc-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:15px}.ui-doc-head h2{margin:3px 0 4px;color:#F1FAFA}.ui-doc-head p{margin:0;color:#84A4AB;font-size:10px}.ui-doc-kicker{font-size:8px;letter-spacing:.14em;color:#63D1C5;font-weight:900}
.ui-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ui-button-docs article{display:grid;align-content:start;gap:8px;padding:13px;border-radius:14px;background:#061F2B;border:1px solid rgba(105,208,198,.12)}.ui-button-docs article>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#75D8CD;font-weight:900}.ui-button-docs small{color:#819EA5;font-size:9px;line-height:1.4}.ui-button-docs code{font-size:8px;color:#A9C7CC;background:#0B3440;padding:5px 7px;border-radius:7px;width:max-content}
.ui-status-showcase{display:flex;gap:8px;flex-wrap:wrap}.ui-doc-note{margin-top:14px;padding:11px 12px;border-radius:12px;background:#061F2B;border:1px solid rgba(105,208,198,.10);color:#98B7BC;font-size:10px}.ui-doc-note strong{color:#E6F5F5}
.ui-form-demo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ui-form-demo label{display:grid;gap:6px;color:#AFC8CE;font-size:10px;font-weight:800}.ui-form-demo input,.ui-form-demo select{width:100%}
.ui-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ui-rule-grid>div{display:grid;grid-template-columns:28px 1fr;column-gap:9px;row-gap:2px;padding:12px;border:1px solid rgba(105,208,198,.11);border-radius:13px;background:#061F2B}.ui-rule-grid b{grid-row:1/3;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#0D4350;color:#62D3C7}.ui-rule-grid strong{font-size:10px;color:#EAF7F7}.ui-rule-grid span{font-size:8.5px;color:#7F9DA4;line-height:1.35}
@media(max-width:1000px){.ui-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-rule-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ui-doc-grid,.ui-form-demo,.ui-rule-grid{grid-template-columns:1fr}.sa-ui-guide-head .page-head-actions{width:100%}.sa-ui-guide-head .btn{width:100%}}


/* Faro v3.6.80 · Supervisor: navegación homologada con SuperAdmin */
/* El color raíz también cubre el rebote/overscroll del viewport móvil para que
   nunca aparezcan franjas blancas por encima o debajo del menú. */
html.admin-html{
  background:#041E29!important;
  background-color:#041E29!important;
  min-height:100%!important;
}
html.admin-html body.admin-body:not(.superadmin-body){
  min-height:100dvh!important;
  background:
    radial-gradient(circle at 72% 0,rgba(40,139,137,.08),transparent 34%),
    linear-gradient(180deg,#041E29 0%,#062B38 54%,#041E29 100%)!important;
  background-color:#041E29!important;
}
html.admin-html body.admin-body:not(.superadmin-body)::before{
  content:"";
  position:fixed;
  inset:-120px 0;
  z-index:-1;
  pointer-events:none;
  background:#041E29;
}

/* Escritorio: igual que SuperAdmin. Menú fijo, siempre desplegado y sin control
   de colapso. El contenido conserva permanentemente los 238px de margen. */
@media(min-width:781px){
  body.admin-body:not(.superadmin-body) .admin-nav-toggle-inside{display:none!important}
  body.admin-body:not(.superadmin-body) .admin-nav,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav{
    top:72px!important;
    width:238px!important;
    padding:16px 11px!important;
    box-shadow:10px 0 30px rgba(6,43,56,.08)!important;
  }
  body.admin-body.support-active:not(.superadmin-body) .admin-nav,
  body.admin-body.support-active:not(.superadmin-body).faro-nav-collapsed .admin-nav{top:134px!important}
  body.admin-body:not(.superadmin-body) .admin-nav a,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav a{
    justify-content:flex-start!important;
    padding:10px 12px!important;
    font-size:13px!important;
  }
  body.admin-body:not(.superadmin-body) .admin-nav a::before,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav a::before{font-size:16px!important}
  body.admin-body:not(.superadmin-body) .admin-main,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-main,
  body.admin-body:not(.superadmin-body) .report-main,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .report-main{
    margin-left:238px!important;
    width:auto!important;
    max-width:none!important;
  }
  body.admin-body:not(.superadmin-body) .faro-nav-backdrop{display:none!important}
}

/* Móvil: mismo drawer del SuperAdmin. Nace en 68px, abre sobre el contenido,
   muestra backdrop y al tocar fuera vuelve a colapsarse sin click-through. */
@media(max-width:780px){
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav{
    width:68px!important;
    padding:10px 7px!important;
    box-shadow:10px 0 30px rgba(0,20,28,.12)!important;
  }
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-main,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .report-main{margin-left:68px!important}
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav a{
    font-size:0!important;
    justify-content:center!important;
    padding:8px!important;
  }
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-toggle-inside{
    justify-content:center!important;
    padding:8px!important;
  }
  body.admin-body:not(.superadmin-body) .admin-nav{z-index:90!important}
  body.admin-body:not(.superadmin-body) .faro-nav-backdrop.visible{display:block!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .faro-nav-backdrop{display:none!important}
  body.admin-body.faro-admin-nav-open:not(.superadmin-body){overflow-x:hidden!important}
  body.admin-body:not(.superadmin-body) .admin-nav-toggle-inside{flex:0 0 auto!important}
}

/* v3.6.81 · Dashboard Supervisor homologado */
body.admin-body:not(.superadmin-body) .admin-nav{
  scrollbar-width:thin;
  scrollbar-color:rgba(105,208,198,.46) transparent;
}
body.admin-body:not(.superadmin-body) .admin-nav::-webkit-scrollbar{width:7px}
body.admin-body:not(.superadmin-body) .admin-nav::-webkit-scrollbar-track{background:transparent;margin:10px 0}
body.admin-body:not(.superadmin-body) .admin-nav::-webkit-scrollbar-thumb{background:rgba(105,208,198,.40);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
body.admin-body:not(.superadmin-body) .admin-nav::-webkit-scrollbar-thumb:hover{background:rgba(105,208,198,.65);background-clip:padding-box}

body.admin-body:not(.superadmin-body) .admin-nav-alerts{position:relative}
body.admin-body:not(.superadmin-body) .admin-nav-count{
  margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;
  background:#E24F5F;color:#fff;font-size:10px;font-weight:950;line-height:1;box-shadow:0 0 0 2px #062B38;
}
@media(max-width:780px){
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-alerts .admin-nav-count,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-alerts .admin-nav-count{
    position:absolute;right:3px;top:3px;min-width:18px;height:18px;padding:0 4px;font-size:9px;margin:0;
  }
}

body.admin-body:not(.superadmin-body) .admin-signature{
  background:#041E29!important;color:#8EABB3!important;border-top:1px solid rgba(105,208,198,.12)!important;
  margin-left:238px!important;padding:18px 24px!important;text-align:center!important;
}
@media(max-width:780px){body.admin-body:not(.superadmin-body) .admin-signature{margin-left:68px!important;padding:14px 12px!important}}

.dashboard-critical-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;margin-bottom:16px!important}
.dashboard-critical-kpis .kpi{min-height:98px!important}
.dashboard-round-sub{display:block;margin-top:4px;color:#799097;font-size:10px;font-weight:750}
.dashboard-alert-count{display:inline-grid;place-items:center;min-width:28px;height:26px;padding:0 7px;border-radius:999px;background:#EAF1F3;color:#45616A;font-weight:900}
.dashboard-alert-count.has-alerts{background:#D94B58;color:#fff}
.dashboard-rounds-wrap table th,.dashboard-rounds-wrap table td{vertical-align:middle}
.dashboard-rounds-wrap .detail-round-btn{white-space:nowrap}
.dashboard-metrics-modal{width:min(620px,calc(100vw - 24px))!important}
.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboard-metrics-grid>div{background:#F3F8F9;border:1px solid #D8E7E9;border-radius:14px;padding:14px}
.dashboard-metrics-grid span{display:block;color:#70888F;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.dashboard-metrics-grid strong{display:block;margin-top:5px;color:#073646;font-size:21px}
.dashboard-metrics-footer{display:flex;justify-content:flex-end;margin-top:14px}

body.admin-body:not(.superadmin-body) .dashboard-filter-actions{display:flex;align-items:end}
body.admin-body:not(.superadmin-body) .dashboard-filter-actions .btn.danger{background:#D94856!important;color:#fff!important;border-color:#D94856!important}

@media(max-width:980px){.dashboard-critical-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){
  .dashboard-critical-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .dashboard-critical-kpis .kpi{min-height:78px!important;padding:10px!important}
  .dashboard-critical-kpis .kpi:last-child{grid-column:1/-1}
  body.admin-body .dashboard-filter-grid label{font-size:9px!important}
  body.admin-body .dashboard-filter-grid input[type="date"]{min-height:34px!important;height:34px!important;padding:5px 7px!important;font-size:10px!important}
  body.admin-body .dashboard-filter-grid select{min-height:36px!important;height:36px!important;padding:5px 26px 5px 8px!important;font-size:10px!important}
  .dashboard-metrics-grid{grid-template-columns:1fr 1fr}
  .dashboard-metrics-grid>div{padding:11px}
  .dashboard-metrics-grid strong{font-size:18px}
  .dashboard-head-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}
  .dashboard-head-actions .btn{width:100%;text-align:center}
}

/* v3.6.82 · Dashboard móvil: fechas compactas */
@media(max-width:620px){
  body.admin-body:not(.superadmin-body) .dashboard-filter-grid input[type="date"]{
    min-height:32px!important;
    height:32px!important;
    padding:2px 8px!important;
    font-size:10px!important;
    line-height:1!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-filter-grid input[type="date"]::-webkit-date-and-time-value{
    min-height:0!important;
    line-height:1!important;
    text-align:left!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-filter-grid input[type="date"]::-webkit-calendar-picker-indicator{
    margin:0!important;
    padding:1px!important;
  }
}

/* v3.6.83 · fechas compactas reales + filtros AJAX del Dashboard */
.dashboard-date-control{position:relative;display:block;width:100%}
.dashboard-date-display{display:none}
@media(max-width:620px){
  body.admin-body:not(.superadmin-body) .dashboard-date-control{
    height:36px!important;
    border:1px solid rgba(104,181,193,.28);
    border-radius:10px;
    background:#073543;
    overflow:hidden;
  }
  body.admin-body:not(.superadmin-body) .dashboard-date-display{
    display:flex;
    align-items:center;
    height:100%;
    padding:0 10px;
    color:#fff;
    font-size:11px;
    font-weight:850;
    line-height:1;
    pointer-events:none;
  }
  body.admin-body:not(.superadmin-body) .dashboard-date-control input[type="date"]{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
    z-index:2!important;
  }
}

/* v3.6.84 · Dashboard: selector de periodo separado y estable en todos los navegadores */
body.admin-body:not(.superadmin-body) .dashboard-filter-grid{
  display:block!important;
}
body.admin-body:not(.superadmin-body) .dashboard-period-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 14px;
  margin-bottom:12px;
  border:1px solid rgba(105,208,198,.18);
  border-radius:14px;
  background:rgba(5,43,56,.48);
}
body.admin-body:not(.superadmin-body) .dashboard-period-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:180px;
}
body.admin-body:not(.superadmin-body) .dashboard-period-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:10px;
  background:rgba(52,205,190,.12);
  border:1px solid rgba(93,219,207,.18);
  font-size:18px;
}
body.admin-body:not(.superadmin-body) .dashboard-period-title strong{
  display:block;
  color:#F4FAFB;
  font-size:13px;
  line-height:1.1;
}
body.admin-body:not(.superadmin-body) .dashboard-period-title small{
  display:block;
  margin-top:3px;
  color:#86A4AC;
  font-size:9px;
  font-weight:700;
}
body.admin-body:not(.superadmin-body) .dashboard-period-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(140px,180px));
  gap:8px;
}
body.admin-body:not(.superadmin-body) .dashboard-period-field{
  position:relative;
  display:grid!important;
  gap:4px!important;
  margin:0!important;
}
body.admin-body:not(.superadmin-body) .dashboard-period-field>span{
  color:#8AA7AE!important;
  font-size:9px!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
body.admin-body:not(.superadmin-body) .dashboard-date-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  height:38px;
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(104,181,193,.30);
  border-radius:10px;
  background:#073543;
  color:#F7FBFC;
  font:inherit;
  font-size:11px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}
body.admin-body:not(.superadmin-body) .dashboard-date-button:hover,
body.admin-body:not(.superadmin-body) .dashboard-date-button:focus-visible{
  border-color:#55D4C7;
  outline:none;
  box-shadow:0 0 0 3px rgba(85,212,199,.10);
}
body.admin-body:not(.superadmin-body) .dashboard-date-native{
  position:absolute!important;
  z-index:3!important;
  inset:auto 0 0 0!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  border:0!important;
  -webkit-appearance:auto!important;
  appearance:auto!important;
}
body.admin-body:not(.superadmin-body) .dashboard-secondary-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body.admin-body:not(.superadmin-body) .dashboard-secondary-filters label{
  display:grid;
  gap:5px;
  color:#8AA7AE;
  font-size:9px;
  font-weight:900;
}
body.admin-body:not(.superadmin-body) .dashboard-filter-actions{
  margin-top:10px;
}

@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-period-row{
    display:block;
    padding:10px;
    margin-bottom:9px;
  }
  body.admin-body:not(.superadmin-body) .dashboard-period-title{
    display:none;
  }
  body.admin-body:not(.superadmin-body) .dashboard-period-fields{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.admin-body:not(.superadmin-body) .dashboard-date-button{
    height:34px;
    min-height:34px;
    padding:0 9px;
    font-size:10px;
    border-radius:9px;
  }
  body.admin-body:not(.superadmin-body) .dashboard-date-native{
    height:34px!important;
    min-height:34px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters select{
    height:36px!important;
    min-height:36px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-filter-actions{
    margin-top:9px;
  }
}

/* v3.6.86 · Dashboard: toda la superficie de fecha abre el picker en PC.
   En móvil se conserva el overlay nativo que ya funciona bien. */
body.admin-body:not(.superadmin-body) .dashboard-date-native{
  color-scheme:dark!important;
  accent-color:#55D4C7!important;
}
@media(min-width:761px){
  body.admin-body:not(.superadmin-body) .dashboard-date-native{
    pointer-events:none!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-date-button{
    position:relative;
    z-index:4;
  }
}
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-date-native{
    pointer-events:auto!important;
  }
}

/* v3.6.87 · Dashboard: filtros alineados + tabla operativa homologada */
body.admin-body:not(.superadmin-body) .dashboard-secondary-filters{
  grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;
  align-items:end!important;
}
body.admin-body:not(.superadmin-body) .dashboard-secondary-filters .dashboard-filter-actions{
  margin:0!important;
  display:flex!important;
  align-items:flex-end!important;
}
body.admin-body:not(.superadmin-body) .dashboard-secondary-filters .dashboard-filter-actions .btn{
  min-height:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 17px!important;
  white-space:nowrap!important;
}

/* La fila completa debe sentirse interactiva al recorrer rondas en escritorio. */
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr{
  transition:background-color .16s ease, box-shadow .16s ease, transform .16s ease!important;
}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr:hover{
  background:rgba(63,190,180,.12)!important;
  box-shadow:inset 4px 0 0 #55D4C7, inset 0 1px 0 rgba(85,212,199,.16), inset 0 -1px 0 rgba(85,212,199,.16)!important;
}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr:hover td{
  color:#F7FFFF!important;
}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr:hover .dashboard-round-sub{
  color:#A9CDD1!important;
}

/* Badges operativos: misma semántica visual que la guía UI. */
body.admin-body:not(.superadmin-body) .dashboard-round-status{
  color:#fff!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-status.status-good{
  background:#178A62!important;
  border-color:#178A62!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-status.status-warn{
  background:#C98A24!important;
  border-color:#C98A24!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-status.status-blue{
  background:#357AA5!important;
  border-color:#357AA5!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-status.status-bad{
  background:#C83E4D!important;
  border-color:#C83E4D!important;
}

/* Acciones de ronda según la guía UI: Info y Danger. */
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn,
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn{
  min-height:34px!important;
  height:34px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:10px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn{
  background:var(--ui-info,#357AA5)!important;
  border-color:var(--ui-info,#357AA5)!important;
  color:#fff!important;
}
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn{
  background:var(--ui-danger,#D94856)!important;
  border-color:var(--ui-danger,#D94856)!important;
  color:#fff!important;
}
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn:hover,
body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.10)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.18)!important;
}

@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters{
    grid-template-columns:1fr 1fr!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters .dashboard-filter-actions{
    grid-column:1/-1!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters .dashboard-filter-actions .btn{
    min-height:38px!important;
    height:38px!important;
    padding:0 14px!important;
  }
}

/* v3.6.88 · Dashboard Supervisor: móvil operativo, navegación con velo y header inmóvil */

/* Al navegar entre vistas del Supervisor usamos el mismo lenguaje de carga que
   SuperAdmin: contenido difuminado, header y menú siguen visibles. */
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  z-index:88!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(70,184,171,.12),transparent 36%),
    radial-gradient(circle at 82% 24%,rgba(30,105,126,.10),transparent 42%),
    linear-gradient(155deg,rgba(4,35,44,.76),rgba(7,49,60,.86))!important;
  -webkit-backdrop-filter:blur(15px) saturate(.74)!important;
  backdrop-filter:blur(15px) saturate(.74)!important;
  border-left:1px solid rgba(105,208,198,.08)!important;
  pointer-events:auto!important;
}
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton .faro-skeleton-main{
  display:none!important;
}

/* Evita que el rebote/overscroll mueva el header en iOS/Chrome. */
html.admin-html,
html.admin-html body.admin-body:not(.superadmin-body){
  overscroll-behavior-y:none!important;
}
@media(max-width:780px){
  html.admin-html{--faro-visual-top:0px!important}
  body.admin-body:not(.superadmin-body) .admin-top,
  html.faro-crios body.admin-body:not(.superadmin-body) .admin-top{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    -webkit-transform:none!important;
    will-change:auto!important;
  }
  html.faro-crios body.admin-body:not(.superadmin-body) .admin-nav{top:64px!important}
  body.admin-body.support-active:not(.superadmin-body) .admin-top,
  html.faro-crios body.admin-body.support-active .admin-top{top:54px!important}
  html.faro-crios body.admin-body.support-active .admin-nav{top:118px!important}
}

/* En móvil Limpiar permanece debajo, pero alineado a la derecha. */
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-secondary-filters .dashboard-filter-actions{
    grid-column:1/-1!important;
    justify-content:flex-end!important;
    width:100%!important;
  }
}

/* Rondas: sobriedad primero. El estado se expresa con una línea lateral muy
   discreta en lugar de llenar la interfaz de badges de colores. */
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row{
  position:relative;
  border-left:4px solid transparent!important;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-complete{border-left-color:#39A77B!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-incomplete{border-left-color:#C79A44!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-in_progress{border-left-color:#4D8FAF!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-cancelled{border-left-color:#C75560!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row:nth-child(odd){background:rgba(255,255,255,.018)!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row:nth-child(even){background:rgba(255,255,255,.040)!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row:hover{
  background:rgba(78,178,171,.105)!important;
  box-shadow:inset 0 1px 0 rgba(111,211,202,.13),inset 0 -1px 0 rgba(111,211,202,.13)!important;
  transform:translateX(2px)!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-state-text{
  display:inline-block;
  color:#C9DADC!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.015em;
}
body.admin-body:not(.superadmin-body) .dashboard-alert-count{
  min-width:24px;height:24px;padding:0 6px;border-radius:8px!important;
  background:rgba(255,255,255,.07)!important;color:#D7E6E8!important;
  display:inline-grid;place-items:center;font-size:10px;font-weight:900;
}
body.admin-body:not(.superadmin-body) .dashboard-alert-count.has-alerts{
  background:rgba(211,72,85,.16)!important;color:#FF9DA7!important;border:1px solid rgba(225,85,98,.24)!important;
}

/* Móvil: la tabla se convierte en una lista de tarjetas compactas. No existe
   scroll horizontal y las acciones están siempre a la vista. */
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) #dashboardRoundsPanel{
    padding:12px!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsPanel .table-section-head{
    align-items:center!important;
    gap:8px!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsPanel .table-section-head h2{font-size:17px!important;margin:0!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsPanel .table-pager-size{display:none!important}
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap{
    overflow:visible!important;
    width:100%!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
    background:transparent!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable thead{display:none!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody{display:grid!important;gap:8px!important;width:100%!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row{
    display:grid!important;
    grid-template-columns:1fr auto auto!important;
    grid-template-areas:
      "agent date date"
      "agent state progress"
      "alerts detail delete"!important;
    gap:6px 8px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 10px 10px 12px!important;
    border-top:1px solid rgba(113,190,196,.13)!important;
    border-right:1px solid rgba(113,190,196,.13)!important;
    border-bottom:1px solid rgba(113,190,196,.13)!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row:nth-child(odd){background:#0A3541!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row:nth-child(even){background:#0D3A46!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#DDEBED!important;
    font-size:10px!important;
    white-space:normal!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-agent{grid-area:agent!important;align-self:start!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-agent strong{display:block;font-size:12px!important;color:#F5FBFB!important;line-height:1.2}
  body.admin-body:not(.superadmin-body) .dashboard-round-sub{display:block!important;margin-top:3px!important;font-size:9px!important;color:#8FAAB0!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-date{grid-area:date!important;text-align:right!important;color:#8FAAB0!important;font-size:9px!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-state{grid-area:state!important;text-align:right!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-progress{grid-area:progress!important;text-align:right!important;color:#B8CED2!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-progress::before{content:"Progreso ";color:#708E95;font-size:8px;font-weight:800}
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts{grid-area:alerts!important;justify-self:start!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts::before{content:"Alertas ";color:#708E95;font-size:8px;font-weight:800;margin-right:4px}
  body.admin-body:not(.superadmin-body) .dashboard-round-detail{grid-area:detail!important;justify-self:end!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-delete{grid-area:delete!important;justify-self:end!important}
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn,
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn{
    height:30px!important;min-height:30px!important;padding:0 9px!important;border-radius:8px!important;font-size:9px!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr:not(.dashboard-round-row){display:block!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody tr:not(.dashboard-round-row) td{display:block!important;padding:14px!important;text-align:center!important}
}


/* v3.6.89 · Dashboard Supervisor: rondas móviles compactas + transición visible */

/* El velo debe cubrir siempre el contenido del Supervisor durante navegación. */
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  opacity:1!important;
  visibility:visible;
  transition:opacity .08s ease!important;
}
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton.hidden{
  display:none!important;
}

@media(max-width:760px){
  /* El estado ya se comunica mediante la barra lateral de la tarjeta; evitamos
     repetirlo y dejamos las acciones visibles sin desplazamiento. */
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row{
    position:relative!important;
    overflow:hidden!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "agent date"
      "progress alerts"
      "detail delete"!important;
    gap:5px 8px!important;
    padding:9px 9px 9px 13px!important;
    border-left:0!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    border-radius:12px 0 0 12px;
    background:#55727A;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-complete::before{background:#39A77B!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-incomplete::before{background:#C79A44!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-in_progress::before{background:#4D8FAF!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row.status-cancelled::before{background:#C75560!important}

  body.admin-body:not(.superadmin-body) .dashboard-round-state{display:none!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-progress{
    grid-area:progress!important;
    justify-self:start!important;
    text-align:left!important;
    font-size:9px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-progress::before{
    content:"Progreso ";
    font-size:7px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts{
    grid-area:alerts!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    line-height:1!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts::before{
    content:"⚠"!important;
    margin:0!important;
    font-size:9px!important;
    color:#78969D!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-alert-count{
    min-width:19px!important;
    width:19px!important;
    height:19px!important;
    padding:0!important;
    border-radius:6px!important;
    font-size:8px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-detail{
    grid-area:detail!important;
    justify-self:stretch!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-delete{
    grid-area:delete!important;
    justify-self:stretch!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-delete form{margin:0!important}
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn,
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn{
    width:100%!important;
    height:29px!important;
    min-height:29px!important;
    padding:0 10px!important;
    font-size:9px!important;
  }
}

/* Faro v3.6.90 · Supervisor móvil: recuperar pull-to-refresh sin soltar el header.
   El header sigue fijo por position:fixed, pero el viewport raíz vuelve a permitir
   el overscroll vertical nativo necesario para actualizar arrastrando hacia abajo. */
@media(max-width:780px){
  html.admin-html,
  html.admin-html body.admin-body:not(.superadmin-body){
    overscroll-behavior-y:auto!important;
  }
  html.admin-html body.admin-body:not(.superadmin-body){
    -webkit-overflow-scrolling:touch!important;
  }
  body.admin-body:not(.superadmin-body) .admin-top,
  html.faro-crios body.admin-body:not(.superadmin-body) .admin-top{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
}


/* Faro v3.6.91 · Dashboard: evidencia de alerta reconocible en rondas móviles */
body.admin-body:not(.superadmin-body) .dashboard-round-camera{
  display:inline-grid;
  place-items:center;
  font-size:15px;
  line-height:1;
  width:24px;
  height:24px;
  border-radius:8px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  filter:saturate(.82);
}
@media (max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts::before{content:none!important;display:none!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts:empty{display:none!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-camera{
    width:22px;
    height:22px;
    font-size:14px;
    border:0;
    background:transparent;
    filter:none;
  }
}

/* Faro v3.6.92 · Mantenedor de nodos y constructor visual de rutas */
.node-page-head{align-items:stretch}
.node-capacity-card{min-width:220px;padding:14px 16px;border:1px solid rgba(92,214,207,.20);border-radius:16px;background:#0B3340;display:flex;flex-direction:column;justify-content:center;gap:4px}
.node-capacity-card span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8FB0B7;font-weight:800}
.node-capacity-card strong{font-size:25px;color:#F4FBFB;line-height:1}.node-capacity-card strong small{font-size:13px;color:#8FB0B7;font-weight:700}
.node-capacity-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:7px}.node-capacity-bar i{display:block;height:100%;border-radius:inherit;background:#49D0C8}
.node-toolbar-panel{padding:14px 16px!important}.node-toolbar{display:flex;align-items:end;gap:14px;justify-content:space-between}.node-search-label{flex:1;max-width:640px}.node-search-label span{display:block;margin-bottom:6px;font-weight:800;font-size:12px;color:#BFD5D9}.node-toolbar-actions{display:flex;gap:8px}.node-limit-notice{margin-top:12px}.link-button{appearance:none;border:0;background:none;padding:0;color:#70DED7;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer}
.node-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.node-catalog-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid rgba(135,191,198,.14);border-radius:14px;background:#0A3541}.node-catalog-card:nth-child(even){background:#0D3945}.node-card-visual{width:52px;height:52px;border-radius:12px;overflow:hidden;background:#082B35;display:grid;place-items:center;font-size:22px}.node-card-visual img{width:100%;height:100%;object-fit:cover}.node-card-copy{min-width:0}.node-card-title{display:flex;align-items:center;gap:8px}.node-card-title strong{font-size:14px;color:#F4FAFB;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-card-title span{font-size:10px;color:#7FA3AA}.node-card-copy small{display:block;margin-top:4px;color:#91AEB4;font-size:10px}.node-detail-button{white-space:nowrap}
.node-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;color:#99B5BA;font-size:11px}.node-pagination .btn{min-width:34px;padding-inline:10px}
.node-modal-card{max-width:650px!important}.node-detail-photo{width:100%;height:210px;border-radius:14px;overflow:hidden;background:#082A34;display:grid;place-items:center;margin:10px 0 14px}.node-detail-photo img{width:100%;height:100%;object-fit:cover}.node-detail-placeholder{font-size:42px;opacity:.7}.node-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.node-detail-grid>div{padding:10px 11px;border:1px solid rgba(137,193,200,.13);background:#0A3340;border-radius:11px}.node-detail-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#789CA4;font-weight:800}.node-detail-grid strong{display:block;margin-top:3px;color:#EDF7F8;font-size:12px}.node-detail-description{grid-column:1/-1}.node-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.node-detail-actions form{margin:0}.node-edit-form{margin-top:14px;padding-top:14px;border-top:1px solid rgba(122,187,194,.16)}
.node-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.node-camera-button,.node-gallery-button{cursor:pointer}.node-mobile-photo{display:none}

.route-builder-v2{grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr)!important;align-items:start}.route-order-panel{min-width:0}.route-order-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.drag-hint{font-size:10px;color:#8DACB2;border:1px solid rgba(141,190,197,.16);border-radius:999px;padding:5px 9px;white-space:nowrap}.route-sort-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.route-sort-item{display:grid;grid-template-columns:28px 28px 42px minmax(120px,1fr) 100px 100px auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid rgba(128,185,192,.14);border-left:3px solid rgba(73,208,200,.46);border-radius:12px;background:#0A3541;transition:transform .12s ease,border-color .12s ease,background .12s ease}.route-sort-item:nth-child(even){background:#0D3945}.route-sort-item.dragging{opacity:.48;border-color:#49D0C8}.route-sort-item.drag-over{box-shadow:0 -3px 0 #49D0C8}.route-drag-handle{font-size:18px;line-height:1;color:#7FA5AC;cursor:grab;user-select:none;touch-action:none;text-align:center}.route-drag-handle:active{cursor:grabbing}.route-sort-index{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#082A34;color:#A9C8CC;font-size:11px;font-weight:900}.route-sort-photo{width:42px;height:42px;border-radius:9px;background:#082A34;display:grid;place-items:center;overflow:hidden}.route-sort-photo img{width:100%;height:100%;object-fit:cover}.route-sort-copy{min-width:0}.route-sort-copy strong{display:block;color:#F3FAFB;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-sort-copy small{display:block;margin-top:3px;color:#809FA5;font-size:9px}.route-time-field{display:grid!important;grid-template-columns:1fr 15px;gap:4px;align-items:center;font-size:8px!important;color:#7E9EA5!important}.route-time-field input{grid-column:1;height:32px!important;min-height:32px!important;padding:4px 7px!important;font-size:10px!important}.route-time-field span{grid-column:2;grid-row:2;color:#78979D}.route-remove-btn{min-height:32px!important;height:32px!important;padding:0 10px!important;font-size:9px!important}.route-save-row{display:flex;justify-content:flex-end;margin-top:12px}.route-sort-ghost{position:fixed!important;z-index:99999!important;pointer-events:none!important;opacity:.88!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important;transform:scale(.985);margin:0!important}

@media(max-width:900px){.node-catalog-grid{grid-template-columns:1fr}.route-builder-v2{grid-template-columns:1fr!important}.route-sort-item{grid-template-columns:28px 28px 42px minmax(110px,1fr) 82px 82px auto}}
@media(max-width:760px){
  .node-page-head{gap:10px}.node-capacity-card{min-width:0;width:100%;padding:11px 13px}.node-capacity-card strong{font-size:21px}.node-toolbar{display:grid;grid-template-columns:1fr}.node-search-label{max-width:none}.node-toolbar-actions{justify-content:flex-end}.node-catalog-card{grid-template-columns:46px minmax(0,1fr) auto;padding:9px;gap:9px}.node-card-visual{width:46px;height:46px}.node-detail-button{height:31px!important;min-height:31px!important;padding:0 9px!important;font-size:9px!important}.node-detail-grid{grid-template-columns:1fr 1fr}.node-detail-photo{height:180px}.node-mobile-photo{display:inline-flex}.node-desktop-photo{display:none}
  .route-order-heading{align-items:center}.drag-hint{display:none}.route-sort-item{grid-template-columns:24px 25px 38px minmax(0,1fr) auto;grid-template-areas:"drag idx photo copy remove" "drag idx time1 time1 time2";padding:8px 7px;gap:6px}.route-drag-handle{grid-area:drag}.route-sort-index{grid-area:idx;width:25px;height:25px}.route-sort-photo{grid-area:photo;width:38px;height:38px}.route-sort-copy{grid-area:copy}.route-sort-item .route-time-field:nth-of-type(1){grid-area:time1}.route-sort-item .route-time-field:nth-of-type(2){grid-area:time2}.route-remove-btn{grid-area:remove}.route-time-field{grid-template-columns:auto 1fr 12px!important}.route-time-field{font-size:7px!important}.route-time-field input{grid-column:2!important;grid-row:1!important;height:28px!important;min-height:28px!important}.route-time-field span{grid-column:3!important;grid-row:1!important}.route-save-row .btn{width:100%}
}

/* Faro v3.6.93 · nodos pendientes + evidencia fotográfica de rondas */
.node-pending-panel{padding:0!important;overflow:hidden}
.node-pending-summary{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:13px 15px;border:0;background:#0B3541;color:#EAF7F8;text-align:left;cursor:pointer}
.node-pending-summary:hover{background:#0E3B48}
.node-pending-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(199,154,68,.13);border:1px solid rgba(199,154,68,.28);font-size:20px}
.node-pending-copy strong{display:block;font-size:14px}.node-pending-copy small{display:block;margin-top:3px;color:#91ADB3;font-size:10px;line-height:1.35}
.node-pending-summary>b{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#C79A44;color:#fff;display:grid;place-items:center;font-size:11px}
.pending-node-focus{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;align-items:center;margin:12px 0 16px;padding:12px;border:1px solid rgba(130,192,199,.16);border-radius:14px;background:#0A3340}
.pending-node-photo{width:100px;height:100px;border-radius:13px;overflow:hidden;background:#082A34;display:grid;place-items:center;font-size:34px}.pending-node-photo img{width:100%;height:100%;object-fit:cover}
.pending-node-focus strong{display:block;color:#F3FAFB;font-size:17px}.pending-node-focus small{display:block;margin-top:5px;color:#83A4AB}
.pending-node-nfc-step{padding:12px;border:1px solid rgba(135,195,201,.14);border-radius:13px;background:#092F3A}.pending-node-nfc-step>input{display:none}

.dashboard-round-evidence{display:flex;align-items:center;gap:8px;justify-content:center}
.dashboard-round-thumb{width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.10);border-radius:9px;overflow:hidden;background:#082A34;cursor:pointer}.dashboard-round-thumb img{width:100%;height:100%;object-fit:cover;display:block}.dashboard-round-thumb:hover{border-color:#4FD4CC;transform:translateY(-1px)}
.dashboard-round-photo-count{font-size:10px;font-weight:800;color:#B8D0D4;white-space:nowrap}
@media(max-width:760px){
  .node-pending-summary{grid-template-columns:36px minmax(0,1fr) auto 14px;padding:11px 12px;gap:9px}.node-pending-icon{width:36px;height:36px;border-radius:10px;font-size:17px}.node-pending-copy strong{font-size:12px}.node-pending-copy small{font-size:9px}
  .pending-node-focus{grid-template-columns:78px minmax(0,1fr)}.pending-node-photo{width:78px;height:78px}
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts{display:block!important;justify-self:end!important;align-self:start!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-evidence{display:grid;grid-template-columns:auto;justify-items:end;gap:3px}
  body.admin-body:not(.superadmin-body) .dashboard-round-thumb{width:62px;height:54px;border-radius:9px}
  body.admin-body:not(.superadmin-body) .dashboard-round-photo-count{font-size:9px}
}

/* =========================================================
   Faro v3.6.94 · Modales Supervisor + rondas sin scrollbar
   ========================================================= */

/* 1) Visor de evidencia fotográfica: mismo lenguaje petróleo/turquesa. */
body.admin-body:not(.superadmin-body) .faro-image-card{
  background:#082E39!important;
  border:1px solid rgba(111,207,199,.20)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.46)!important;
}
body.admin-body:not(.superadmin-body) .faro-image-card header,
body.admin-body:not(.superadmin-body) .faro-image-card footer{
  background:#0A3541!important;
  border-color:rgba(123,195,201,.14)!important;
}
body.admin-body:not(.superadmin-body) .faro-image-card h2{color:#F1FAFB!important}
body.admin-body:not(.superadmin-body) .faro-image-card .eyebrow{color:#55D4C7!important}
body.admin-body:not(.superadmin-body) .faro-image-stage{
  background:#062833!important;
  padding:18px!important;
}
body.admin-body:not(.superadmin-body) .faro-image-stage img{
  background:#0A3541!important;
  border:1px solid rgba(125,197,203,.16)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.25)!important;
}
body.admin-body:not(.superadmin-body) .faro-image-card .admin-modal-close{
  background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#EAF7F8!important;
}
body.admin-body:not(.superadmin-body) .faro-image-card footer .btn:not(.primary){
  background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#fff!important;
}

/* 2) Detalle de ronda: tarjeta oscura, jerarquía clara y compacta. */
body.admin-body:not(.superadmin-body) .patrol-detail-card{
  background:#082E39!important;
  color:#E8F5F6!important;
  border:1px solid rgba(111,207,199,.18)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
  padding:20px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-head{
  margin:-20px -20px 16px!important;
  padding:17px 20px!important;
  background:#0A3541!important;
  border-bottom:1px solid rgba(123,195,201,.14)!important;
  align-items:center!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-head h2{color:#F3FAFB!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-head .muted{color:#8FB0B6!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-close{
  background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#F4FAFB!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card #patrolPrintBtn{
  background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#fff!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-loading{
  background:#0A3541!important;border-color:rgba(127,193,199,.18)!important;color:#AFC8CC!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpis{
  grid-template-columns:1.15fr repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi,
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-card{
  background:#0A3541!important;
  border-color:rgba(127,193,199,.14)!important;
  box-shadow:none!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi span,
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta span{color:#789DA4!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi strong,
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-card h3,
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta strong,
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-topline strong{color:#EEF8F9!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-grid{
  grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr)!important;
  gap:10px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta div,
body.admin-body:not(.superadmin-body) .patrol-detail-card .timeline-time,
body.admin-body:not(.superadmin-body) .patrol-detail-card .timeline-content{
  background:#082F3A!important;border-color:rgba(126,190,198,.12)!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .timeline-time{color:#A8C3C7!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .timeline-content strong{color:#ECF8F9!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .timeline-content p{color:#9DB9BE!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{
  background:#082F3A!important;
  border-color:rgba(126,190,198,.13)!important;
  padding:10px 12px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-ok{border-left:4px solid #2FA37C!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-warning{border-left:4px solid #C99236!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-missing{border-left:4px solid #CF4655!important;background:#0B313B!important;box-shadow:none!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-pending{border-left:4px solid #4F8EAD!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-order{
  background:#123E49!important;color:#F4FAFB!important;border:1px solid rgba(134,199,205,.16)!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-subline{color:#91AFB5!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-note{
  background:rgba(201,146,54,.10)!important;border-color:rgba(201,146,54,.28)!important;color:#F1D9AD!important;
}

/* Estado de la ronda: sólido y de alto contraste. */
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi:first-child .status-pill{
  color:#fff!important;border:0!important;padding:6px 10px!important;min-width:88px;text-align:center;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi:first-child .status-good{background:#218A68!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi:first-child .status-warn{background:#D14655!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi:first-child .status-bad{background:#D14655!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpi:first-child .status-blue{background:#397F9F!important}

/* Tags dentro del detalle: mantienen semántica sin volver el modal estridente. */
body.admin-body:not(.superadmin-body) .patrol-detail-card .status-pill{
  color:#fff!important;border-radius:999px!important;border:0!important;font-weight:900!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .status-good{background:#218A68!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .status-warn{background:#B9822E!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .status-bad{background:#D14655!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .status-blue{background:#397F9F!important}

/* Tiempo entre una marcación y la siguiente, presentado como tag visible. */
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer{
  margin-top:8px!important;
  display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;
  padding:0!important;background:transparent!important;border:0!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer span{
  color:#789DA4!important;font-size:9px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer strong{
  display:inline-flex!important;align-items:center!important;min-height:26px!important;
  padding:4px 9px!important;border-radius:999px!important;
  background:rgba(73,208,200,.12)!important;border:1px solid rgba(73,208,200,.24)!important;
  color:#74DDD6!important;font-size:10px!important;font-weight:900!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer.first strong{
  background:rgba(120,157,164,.12)!important;border-color:rgba(120,157,164,.20)!important;color:#A7C1C5!important;
}

/* 3) Rondas registradas: nunca mostrar scrollbar horizontal en escritorio. */
@media(min-width:761px){
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap{
    overflow-x:hidden!important;
    scrollbar-width:none!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap::-webkit-scrollbar{display:none!important}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable{
    table-layout:fixed!important;width:100%!important;min-width:0!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th,
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable td{
    overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(1){width:12%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(2){width:23%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(3){width:13%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(4){width:10%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(5){width:15%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(6){width:13%}
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(7){width:14%}
}

@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .patrol-detail-card{
    padding:14px!important;border-radius:20px 20px 0 0!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-head{
    margin:-14px -14px 12px!important;padding:14px!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-kpis{grid-template-columns:1fr 1fr!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-grid{grid-template-columns:1fr!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta{grid-template-columns:1fr 1fr!important}
  body.admin-body:not(.superadmin-body) .faro-image-card{width:calc(100vw - 18px)!important;max-height:92vh!important;border-radius:18px!important}
  body.admin-body:not(.superadmin-body) .faro-image-stage{padding:10px!important}
}


/* =========================================================
   Faro v3.6.95 · Rondas móvil: evidencia sobre estado + acciones alineadas
   ========================================================= */
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
    grid-template-areas:
      "agent agent date"
      "progress progress evidence"
      "detail delete state"!important;
    column-gap:8px!important;
    row-gap:6px!important;
    padding:10px 10px 10px 13px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-agent{grid-area:agent!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-date{grid-area:date!important;align-self:start!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-progress{grid-area:progress!important;align-self:end!important}

  /* Evidencia queda exactamente sobre el estado, en la columna derecha. */
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts{
    grid-area:evidence!important;
    justify-self:end!important;
    align-self:end!important;
    display:block!important;
    min-width:68px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-alerts::before{display:none!important;content:none!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-evidence{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:3px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-thumb{
    width:68px!important;
    height:58px!important;
    border-radius:10px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-photo-count{
    font-size:9px!important;
    line-height:1!important;
    color:#B8D0D4!important;
  }

  /* Estado vuelve como tag compacto y termina en la misma línea que los botones. */
  body.admin-body:not(.superadmin-body) .dashboard-round-state{
    display:block!important;
    grid-area:state!important;
    justify-self:end!important;
    align-self:center!important;
    text-align:right!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-state-text{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:27px!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    background:#55727A!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-row.status-complete .dashboard-round-state-text{background:#2F966C!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-row.status-incomplete .dashboard-round-state-text{background:#B98931!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-row.status-in_progress .dashboard-round-state-text{background:#3F7F9E!important}
  body.admin-body:not(.superadmin-body) .dashboard-round-row.status-cancelled .dashboard-round-state-text{background:#B74753!important}

  body.admin-body:not(.superadmin-body) .dashboard-round-detail{
    grid-area:detail!important;
    justify-self:stretch!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-round-delete{
    grid-area:delete!important;
    justify-self:stretch!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .detail-round-btn,
  body.admin-body:not(.superadmin-body) .dashboard-rounds-wrap .delete-round-btn{
    width:100%!important;
  }
}

/* =========================================================
   Faro v3.6.96 · Dashboard/modal Supervisor refinado
   ========================================================= */

/* Scrollbars: misma identidad visual en cualquier contenedor desplazable. */
body.admin-body:not(.superadmin-body) *{
  scrollbar-width:thin;
  scrollbar-color:rgba(84,205,195,.58) rgba(5,36,46,.18);
}
body.admin-body:not(.superadmin-body) *::-webkit-scrollbar{width:8px;height:8px}
body.admin-body:not(.superadmin-body) *::-webkit-scrollbar-track{background:rgba(5,36,46,.18);border-radius:999px}
body.admin-body:not(.superadmin-body) *::-webkit-scrollbar-thumb{background:rgba(84,205,195,.46);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
body.admin-body:not(.superadmin-body) *::-webkit-scrollbar-thumb:hover{background:rgba(84,205,195,.72);background-clip:padding-box}
body.admin-body:not(.superadmin-body) *::-webkit-scrollbar-corner{background:transparent}

/* Modal detalle de ronda: más compacto y sin línea de tiempo redundante. */
body.admin-body:not(.superadmin-body) .patrol-detail-card{
  width:min(1040px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .patrol-summary-card{margin-bottom:10px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta div{padding:9px 10px!important;min-height:58px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-card-full{margin-top:0!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-points{gap:7px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{
  grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  min-height:74px!important;
  padding:8px 10px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-order{
  width:36px!important;height:36px!important;border-radius:11px!important;font-size:13px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-body{min-width:0!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-name{display:block;color:#EEF8F9!important;font-size:13px!important;line-height:1.2!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-min-wait{margin-top:3px;color:#789DA4!important;font-size:9px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-subline{margin-top:3px!important;font-size:9px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-side{
  min-width:92px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:6px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-side .status-pill{font-size:8px!important;padding:4px 7px!important;white-space:nowrap!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-photo-thumb{
  width:58px!important;height:44px!important;padding:0!important;border:1px solid rgba(115,209,201,.18)!important;border-radius:10px!important;overflow:hidden!important;background:#062833!important;cursor:pointer!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-photo-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-note{
  width:min(620px,88%)!important;margin:6px auto 0!important;padding:6px 10px!important;text-align:center!important;font-size:10px!important;line-height:1.25!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer{margin-top:5px!important;gap:6px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer strong{min-height:22px!important;padding:3px 8px!important;font-size:9px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-finish strong{background:rgba(61,132,166,.14)!important;border-color:rgba(61,132,166,.28)!important;color:#9AD4EE!important}

/* Carga del detalle siempre centrada, también en móvil. */
body.admin-body:not(.superadmin-body) #patrolDetailModal{align-items:center!important;justify-content:center!important;padding:12px!important}
body.admin-body:not(.superadmin-body) #patrolDetailModal .patrol-detail-card{margin:auto!important;border-radius:20px!important}
body.admin-body:not(.superadmin-body) #patrolDetailModal .detail-loading{min-height:72px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}

/* Ver detalles del Dashboard: tema oscuro, simple y legible. */
body.admin-body:not(.superadmin-body) .dashboard-metrics-modal{
  background:#082E39!important;color:#EAF7F8!important;border:1px solid rgba(111,207,199,.18)!important;box-shadow:0 30px 90px rgba(0,0,0,.46)!important;
}
body.admin-body:not(.superadmin-body) .dashboard-metrics-modal header{border-bottom:1px solid rgba(123,195,201,.14)!important;padding-bottom:12px!important;margin-bottom:12px!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-modal h2{color:#F3FAFB!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-modal .muted{color:#8FB0B6!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-grid>div{background:#0A3541!important;border-color:rgba(127,193,199,.14)!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-grid span{color:#789DA4!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-grid strong{color:#EEF8F9!important}
body.admin-body:not(.superadmin-body) .dashboard-metrics-footer .btn{background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#fff!important}

/* Reporte de turno dentro de modal. */
body.admin-body:not(.superadmin-body) .shift-report-modal-card{
  width:min(1180px,calc(100vw - 30px))!important;height:min(88vh,900px)!important;max-height:calc(100dvh - 24px)!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;
  background:#082E39!important;color:#EAF7F8!important;border:1px solid rgba(111,207,199,.18)!important;box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
}
body.admin-body:not(.superadmin-body) .shift-report-modal-head{padding:15px 18px!important;margin:0!important;background:#0A3541!important;border-bottom:1px solid rgba(123,195,201,.14)!important;flex:0 0 auto!important}
body.admin-body:not(.superadmin-body) .shift-report-modal-head h2{color:#F3FAFB!important}
body.admin-body:not(.superadmin-body) .shift-report-modal-stage{position:relative;min-height:0;flex:1;background:#062833!important}
body.admin-body:not(.superadmin-body) .shift-report-modal-stage .detail-loading{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;z-index:2;background:#0A3541!important;color:#AFC8CC!important}
body.admin-body:not(.superadmin-body) #shiftReportFrame{width:100%;height:100%;border:0;background:#062833;opacity:0;transition:opacity .14s ease}
body.admin-body:not(.superadmin-body) #shiftReportFrame.ready{opacity:1}

@media(max-width:760px){
  body.admin-body:not(.superadmin-body) #patrolDetailModal{padding:8px!important}
  body.admin-body:not(.superadmin-body) #patrolDetailModal .patrol-detail-card{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border-radius:18px!important;padding:12px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .admin-modal-head{margin:-12px -12px 10px!important;padding:12px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .detail-meta{grid-template-columns:1fr 1fr!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{grid-template-columns:34px minmax(0,1fr) auto!important;gap:8px!important;min-height:70px!important;padding:7px 8px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-order{width:32px!important;height:32px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-side{min-width:72px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-photo-thumb{width:52px!important;height:40px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-note{width:96%!important;font-size:9px!important}
  body.admin-body:not(.superadmin-body) .shift-report-modal-card{width:calc(100vw - 16px)!important;height:calc(100dvh - 24px)!important;border-radius:18px!important;margin:auto!important}
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-ok{border-left-width:3px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-warning{border-left-width:3px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-missing{border-left-width:3px!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card.point-pending{border-left-width:3px!important}

/* Versión embebida del reporte de turno, usada dentro del modal del Dashboard. */
body.shift-report-body.shift-report-embed{background:#062833!important;min-height:100vh!important;overflow:auto!important}
body.shift-report-body.shift-report-embed>.support-mode-banner,
body.shift-report-body.shift-report-embed>.admin-top,
body.shift-report-body.shift-report-embed>.admin-signature,
body.shift-report-body.shift-report-embed .admin-layout>.admin-nav{display:none!important}
body.shift-report-body.shift-report-embed .admin-layout{display:block!important;min-height:0!important}
body.shift-report-body.shift-report-embed .shift-report-main{margin:0!important;padding:12px!important;width:100%!important;max-width:none!important;min-height:0!important}
body.shift-report-body.shift-report-embed .shift-report-shell{max-width:none!important;margin:0!important}
body.shift-report-body.shift-report-embed .shift-report-head{padding-top:0!important}
@media(max-width:760px){body.shift-report-body.shift-report-embed .shift-report-main{padding:8px!important}}

/* v3.6.97 · detalle de ronda estable + recorrido legible + transición Supervisor */
body.admin-body:not(.superadmin-body) #patrolDetailLoading.hidden{display:none!important}
body.admin-body:not(.superadmin-body) #patrolDetailBody.hidden{display:none!important}
body.admin-body:not(.superadmin-body) #patrolDetailModal{
  align-items:center!important;
  justify-content:center!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{
  grid-template-columns:40px minmax(240px,1.15fr) minmax(180px,.85fr) auto!important;
  align-items:center!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-event{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:4px!important;
  font-size:9px!important;
  color:#88AAB0!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-event strong{
  color:#CFE4E7!important;
  font-weight:700!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message:empty{display:none!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message .point-note{
  width:100%!important;
  max-width:360px!important;
  margin:0!important;
  padding:7px 11px!important;
  text-align:center!important;
  font-size:9px!important;
  line-height:1.3!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:4px!important;
  color:#789DA4!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer span{
  font-size:8px!important;
  line-height:1.2!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer strong{
  white-space:nowrap!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-side{
  min-width:68px!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:7px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-photo-thumb{
  width:58px!important;
  height:44px!important;
}
/* El velo de navegación cubre solo contenido; header y menú permanecen nítidos. */
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  z-index:96!important;
  background:rgba(5,38,48,.56)!important;
  -webkit-backdrop-filter:blur(12px) saturate(.82)!important;
  backdrop-filter:blur(12px) saturate(.82)!important;
}
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) #patrolDetailModal{
    position:fixed!important;
    inset:0!important;
    padding:8px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.admin-body:not(.superadmin-body) #patrolDetailModal .patrol-detail-card{
    margin:auto!important;
    max-height:calc(100dvh - 16px)!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{
    grid-template-columns:32px minmax(0,1fr) 64px!important;
    grid-template-areas:
      "order body side"
      "order message side"!important;
    gap:5px 7px!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-order{grid-area:order!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-body{grid-area:body!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message{grid-area:message!important;justify-content:flex-start!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-side{grid-area:side!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message .point-note{
    max-width:none!important;text-align:left!important;padding:6px 8px!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer{
    flex-wrap:wrap!important;gap:3px 5px!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-transfer span{font-size:8px!important}
}

/* v3.6.98 · Reporte de turno compacto, oscuro y fechas legibles */
body.admin-body:not(.superadmin-body) .dashboard-metrics-modal header{
  display:block!important;
}
body.admin-body:not(.superadmin-body) .dashboard-metrics-footer .btn.primary{
  background:linear-gradient(135deg,#18B7A7,#48CBBE)!important;
  border-color:#49D0C3!important;
  color:#fff!important;
}
body.admin-body:not(.superadmin-body) .shift-report-close{
  min-width:92px!important;
  justify-content:center!important;
}
body.admin-body:not(.superadmin-body) .shift-report-loading{
  position:absolute!important;inset:0!important;z-index:3!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(3,28,36,.54)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;
}
body.admin-body:not(.superadmin-body) .shift-report-loading.hidden{display:none!important}
body.admin-body:not(.superadmin-body) .shift-report-loading .faro-global-loading-card{
  min-width:290px!important;max-width:calc(100% - 30px)!important;
}

/* El reporte embebido abandona por completo el tema claro legado. */
body.shift-report-body.shift-report-embed,
body.shift-report-body.shift-report-embed .shift-report-main,
body.shift-report-body.shift-report-embed .shift-report-shell{background:#062833!important;color:#DCECEF!important}
body.shift-report-body.shift-report-embed .shift-report-shell{width:100%!important;padding:10px 12px 18px!important}
body.shift-report-body.shift-report-embed .shift-report-head{
  margin:0 0 9px!important;padding:4px 2px 8px!important;align-items:center!important;
}
body.shift-report-body.shift-report-embed .shift-report-head .eyebrow{font-size:9px!important;color:#4FD4C7!important}
body.shift-report-body.shift-report-embed .shift-report-head h1{font-size:21px!important;line-height:1.15!important;color:#F2FAFB!important;margin:3px 0!important}
body.shift-report-body.shift-report-embed .shift-report-head p{font-size:11px!important;color:#89AAB0!important}
body.shift-report-body.shift-report-embed .shift-report-actions .btn{min-height:36px!important;padding:8px 12px!important;font-size:11px!important}
body.shift-report-body.shift-report-embed .shift-date-nav{
  max-width:360px!important;margin:7px auto 10px!important;gap:6px!important;
}
body.shift-report-body.shift-report-embed .shift-date-nav>a,
body.shift-report-body.shift-report-embed .shift-date-nav input{
  min-height:34px!important;height:34px!important;border-radius:10px!important;background:#0A3541!important;border:1px solid rgba(92,185,184,.22)!important;color:#EEF8F9!important;font-size:11px!important;
}
body.shift-report-body.shift-report-embed .shift-summary-cards{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;margin:0 0 10px!important;
}
body.shift-report-body.shift-report-embed .shift-summary-cards article{
  min-height:64px!important;padding:9px 10px!important;border-radius:13px!important;background:#0A3541!important;border:1px solid rgba(92,185,184,.16)!important;box-shadow:none!important;
}
body.shift-report-body.shift-report-embed .shift-summary-cards span{font-size:8px!important;color:#7FA3A9!important}
body.shift-report-body.shift-report-embed .shift-summary-cards strong{font-size:20px!important;color:#F3FAFB!important;margin-top:3px!important}
body.shift-report-body.shift-report-embed .shift-timeline-panel{
  padding:12px!important;border-radius:16px!important;background:#082E39!important;border:1px solid rgba(92,185,184,.16)!important;box-shadow:none!important;
}
body.shift-report-body.shift-report-embed .shift-section-head{margin-bottom:6px!important}
body.shift-report-body.shift-report-embed .shift-section-head .eyebrow{font-size:8px!important;color:#4FD4C7!important}
body.shift-report-body.shift-report-embed .shift-section-head h2{font-size:18px!important;color:#F2FAFB!important;margin:2px 0!important}
body.shift-report-body.shift-report-embed .shift-day-timeline{gap:7px!important}
body.shift-report-body.shift-report-embed .shift-round-event,
body.shift-report-body.shift-report-embed .shift-end-event{
  grid-template-columns:52px 14px minmax(0,1fr)!important;gap:7px!important;min-height:0!important;
}
body.shift-report-body.shift-report-embed .shift-round-event:after,
body.shift-report-body.shift-report-embed .shift-end-event:after{left:58px!important;background:rgba(86,173,174,.24)!important}
body.shift-report-body.shift-report-embed .shift-event-time{font-size:9px!important;color:#8BAAB0!important;padding-top:8px!important}
body.shift-report-body.shift-report-embed .shift-event-time strong{font-size:10px!important;color:#CDE1E4!important}
body.shift-report-body.shift-report-embed .shift-event-card{
  padding:9px 10px!important;border-radius:13px!important;background:#0A3541!important;border:1px solid rgba(111,194,194,.14)!important;box-shadow:none!important;color:#DDEDEF!important;
}
body.shift-report-body.shift-report-embed .shift-event-card>header{gap:8px!important;margin-bottom:4px!important}
body.shift-report-body.shift-report-embed .shift-person{gap:8px!important}
body.shift-report-body.shift-report-embed .shift-person img,
body.shift-report-body.shift-report-embed .shift-person>span{width:34px!important;height:34px!important;border-radius:10px!important}
body.shift-report-body.shift-report-embed .shift-person strong{font-size:11px!important;color:#F3FAFB!important}
body.shift-report-body.shift-report-embed .shift-person small{font-size:8px!important;color:#82A5AB!important}
body.shift-report-body.shift-report-embed .shift-status{font-size:7px!important;padding:4px 7px!important;border-radius:999px!important;color:#fff!important}
body.shift-report-body.shift-report-embed .shift-event-summary{font-size:9px!important;line-height:1.3!important;color:#9CB8BD!important;margin:5px 0!important}
body.shift-report-body.shift-report-embed .shift-incidents{gap:5px!important;margin-top:5px!important}
body.shift-report-body.shift-report-embed .shift-incidents>article{
  padding:7px 8px!important;border-radius:10px!important;background:#092F39!important;border:1px solid rgba(232,174,52,.28)!important;color:#DCECEF!important;
}
body.shift-report-body.shift-report-embed .shift-incidents>article>div{gap:7px!important}
body.shift-report-body.shift-report-embed .shift-alert-icon{width:25px!important;height:25px!important;font-size:12px!important}
body.shift-report-body.shift-report-embed .shift-incidents strong{font-size:9px!important;color:#F2F7F8!important}
body.shift-report-body.shift-report-embed .shift-incidents small,
body.shift-report-body.shift-report-embed .shift-incidents p{font-size:8px!important;color:#9AB7BC!important;margin:2px 0!important}
body.shift-report-body.shift-report-embed .shift-photo-thumb{width:58px!important;height:44px!important;border-radius:9px!important;background:#062833!important}
body.shift-report-body.shift-report-embed .shift-end-event .shift-event-card{padding:8px 10px!important}
body.shift-report-body.shift-report-embed .shift-end-event .shift-event-card p{font-size:9px!important;color:#8CAAB0!important;margin:3px 0 0!important}
body.shift-report-body.shift-report-embed::-webkit-scrollbar{width:8px!important}
body.shift-report-body.shift-report-embed::-webkit-scrollbar-track{background:#062833!important}
body.shift-report-body.shift-report-embed::-webkit-scrollbar-thumb{background:#17616A!important;border:2px solid #062833!important;border-radius:999px!important}
body.shift-report-body.shift-report-embed{scrollbar-width:thin!important;scrollbar-color:#17616A #062833!important}
@media(max-width:760px){
  body.shift-report-body.shift-report-embed .shift-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.shift-report-body.shift-report-embed .shift-report-head{align-items:flex-start!important}
  body.shift-report-body.shift-report-embed .shift-report-actions{width:100%!important}
  body.shift-report-body.shift-report-embed .shift-report-actions .btn{width:100%!important}
  body.shift-report-body.shift-report-embed .shift-round-event,
  body.shift-report-body.shift-report-embed .shift-end-event{grid-template-columns:42px 12px minmax(0,1fr)!important;gap:5px!important}
  body.shift-report-body.shift-report-embed .shift-round-event:after,
  body.shift-report-body.shift-report-embed .shift-end-event:after{left:48px!important}
}

/* v3.6.99 · Reporte de turno: navegación embebida, evidencia y salida impresa */
body.shift-report-body.shift-report-embed .shift-date-nav>a.shift-day-arrow{
  display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,#18B7A7,#42C8BC)!important;
  border:1px solid #4CD3C6!important;color:#fff!important;
  font-size:22px!important;font-weight:950!important;line-height:1!important;
  min-height:38px!important;height:38px!important;padding:0!important;
  box-shadow:0 7px 18px rgba(24,183,167,.18)!important;
}
body.shift-report-body.shift-report-embed .shift-date-nav>a.shift-day-arrow:hover{
  transform:translateY(-1px)!important;filter:brightness(1.08)!important;
  box-shadow:0 10px 24px rgba(24,183,167,.27)!important;
}
body.shift-report-body.shift-report-embed .shift-incidents>article{
  display:grid!important;grid-template-columns:minmax(0,1fr) 96px!important;
  align-items:center!important;gap:10px!important;overflow:hidden!important;
}
body.shift-report-body.shift-report-embed .shift-incidents>article>div{min-width:0!important;align-items:flex-start!important}
body.shift-report-body.shift-report-embed .shift-photo-thumb{
  width:92px!important;height:68px!important;padding:3px!important;margin:0!important;
  justify-self:end!important;align-self:center!important;overflow:hidden!important;
  border:1px solid rgba(87,205,196,.22)!important;
}
body.shift-report-body.shift-report-embed .shift-photo-thumb img{
  width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;border-radius:7px!important;
}
@media(max-width:760px){
  body.shift-report-body.shift-report-embed .shift-incidents>article{grid-template-columns:minmax(0,1fr) 78px!important}
  body.shift-report-body.shift-report-embed .shift-photo-thumb{width:76px!important;height:58px!important;justify-self:end!important;align-self:center!important}
}

/* Impresión limpia: el cuadro nativo imprime un reporte en blanco, sin gastar fondo. */
@media print{
  html,body.shift-report-body,body.shift-report-body.shift-report-embed,
  body.shift-report-body.shift-report-embed .shift-report-main,
  body.shift-report-body.shift-report-embed .shift-report-shell{
    background:#fff!important;color:#111!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-shell{padding:0!important;width:100%!important}
  body.shift-report-body.shift-report-embed .shift-report-actions,
  body.shift-report-body.shift-report-embed .shift-date-nav,
  body.shift-report-body.shift-report-embed .shift-photo-modal,
  body.shift-report-body.shift-report-embed .admin-top,
  body.shift-report-body.shift-report-embed .admin-nav,
  body.shift-report-body.shift-report-embed .admin-signature{display:none!important}
  body.shift-report-body.shift-report-embed .shift-report-head{border-bottom:1px solid #bbb!important;padding:0 0 8px!important;margin-bottom:8px!important}
  body.shift-report-body.shift-report-embed .shift-report-head .eyebrow,
  body.shift-report-body.shift-report-embed .shift-section-head .eyebrow{color:#555!important}
  body.shift-report-body.shift-report-embed .shift-report-head h1,
  body.shift-report-body.shift-report-embed .shift-section-head h2{color:#111!important}
  body.shift-report-body.shift-report-embed .shift-report-head p{color:#555!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards{gap:5px!important;margin-bottom:8px!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards article{
    background:#fff!important;border:1px solid #bbb!important;color:#111!important;min-height:52px!important;padding:7px 8px!important;
  }
  body.shift-report-body.shift-report-embed .shift-summary-cards span{color:#555!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards strong{color:#111!important;font-size:17px!important}
  body.shift-report-body.shift-report-embed .shift-timeline-panel{
    background:#fff!important;border:1px solid #bbb!important;padding:8px!important;color:#111!important;
  }
  body.shift-report-body.shift-report-embed .shift-round-event,
  body.shift-report-body.shift-report-embed .shift-end-event{break-inside:avoid!important;padding-bottom:8px!important}
  body.shift-report-body.shift-report-embed .shift-round-event:after,
  body.shift-report-body.shift-report-embed .shift-end-event:after{background:#aaa!important}
  body.shift-report-body.shift-report-embed .shift-event-time strong,
  body.shift-report-body.shift-report-embed .shift-event-time span{color:#333!important}
  body.shift-report-body.shift-report-embed .shift-event-card{
    background:#fff!important;border:1px solid #bbb!important;color:#111!important;padding:7px 8px!important;
  }
  body.shift-report-body.shift-report-embed .shift-person strong{color:#111!important}
  body.shift-report-body.shift-report-embed .shift-person small,
  body.shift-report-body.shift-report-embed .shift-event-summary{color:#444!important}
  body.shift-report-body.shift-report-embed .shift-incidents>article{
    background:#fff!important;border:1px solid #aaa!important;color:#111!important;
  }
  body.shift-report-body.shift-report-embed .shift-incidents strong{color:#111!important}
  body.shift-report-body.shift-report-embed .shift-incidents small,
  body.shift-report-body.shift-report-embed .shift-incidents p{color:#444!important}
  body.shift-report-body.shift-report-embed .shift-alert-icon{background:#fff!important;color:#111!important;border:1px solid #777!important}
  body.shift-report-body.shift-report-embed .shift-status{background:#fff!important;color:#111!important;border:1px solid #777!important}
  body.shift-report-body.shift-report-embed .shift-photo-thumb{background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important}
  body.shift-report-body.shift-report-embed .shift-event-dot{border-color:#fff!important;outline:1px solid #777!important}
  @page{margin:12mm}
}


/* Faro v3.6.103 · Reporte de turno: vacío temático, estados en español y salida impresa sin páginas residuales */
body.shift-report-body.shift-report-embed .shift-timeline-panel.is-empty{
  min-height:180px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#082E39!important;
}
body.shift-report-body.shift-report-embed .shift-timeline-panel.is-empty .shift-empty{
  width:100%!important;
  padding:34px 20px!important;
  background:transparent!important;
  border:0!important;
  color:#EAF5F6!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1.35!important;
  text-align:center!important;
}

@media print{
  html.admin-html,
  html.admin-html body.shift-report-body,
  html.admin-html body.shift-report-body.shift-report-embed,
  body.shift-report-body.shift-report-embed .admin-layout,
  body.shift-report-body.shift-report-embed .shift-report-main,
  body.shift-report-body.shift-report-embed .shift-report-shell{
    background:#fff!important;
    background-image:none!important;
    color:#111!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  html.admin-html body.shift-report-body::before,
  body.shift-report-body::before,
  body.shift-report-body::after{display:none!important;content:none!important;background:transparent!important}
  body.shift-report-body.shift-report-embed .admin-layout{
    display:block!important;
    grid-template-columns:none!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-main{
    margin:0!important;padding:0!important;width:auto!important;max-width:none!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-shell{
    margin:0!important;padding:0!important;width:100%!important;max-width:none!important;
  }
  body.shift-report-body.shift-report-embed .shift-timeline-panel{
    min-height:0!important;height:auto!important;margin:0!important;
  }
  body.shift-report-body.shift-report-embed .shift-day-timeline{min-height:0!important;height:auto!important}
  body.shift-report-body.shift-report-embed .shift-end-event{display:none!important}
  body.shift-report-body.shift-report-embed .shift-empty{
    background:#fff!important;color:#111!important;border:1px solid #bbb!important;
    font-size:18px!important;font-weight:800!important;padding:28px 16px!important;
  }
  body.shift-report-body.shift-report-embed .shift-timeline-panel.is-empty{
    min-height:0!important;background:#fff!important;display:block!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-head *,
  body.shift-report-body.shift-report-embed .shift-summary-cards *,
  body.shift-report-body.shift-report-embed .shift-timeline-panel *,
  body.shift-report-body.shift-report-embed .shift-event-card *,
  body.shift-report-body.shift-report-embed .shift-incidents *{
    text-shadow:none!important;
  }
  body.shift-report-body.shift-report-embed .shift-event-card,
  body.shift-report-body.shift-report-embed .shift-incidents>article,
  body.shift-report-body.shift-report-embed .shift-summary-cards article{
    -webkit-print-color-adjust:economy!important;
    print-color-adjust:economy!important;
  }
  body.shift-report-body.shift-report-embed .shift-person strong,
  body.shift-report-body.shift-report-embed .shift-person small,
  body.shift-report-body.shift-report-embed .shift-event-summary,
  body.shift-report-body.shift-report-embed .shift-incidents strong,
  body.shift-report-body.shift-report-embed .shift-incidents small,
  body.shift-report-body.shift-report-embed .shift-incidents p,
  body.shift-report-body.shift-report-embed .shift-event-time strong,
  body.shift-report-body.shift-report-embed .shift-event-time span{
    color:#111!important;
    opacity:1!important;
  }
  body.shift-report-body.shift-report-embed .shift-status{
    color:#111!important;background:#fff!important;border:1px solid #666!important;
  }
  body.shift-report-body.shift-report-embed .admin-signature{display:none!important}
  @page{size:auto;margin:10mm}
}


/* Faro v3.6.102 · Ajustes finos: periodo inteligente, evidencia temática y estados */
body.shift-report-body .shift-photo-modal>section,
body.admin-body:not(.superadmin-body) .shift-photo-modal>section{
  background:#082E39!important;border:1px solid rgba(111,207,199,.18)!important;box-shadow:0 28px 90px rgba(0,0,0,.46)!important;
}
body.shift-report-body .shift-photo-modal header,
body.shift-report-body .shift-photo-modal footer,
body.admin-body:not(.superadmin-body) .shift-photo-modal header,
body.admin-body:not(.superadmin-body) .shift-photo-modal footer{
  background:#0A3541!important;border-color:rgba(123,195,201,.14)!important;
}
body.shift-report-body .shift-photo-modal header h2,
body.admin-body:not(.superadmin-body) .shift-photo-modal header h2{color:#F1FAFB!important}
body.shift-report-body .shift-photo-modal .eyebrow,
body.admin-body:not(.superadmin-body) .shift-photo-modal .eyebrow{color:#55D4C7!important}
body.shift-report-body .shift-photo-modal header>button,
body.admin-body:not(.superadmin-body) .shift-photo-modal header>button{background:#123E49!important;color:#EAF7F8!important;border:1px solid rgba(147,206,211,.18)!important}
body.shift-report-body .shift-photo-modal .shift-photo-stage,
body.admin-body:not(.superadmin-body) .shift-photo-modal .shift-photo-stage{background:#062833!important}
body.shift-report-body .shift-photo-modal .shift-photo-stage img,
body.admin-body:not(.superadmin-body) .shift-photo-modal .shift-photo-stage img{background:#0A3541!important;border:1px solid rgba(125,197,203,.16)!important;box-shadow:0 14px 34px rgba(0,0,0,.25)!important}
body.shift-report-body .shift-photo-modal footer .btn:not(.primary),
body.admin-body:not(.superadmin-body) .shift-photo-modal footer .btn:not(.primary){background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#fff!important}
body.admin-body:not(.superadmin-body) .faro-image-detail,
body.shift-report-body .shift-photo-detail{color:#DDEDEF!important}
body.admin-body:not(.superadmin-body) .faro-image-detail{margin:14px auto 0;max-width:min(820px,100%);padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(111,207,199,.16);font-size:14px;line-height:1.45;text-align:left}
body.admin-body:not(.superadmin-body) .faro-image-detail.hidden{display:none}

body.admin-body:not(.superadmin-body) .dashboard-round-status.status-warn,
body.shift-report-body.shift-report-embed .shift-status.warn{
  background:#C83E4D!important;border-color:#C83E4D!important;color:#fff!important;
}
body.admin-body:not(.superadmin-body) .dashboard-round-status.status-good,
body.shift-report-body.shift-report-embed .shift-status.good{
  background:#178A62!important;border-color:#178A62!important;color:#fff!important;
}
body.shift-report-body.shift-report-embed .shift-status.bad{background:#A04B57!important;border-color:#A04B57!important;color:#fff!important}
body.shift-report-body.shift-report-embed .shift-status.live{background:#357AA5!important;border-color:#357AA5!important;color:#fff!important}

body.shift-report-body.shift-report-embed .shift-event-summary strong{color:#F6FBFB!important;font-weight:850!important}
body.shift-report-body.shift-report-embed .shift-event-summary{color:#B7D0D4!important}

@media print{
  body.shift-report-body.shift-report-embed .shift-event-summary,
  body.shift-report-body.shift-report-embed .shift-event-summary strong,
  body.shift-report-body.shift-report-embed .shift-person strong,
  body.shift-report-body.shift-report-embed .shift-person small,
  body.shift-report-body.shift-report-embed .shift-status,
  body.shift-report-body.shift-report-embed .shift-empty,
  body.shift-report-body.shift-report-embed .shift-incidents strong,
  body.shift-report-body.shift-report-embed .shift-incidents small,
  body.shift-report-body.shift-report-embed .shift-incidents p,
  body.shift-report-body.shift-report-embed .shift-event-time strong,
  body.shift-report-body.shift-report-embed .shift-event-time span{color:#111!important}
  body.shift-report-body.shift-report-embed .shift-status.good{background:#fff!important;border:1px solid #555!important;color:#111!important}
  body.shift-report-body.shift-report-embed .shift-status.warn,
  body.shift-report-body.shift-report-embed .shift-status.bad,
  body.shift-report-body.shift-report-embed .shift-status.live{background:#fff!important;border:1px solid #555!important;color:#111!important}
  body.shift-report-body.shift-report-embed .shift-event-summary strong{font-weight:900!important}
}


/* Faro v3.6.102 · Avatar de agente, impresión compacta y KPI de alertas oculto */
body.shift-report-body.shift-report-embed .shift-person img{
  width:48px;height:48px;border-radius:12px!important;object-fit:cover!important;
  background:#113B46!important;border:0!important;padding:0!important;display:block!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;overflow:hidden!important;
}
body.shift-report-body.shift-report-embed .shift-person>span{
  width:48px;height:48px;border-radius:12px!important;background:#E9F4F5;border:1px solid rgba(9,73,99,.14);
}
body.shift-report-body.shift-report-embed .shift-photo-thumb img{object-fit:cover!important}
body.shift-report-body .shift-photo-modal .shift-photo-stage img,
body.admin-body:not(.superadmin-body) .shift-photo-modal .shift-photo-stage img,
body.admin-body:not(.superadmin-body) .faro-image-stage img{object-fit:contain!important}

@media print{
  body.shift-report-body.shift-report-embed .shift-summary-cards{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-bottom:6px!important;
  }
  body.shift-report-body.shift-report-embed .shift-summary-cards .shift-stat-alerts{display:none!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards article{
    min-height:40px!important;padding:5px 6px!important;border-radius:10px!important;
  }
  body.shift-report-body.shift-report-embed .shift-summary-cards span{font-size:7px!important;letter-spacing:.04em!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards strong{font-size:13px!important;margin-top:2px!important;line-height:1.05!important}

  body.shift-report-body.shift-report-embed .shift-timeline-panel{padding:6px!important;border-radius:12px!important}
  body.shift-report-body.shift-report-embed .shift-section-head h2{margin:1px 0 6px!important;font-size:16px!important}
  body.shift-report-body.shift-report-embed .shift-round-event,
  body.shift-report-body.shift-report-embed .shift-end-event{grid-template-columns:52px 16px minmax(0,1fr)!important;gap:6px!important;padding-bottom:6px!important}
  body.shift-report-body.shift-report-embed .shift-round-event:after,
  body.shift-report-body.shift-report-embed .shift-end-event:after{left:59px!important;top:16px!important;bottom:-4px!important}
  body.shift-report-body.shift-report-embed .shift-event-time{padding-top:2px!important}
  body.shift-report-body.shift-report-embed .shift-event-time strong{font-size:11px!important;line-height:1.05!important}
  body.shift-report-body.shift-report-embed .shift-event-time span{font-size:7px!important;line-height:1.1!important;margin-top:2px!important}
  body.shift-report-body.shift-report-embed .shift-event-dot{width:12px!important;height:12px!important;border-width:3px!important;margin-top:3px!important}

  body.shift-report-body.shift-report-embed .shift-event-card{padding:5px 6px!important;border-radius:12px!important}
  body.shift-report-body.shift-report-embed .shift-event-card>header{gap:8px!important}
  body.shift-report-body.shift-report-embed .shift-person{gap:7px!important}
  body.shift-report-body.shift-report-embed .shift-person img,
  body.shift-report-body.shift-report-embed .shift-person>span{width:34px!important;height:34px!important;border-radius:10px!important;box-shadow:none!important}
  body.shift-report-body.shift-report-embed .shift-person strong{font-size:12px!important;line-height:1.1!important}
  body.shift-report-body.shift-report-embed .shift-person small{font-size:7px!important;line-height:1.15!important;margin-top:1px!important}
  body.shift-report-body.shift-report-embed .shift-status{font-size:7px!important;padding:3px 6px!important}
  body.shift-report-body.shift-report-embed .shift-event-summary{font-size:9px!important;line-height:1.28!important;margin:5px 0 4px!important}

  body.shift-report-body.shift-report-embed .shift-incidents{gap:4px!important;margin:5px 0 0!important}
  body.shift-report-body.shift-report-embed .shift-incidents>article{padding:5px 6px!important;border-radius:10px!important;gap:8px!important}
  body.shift-report-body.shift-report-embed .shift-incidents>article>div{gap:6px!important}
  body.shift-report-body.shift-report-embed .shift-alert-icon{width:18px!important;height:18px!important;border-radius:6px!important;font-size:10px!important}
  body.shift-report-body.shift-report-embed .shift-incidents strong{font-size:9px!important;line-height:1.15!important}
  body.shift-report-body.shift-report-embed .shift-incidents small{font-size:7px!important;line-height:1.1!important;margin-top:1px!important}
  body.shift-report-body.shift-report-embed .shift-incidents p{font-size:8px!important;line-height:1.18!important;margin:2px 0 0!important}
  body.shift-report-body.shift-report-embed .shift-photo-thumb{padding:2px!important;border-radius:8px!important}
  body.shift-report-body.shift-report-embed .shift-photo-thumb img{width:56px!important;height:42px!important;border-radius:6px!important;object-fit:cover!important}
}


/* Faro v3.6.103 · Comentarios en modales de evidencia, fecha límite de reporte y vacíos legibles */
body.admin-body:not(.superadmin-body) .faro-image-stage,
body.shift-report-body .shift-photo-stage{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;
}
body.admin-body:not(.superadmin-body) .faro-image-stage img,
body.shift-report-body .shift-photo-stage img{
  display:block!important;max-width:100%!important;max-height:72vh!important;
}
body.admin-body:not(.superadmin-body) .faro-image-detail,
body.shift-report-body .shift-photo-detail{
  width:min(820px,100%)!important;align-self:center!important;display:block!important;
}
body.admin-body:not(.superadmin-body) .faro-image-detail.hidden,
body.shift-report-body .shift-photo-detail.hidden{display:none!important}

body.shift-report-body.shift-report-embed .shift-print-meta{
  margin-left:auto!important;text-align:right!important;display:grid!important;gap:2px!important;justify-items:end!important;
}
body.shift-report-body.shift-report-embed .shift-print-meta span{
  font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#85C7CD!important;font-weight:800!important;
}
body.shift-report-body.shift-report-embed .shift-print-meta strong{
  font-size:13px!important;color:#F4FBFC!important;font-weight:800!important;
}
body.shift-report-body.shift-report-embed .shift-date-nav .shift-day-arrow.is-disabled{
  height:44px!important;border-radius:14px!important;background:rgba(255,255,255,.06)!important;border:1px dashed rgba(149,205,210,.16)!important;display:block!important;opacity:.0;pointer-events:none;
}
body.shift-report-body.shift-report-embed .shift-timeline-panel.is-empty .shift-empty{
  text-shadow:none!important;
}

@media print{
  body.shift-report-body.shift-report-embed .shift-report-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:10px!important}
  body.shift-report-body.shift-report-embed .shift-print-meta{display:block!important;text-align:right!important;margin-top:0!important}
  body.shift-report-body.shift-report-embed .shift-print-meta span{font-size:8px!important;color:#444!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-weight:800!important}
  body.shift-report-body.shift-report-embed .shift-print-meta strong{font-size:10px!important;color:#111!important;font-weight:800!important}
  body.shift-report-body.shift-report-embed .shift-empty{
    background:#fff!important;color:#111!important;border:1px solid #bbb!important;
    font-size:19px!important;font-weight:900!important;padding:34px 16px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;min-height:100px!important;
  }
  body.shift-report-body.shift-report-embed .shift-summary-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards .shift-stat-alerts{display:none!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards .shift-stat-rounds{grid-column:span 2!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards .shift-stat-marks{grid-column:span 2!important}
}

@media print{
  body.shift-report-body .shift-summary-cards .shift-stat-alerts{display:none!important}
}


/* Faro v3.6.104 · Fechas CL, alineación de rondas y evidencia con comentario */
body.admin-body:not(.superadmin-body) #dashboardRoundsTable th:nth-child(n+3),
body.admin-body:not(.superadmin-body) #dashboardRoundsTable td:nth-child(n+3){text-align:center!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .row-actions,
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .dashboard-round-evidence{justify-content:center!important;align-items:center!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .dashboard-round-detail .btn,
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .dashboard-round-delete form{margin-inline:auto!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .dashboard-round-agent{text-align:left!important}
body.admin-body:not(.superadmin-body) #dashboardRoundsTable .dashboard-round-date{text-align:left!important}

body.admin-body:not(.superadmin-body) .faro-image-card,
body.shift-report-body .shift-photo-modal>section{max-height:92vh!important}
body.admin-body:not(.superadmin-body) .faro-image-stage,
body.shift-report-body .shift-photo-stage{
  overflow:auto!important;overscroll-behavior:contain!important;min-height:0!important;
  scrollbar-width:thin!important;scrollbar-color:#2BA99E #062833!important;
}
body.admin-body:not(.superadmin-body) .faro-image-stage::-webkit-scrollbar,
body.shift-report-body .shift-photo-stage::-webkit-scrollbar{width:8px!important;height:8px!important}
body.admin-body:not(.superadmin-body) .faro-image-stage::-webkit-scrollbar-track,
body.shift-report-body .shift-photo-stage::-webkit-scrollbar-track{background:#062833!important}
body.admin-body:not(.superadmin-body) .faro-image-stage::-webkit-scrollbar-thumb,
body.shift-report-body .shift-photo-stage::-webkit-scrollbar-thumb{background:#2BA99E!important;border:2px solid #062833!important;border-radius:999px!important}
body.admin-body:not(.superadmin-body) .faro-image-stage.has-detail img,
body.shift-report-body .shift-photo-stage.has-detail img{max-height:56vh!important}
body.admin-body:not(.superadmin-body) .faro-image-detail,
body.shift-report-body .shift-photo-detail{
  flex:0 0 auto!important;width:min(820px,100%)!important;box-sizing:border-box!important;
  margin:0 auto!important;padding:12px 14px!important;color:#F0F8F9!important;
  background:#0A3541!important;border:1px solid rgba(85,212,199,.24)!important;
  border-radius:12px!important;font-size:13px!important;line-height:1.45!important;
}

body.admin-body:not(.superadmin-body) .dashboard-date-button{font-variant-numeric:tabular-nums}

@media print{
  body.shift-report-body.shift-report-embed .shift-timeline-panel.is-empty .shift-empty,
  body.shift-report-body.shift-report-embed .shift-empty{
    color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important;text-shadow:none!important;
    background:#fff!important;border:1px solid #999!important;
  }
}


/* Faro v3.6.105 · Reporte de turno: scrollbars Faro, fecha fija y cierre visual */
html.admin-html{
  scrollbar-width:thin!important;
  scrollbar-color:#2BA99E #062833!important;
}
html.admin-html::-webkit-scrollbar,
body.shift-report-body.shift-report-embed::-webkit-scrollbar,
body.shift-report-body.shift-report-embed .shift-report-main::-webkit-scrollbar{
  width:9px!important;height:9px!important;
}
html.admin-html::-webkit-scrollbar-track,
body.shift-report-body.shift-report-embed::-webkit-scrollbar-track,
body.shift-report-body.shift-report-embed .shift-report-main::-webkit-scrollbar-track{
  background:#062833!important;
}
html.admin-html::-webkit-scrollbar-thumb,
body.shift-report-body.shift-report-embed::-webkit-scrollbar-thumb,
body.shift-report-body.shift-report-embed .shift-report-main::-webkit-scrollbar-thumb{
  background:#247F83!important;
  border:2px solid #062833!important;
  border-radius:999px!important;
}
html.admin-html::-webkit-scrollbar-thumb:hover,
body.shift-report-body.shift-report-embed::-webkit-scrollbar-thumb:hover,
body.shift-report-body.shift-report-embed .shift-report-main::-webkit-scrollbar-thumb:hover{
  background:#2BA99E!important;
}

/* La fecha de impresión es información documental: no distrae en pantalla. */
body.shift-report-body.shift-report-embed .shift-print-meta{display:none!important}

/* El selector de día acompaña al supervisor al recorrer un turno largo. */
body.shift-report-body.shift-report-embed .shift-date-nav{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
  width:min(100%,390px)!important;
  margin:0 auto 10px!important;
  padding:7px 8px!important;
  border-radius:14px!important;
  background:rgba(6,40,51,.96)!important;
  border:1px solid rgba(85,212,199,.13)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(8px)!important;
}

body.shift-report-body.shift-report-embed .shift-report-end{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:min(620px,78%)!important;
  margin:14px auto 2px!important;
  color:#8FB6BB!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.shift-report-body.shift-report-embed .shift-report-end span{
  display:block!important;
  height:1px!important;
  flex:1!important;
  background:linear-gradient(90deg,transparent,rgba(85,212,199,.35))!important;
}
body.shift-report-body.shift-report-embed .shift-report-end span:last-child{
  background:linear-gradient(90deg,rgba(85,212,199,.35),transparent)!important;
}
body.shift-report-body.shift-report-embed .shift-report-end strong{white-space:nowrap!important;color:#A8CACD!important}

@media(max-width:760px){
  body.shift-report-body.shift-report-embed .shift-date-nav{width:min(100%,340px)!important;top:0!important}
  body.shift-report-body.shift-report-embed .shift-report-end{width:88%!important}
}

@media print{
  /* En papel la navegación conserva el flujo documental y no usa sticky. */
  body.shift-report-body.shift-report-embed .shift-date-nav{position:static!important;display:none!important}
  body.shift-report-body.shift-report-embed .shift-print-meta{
    display:block!important;
    margin:0!important;
    text-align:right!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-end{
    display:flex!important;
    width:64%!important;
    margin:7px auto 0!important;
    gap:8px!important;
    color:#555!important;
    font-size:8px!important;
    break-inside:avoid!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-end span,
  body.shift-report-body.shift-report-embed .shift-report-end span:last-child{
    background:#aaa!important;
  }
  body.shift-report-body.shift-report-embed .shift-report-end strong{color:#444!important}
}


/* Faro v3.6.106 · Estados correctos, alertas ⚠ y controles de reporte siempre accesibles */
body.admin-body:not(.superadmin-body) .admin-alert-symbol,
body.shift-report-body .admin-alert-symbol{
  font-family:Arial,Helvetica,sans-serif!important;
  font-style:normal!important;
  font-variant-emoji:text!important;
  line-height:1!important;
}
body.admin-body:not(.superadmin-body) .admin-header-notifications .admin-alert-symbol,
body.shift-report-body .notification-link .admin-alert-symbol{
  font-size:18px!important;color:#FFD46A!important;font-weight:900!important;
}
body.admin-body:not(.superadmin-body) .admin-alert .admin-alert-symbol{
  color:#FFF2C0!important;font-size:18px!important;font-weight:900!important;
}

/* Semántica de estados del Resumen diario: completa verde, incompleta roja, cancelada amarilla. */
body.shift-report-body.shift-report-embed .shift-status.good{
  background:#178A62!important;border-color:#178A62!important;color:#fff!important;
}
body.shift-report-body.shift-report-embed .shift-status.warn{
  background:#C83E4D!important;border-color:#C83E4D!important;color:#fff!important;
}
body.shift-report-body.shift-report-embed .shift-status.bad{
  background:#C98A24!important;border-color:#C98A24!important;color:#fff!important;
}
body.shift-report-body.shift-report-embed .shift-round-event.good .shift-event-dot{background:#178A62!important;border-color:#BDEADB!important}
body.shift-report-body.shift-report-embed .shift-round-event.warn .shift-event-dot{background:#C83E4D!important;border-color:#F5CDD3!important}
body.shift-report-body.shift-report-embed .shift-round-event.bad .shift-event-dot{background:#C98A24!important;border-color:#F7E2AE!important}
body.shift-report-body.shift-report-embed .shift-round-event.good .shift-event-card{border-left-color:#178A62!important}
body.shift-report-body.shift-report-embed .shift-round-event.warn .shift-event-card{border-left-color:#C83E4D!important}
body.shift-report-body.shift-report-embed .shift-round-event.bad .shift-event-card{border-left-color:#C98A24!important}

/* Fecha + impresión viajan juntos mientras se recorre un turno largo. */
body.shift-report-body.shift-report-embed .shift-sticky-tools{
  position:sticky!important;
  top:0!important;
  z-index:45!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:max-content!important;
  max-width:calc(100% - 12px)!important;
  margin:0 auto 10px!important;
  padding:7px 8px!important;
  border-radius:14px!important;
  background:rgba(6,40,51,.96)!important;
  border:1px solid rgba(85,212,199,.13)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(8px)!important;
}
body.shift-report-body.shift-report-embed .shift-sticky-tools .shift-date-nav{
  position:static!important;
  top:auto!important;
  width:min(390px,62vw)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.shift-report-body.shift-report-embed .shift-sticky-print{
  flex:0 0 auto!important;
  min-height:38px!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  body.shift-report-body.shift-report-embed .shift-sticky-tools{
    width:calc(100% - 8px)!important;
    max-width:none!important;
    gap:6px!important;
    padding:6px!important;
  }
  body.shift-report-body.shift-report-embed .shift-sticky-tools .shift-date-nav{
    width:auto!important;
    flex:1 1 auto!important;
    min-width:0!important;
    grid-template-columns:40px minmax(110px,1fr) 40px!important;
  }
  body.shift-report-body.shift-report-embed .shift-sticky-print{
    min-height:36px!important;
    height:36px!important;
    padding:0 10px!important;
    font-size:9px!important;
  }
  /* Cinco KPI desperdician una fila; cuatro críticos quedan 2 x 2. */
  body.shift-report-body.shift-report-embed .shift-summary-cards .shift-stat-marks{display:none!important}
  body.shift-report-body.shift-report-embed .shift-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media print{
  body.shift-report-body.shift-report-embed .shift-sticky-tools{display:none!important;position:static!important}
  /* En impresión los estados conservan etiqueta legible sin depender del color. */
  body.shift-report-body.shift-report-embed .shift-status.good,
  body.shift-report-body.shift-report-embed .shift-status.warn,
  body.shift-report-body.shift-report-embed .shift-status.bad,
  body.shift-report-body.shift-report-embed .shift-status.live{
    background:#fff!important;border:1px solid #555!important;color:#111!important;
  }
}


/* Faro v3.6.107 · Paginación móvil + navegación Supervisor reorganizada */
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) #dashboardRoundsTable tbody .dashboard-round-row[hidden]{display:none!important}
}

body.admin-body:not(.superadmin-body) .admin-nav-group{
  display:block;border:0;margin:0;padding:0;color:#B9CFD5;
}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary{
  list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) 20px;align-items:center;gap:11px;
  min-height:45px;padding:10px 12px;border-radius:12px;color:#B9CFD5;font-size:12px;font-weight:750;
  cursor:pointer;border:1px solid transparent;user-select:none;transition:background .18s,color .18s,border-color .18s;
}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary::-webkit-details-marker{display:none}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary:hover,
body.admin-body:not(.superadmin-body) .admin-nav-group.active>summary{
  background:rgba(73,191,179,.10);color:#fff;border-color:rgba(91,207,195,.12);
}
body.admin-body:not(.superadmin-body) .admin-nav-group-icon{display:grid;place-items:center;width:26px;height:26px;font-size:17px;color:#78CFC5}
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{justify-self:end;font-size:14px;transition:transform .18s ease;color:#78AAB2}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron{transform:rotate(180deg)}
body.admin-body:not(.superadmin-body) .admin-nav-submenu{display:grid;gap:3px;padding:4px 0 4px 18px}
body.admin-body:not(.superadmin-body) .admin-nav-submenu a{min-height:38px!important;padding:7px 9px!important;font-size:11px!important;border-radius:10px!important}
body.admin-body:not(.superadmin-body) .admin-nav-submenu a::before{width:22px!important;min-width:22px!important;height:22px!important;font-size:14px!important}

@media(max-width:980px){
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group>summary,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group>summary{
    grid-template-columns:1fr!important;justify-items:center!important;padding:8px!important;font-size:0!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-label,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-chevron,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-label,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{display:none!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group:not([open]) .admin-nav-submenu,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group:not([open]) .admin-nav-submenu{display:none!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu{display:none!important}
}


/* Faro v3.6.108 · Impresión limpia + resumen del período ampliado */
@media print{
  .faro-scroll-top,
  #faroScrollTop{display:none!important;visibility:hidden!important}
}

@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .dashboard-metrics-modal{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 18px)!important;
    padding:14px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-modal header{
    padding-bottom:9px!important;
    margin-bottom:9px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-modal header h2{
    font-size:23px!important;
    margin:3px 0 6px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-modal header .muted{
    font-size:13px!important;
    line-height:1.25!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-grid>div{
    min-height:64px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-grid span{
    font-size:8px!important;
    line-height:1.15!important;
    letter-spacing:.055em!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-grid strong{
    font-size:17px!important;
    margin-top:4px!important;
    line-height:1.05!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-footer{
    margin-top:9px!important;
  }
  body.admin-body:not(.superadmin-body) .dashboard-metrics-footer .btn{
    min-height:38px!important;
    height:38px!important;
    padding:0 14px!important;
  }
}


/* Faro v3.6.111 · Submenú Ajustes móvil tipo flyout */
@media(max-width:980px){
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group{
    position:relative!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group>summary,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group>summary{
    min-height:46px!important;
    width:100%!important;
    overflow:hidden!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu{
    display:grid!important;
    position:fixed!important;
    left:76px!important;
    bottom:max(72px,calc(env(safe-area-inset-bottom) + 68px))!important;
    z-index:980!important;
    width:min(260px,calc(100vw - 92px))!important;
    max-height:min(360px,calc(100dvh - 120px))!important;
    overflow:auto!important;
    gap:5px!important;
    padding:44px 10px 10px!important;
    border:1px solid rgba(95,205,194,.20)!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,#083440,#062A35)!important;
    box-shadow:18px 18px 50px rgba(0,20,28,.42)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    scrollbar-width:thin!important;
    scrollbar-color:#1C8C84 #062A35!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar{width:7px!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-track,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-track{background:#062A35!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-thumb,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-thumb{background:#1C8C84!important;border-radius:999px!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu::before,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu::before{
    content:"Ajustes"!important;
    position:absolute!important;
    top:0!important;left:0!important;right:0!important;
    height:36px!important;
    display:flex!important;align-items:center!important;
    padding:0 12px!important;
    color:#F3FAFB!important;
    font-size:13px!important;font-weight:900!important;
    border-bottom:1px solid rgba(104,205,195,.14)!important;
    background:#0A3945!important;
    border-radius:16px 16px 0 0!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu a,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    min-height:42px!important;
    padding:9px 10px!important;
    font-size:12px!important;
    color:#D9EDEF!important;
    border-radius:11px!important;
    background:transparent!important;
    white-space:normal!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu a::before,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu a::before{
    font-size:17px!important;
    width:26px!important;
    min-width:26px!important;
    height:26px!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu a:hover,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu a:hover,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group[open] .admin-nav-submenu a.active,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-submenu a.active{
    background:rgba(67,193,181,.12)!important;
    color:#fff!important;
  }
}


/* Faro v3.6.111 · Ajustes móvil estable: panel completo, scroll propio y sin barra fantasma */
@media(max-width:980px){
  /* En el drawer principal no mostramos scrollbar: iOS/Chrome dejan el thumb
     visible unos instantes después del gesto y ensucia visualmente el menú. */
  body.admin-body:not(.superadmin-body) .admin-nav{
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  body.admin-body:not(.superadmin-body) .admin-nav::-webkit-scrollbar{
    width:0!important;height:0!important;display:none!important;
  }

  /* Cuando se abre Ajustes, el grupo pasa a ser un panel propio dentro del
     mismo ancho del drawer. No depende de la posición vertical de Ajustes. */
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group{
    position:fixed!important;
    left:0!important;
    top:64px!important;
    bottom:0!important;
    width:min(268px,78vw)!important;
    z-index:97!important;
    margin:0!important;
    padding:10px 8px max(12px,env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    background:linear-gradient(180deg,#062B38,#082F3B 65%,#051E29)!important;
    border-right:1px solid rgba(93,197,187,.14)!important;
    box-shadow:18px 0 50px rgba(0,20,28,.28)!important;
    overflow:hidden!important;
  }
  body.admin-body.support-active:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group{
    top:118px!important;
  }

  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group>summary{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:48px!important;
    padding:9px 10px!important;
    margin:0 0 8px!important;
    border:1px solid rgba(91,207,195,.20)!important;
    border-radius:12px!important;
    background:rgba(72,191,179,.10)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:850!important;
    overflow:visible!important;
    cursor:pointer!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-label,
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron{
    display:block!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron{
    transform:none!important;
    font-size:0!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron::after{
    content:"‹"!important;
    font-size:24px!important;
    line-height:1!important;
    color:#69D0C6!important;
  }

  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    max-height:none!important;
    min-height:0!important;
    flex:1 1 auto!important;
    display:grid!important;
    align-content:start!important;
    gap:5px!important;
    padding:2px 2px 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    scrollbar-width:thin!important;
    scrollbar-color:#1C8C84 transparent!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu::before{
    display:none!important;content:none!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar{
    width:6px!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-track{
    background:transparent!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu::-webkit-scrollbar-thumb{
    background:rgba(105,208,198,.48)!important;
    border-radius:999px!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    min-height:44px!important;
    padding:9px 10px!important;
    font-size:12px!important;
    color:#D9EDEF!important;
    border-radius:11px!important;
    background:transparent!important;
    white-space:normal!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu a.active,
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu a:hover{
    background:rgba(67,193,181,.12)!important;
    color:#fff!important;
  }
}


/* Faro v3.6.112 · Ajustes móvil inline + auto-scroll + indicadores > / < */
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
  font-family:Arial,sans-serif!important;
  font-weight:900!important;
  line-height:1!important;
  transform:none!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron{
  transform:none!important;
}

@media(max-width:780px){
  /* Ajustes vuelve a formar parte del flujo del menú. El drawer completo es el
     único contenedor que se desplaza; evita paneles superpuestos y mantiene
     todas las opciones accesibles con un solo gesto. */
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    z-index:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group>summary{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:46px!important;
    padding:9px 10px!important;
    margin:0!important;
    border:1px solid rgba(91,207,195,.20)!important;
    border-radius:12px!important;
    background:rgba(72,191,179,.10)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:850!important;
    overflow:visible!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-label,
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron{
    display:block!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron{
    position:static!important;
    justify-self:end!important;
    width:auto!important;height:auto!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
    color:#69D0C6!important;
    font-size:19px!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group-chevron::after{
    content:none!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:grid!important;
    align-content:start!important;
    gap:4px!important;
    padding:5px 0 6px 18px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    touch-action:auto!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu::before{
    display:none!important;content:none!important;
  }
  body.admin-body:not(.superadmin-body).faro-settings-drawer-open .admin-nav-group[open] .admin-nav-submenu a{
    display:flex!important;
    min-height:40px!important;
    padding:7px 9px!important;
    font-size:11px!important;
    white-space:normal!important;
  }


  body.admin-body:not(.superadmin-body).faro-nav-collapsed:not(.faro-settings-drawer-open) .admin-nav-group[open] .admin-nav-submenu,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body):not(.faro-settings-drawer-open) .admin-nav-group[open] .admin-nav-submenu{
    display:none!important;
  }

  /* Cuando el drawer está reducido a iconos, Ajustes muestra un pequeño > para
     comunicar que contiene opciones. Al abrirse, el indicador pasa a <. */
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group>summary,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group>summary{
    position:relative!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-chevron,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    right:1px!important;
    bottom:1px!important;
    width:15px!important;
    height:15px!important;
    border-radius:999px!important;
    background:#36B6AA!important;
    color:#062B38!important;
    box-shadow:0 0 0 2px #062B38!important;
    font-size:10px!important;
    font-weight:950!important;
  }
}


/* Faro v3.6.113 · Cierre exterior de Ajustes + límite real del scroll móvil */
@media(max-width:780px){
  html.admin-html,
  html.admin-html body.admin-body{
    overscroll-behavior-y:none!important;
  }
  html.admin-html body.admin-body{
    min-height:100dvh!important;
  }
}

/* Faro v3.6.114 · Resumen diario: impresión solo disponible en escritorio */
@media(max-width:760px){
  body.shift-report-body .shift-sticky-print{display:none!important}
  body.shift-report-body.shift-report-embed .shift-sticky-tools{
    width:min(100%,390px)!important;
    max-width:calc(100% - 8px)!important;
  }
  body.shift-report-body.shift-report-embed .shift-sticky-tools .shift-date-nav{
    width:100%!important;
    flex:1 1 100%!important;
  }
}

/* Faro v3.6.115 · Incidencias: tabla centrada, acciones y vista móvil compacta */
body.admin-body:not(.superadmin-body) .incidents-table-wrap{overflow-x:auto}
body.admin-body:not(.superadmin-body) .incidents-table th,
body.admin-body:not(.superadmin-body) .incidents-table td{text-align:center;vertical-align:middle}
body.admin-body:not(.superadmin-body) .incidents-table .incident-col-comment{max-width:260px;white-space:normal;line-height:1.35}
body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent strong{font-weight:850}
body.admin-body:not(.superadmin-body) .incident-row-actions{justify-content:center;flex-wrap:nowrap;gap:7px}
body.admin-body:not(.superadmin-body) .incident-row-actions form{margin:0}
body.admin-body:not(.superadmin-body) .incident-row-actions .btn{min-height:34px!important;height:34px;padding:7px 10px!important;border-radius:9px!important;font-size:9px;white-space:nowrap}
body.admin-body:not(.superadmin-body) .incident-status{min-width:70px;padding:5px 9px;border:0!important;color:#fff!important;box-shadow:none}
body.admin-body:not(.superadmin-body) .incident-status.pending{background:var(--ui-danger)!important;color:#fff!important}
body.admin-body:not(.superadmin-body) .incident-status.resolved{background:var(--ui-success)!important;color:#fff!important}

@media(max-width:700px){
  body.admin-body:not(.superadmin-body) .incidents-panel{padding-left:8px!important;padding-right:8px!important}
  body.admin-body:not(.superadmin-body) .incidents-table-wrap{overflow-x:hidden!important;width:100%;border-radius:13px}
  body.admin-body:not(.superadmin-body) .incidents-table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:10px}
  body.admin-body:not(.superadmin-body) .incidents-table th,
  body.admin-body:not(.superadmin-body) .incidents-table td{padding:8px 4px!important;white-space:normal!important;overflow-wrap:anywhere}
  body.admin-body:not(.superadmin-body) .incidents-table th{font-size:8px;letter-spacing:.03em}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-round,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-node,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-comment,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-photo{display:none!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-date{width:22%}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent{width:20%}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-type{width:20%}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-status{width:18%}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-actions{width:20%}
  body.admin-body:not(.superadmin-body) .incidents-table .status-pill{font-size:7px;padding:4px 5px;max-width:100%;white-space:normal;line-height:1.15}
  body.admin-body:not(.superadmin-body) .incident-status{min-width:0!important;width:100%;display:block}
  body.admin-body:not(.superadmin-body) .incident-row-actions{display:grid;grid-template-columns:1fr;gap:5px;width:100%}
  body.admin-body:not(.superadmin-body) .incident-row-actions .btn{width:100%;min-width:0;min-height:30px!important;height:30px;padding:5px 3px!important;font-size:7.5px;border-radius:8px!important}
  body.admin-body:not(.superadmin-body) .incident-row-actions form{width:100%}
}

/* Faro v3.6.116 · Supervisor móvil: el footer es el límite inferior real.
   iOS/WebKit puede ignorar overscroll-behavior sobre el viewport raíz; estas
   reglas eliminan alturas heredadas innecesarias y mantienen una sola zona de
   scroll vertical (el documento). */
@media(max-width:780px){
  html.admin-html{
    min-height:100%!important;
    height:auto!important;
    background:#041E29!important;
  }
  html.admin-html body.admin-body:not(.superadmin-body){
    min-height:100dvh!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:none!important;
  }
  body.admin-body:not(.superadmin-body) .admin-layout{
    min-height:calc(100dvh - 64px)!important;
    height:auto!important;
  }
  body.admin-body:not(.superadmin-body) .admin-main{
    min-height:0!important;
    height:auto!important;
  }
  body.admin-body:not(.superadmin-body) .admin-signature{
    position:relative!important;
    bottom:auto!important;
    margin-bottom:0!important;
  }
}

/* Faro v3.6.117 · Resumen diario impreso: mayor respiración interna en cada ronda */
@media print{
  body.shift-report-body.shift-report-embed .shift-event-card{
    padding:7px 10px 7px 11px!important;
  }
  body.shift-report-body.shift-report-embed .shift-event-card>header{
    padding-left:1px!important;
  }
  body.shift-report-body.shift-report-embed .shift-person{
    gap:8px!important;
  }
  body.shift-report-body.shift-report-embed .shift-event-summary{
    margin:6px 0 5px 1px!important;
  }
  body.shift-report-body.shift-report-embed .shift-incidents{
    margin:5px 0 0 1px!important;
  }
}

/* Faro v3.6.118 · Pull-to-refresh + Incidencias móvil + modal usable */
@media(max-width:780px){
  html.admin-html body.admin-body:not(.superadmin-body){
    /* El bloqueo del borde inferior lo realiza admin.js. Mantener auto aquí es
       necesario para que Safari/Chrome iOS vuelvan a ofrecer pull-to-refresh. */
    overscroll-behavior-y:auto!important;
  }
}

body.admin-body:not(.superadmin-body) .incident-mobile-label,
body.admin-body:not(.superadmin-body) .incident-mobile-meta{display:none}

/* Detalle de incidencia homologado al lenguaje oscuro de Faro. */
body.admin-body:not(.superadmin-body) .incident-detail-card{
  background:#082E39!important;
  color:#EAF6F7!important;
  border:1px solid rgba(111,207,199,.20)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
  scrollbar-color:#3FC6BA #0A3541;
  scrollbar-width:thin;
}
body.admin-body:not(.superadmin-body) .incident-detail-card::-webkit-scrollbar{width:7px}
body.admin-body:not(.superadmin-body) .incident-detail-card::-webkit-scrollbar-track{background:#0A3541}
body.admin-body:not(.superadmin-body) .incident-detail-card::-webkit-scrollbar-thumb{background:#3FC6BA;border-radius:999px}
body.admin-body:not(.superadmin-body) .incident-detail-card .admin-modal-head{
  margin:-18px -18px 14px!important;
  padding:16px 18px!important;
  background:#0A3541!important;
  border-bottom:1px solid rgba(123,195,201,.14)!important;
  align-items:center!important;
  position:sticky;top:-18px;z-index:3;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .admin-modal-head h2{color:#F3FAFB!important}
body.admin-body:not(.superadmin-body) .incident-detail-card .admin-modal-head .muted{color:#93B1B6!important}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-grid>div,
body.admin-body:not(.superadmin-body) .incident-detail-card .detail-card{
  background:#0A3541!important;
  border-color:rgba(127,193,199,.15)!important;
  color:#EAF6F7!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-grid span{color:#79A1A8!important}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-grid strong,
body.admin-body:not(.superadmin-body) .incident-detail-card .detail-card h3,
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-note p{color:#F1F9FA!important}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-photo-large-button{
  background:#062833!important;border-color:rgba(127,193,199,.17)!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-photo-large-button img{
  background:#0A3541!important;border-radius:12px!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-photo .muted{color:#8FB0B6!important}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer{
  position:sticky;bottom:-20px;z-index:3;
  margin:14px -18px -20px!important;padding:12px 18px 14px!important;
  background:#0A3541!important;border-top:1px solid rgba(123,195,201,.14)!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer .btn:not(.primary){
  background:#123E49!important;border-color:rgba(147,206,211,.18)!important;color:#fff!important;
}

@media(max-width:700px){
  /* Cuatro columnas reales en móvil. Fecha y tipo se empaquetan bajo el agente. */
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-date,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-round,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-node,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-type,
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-comment{display:none!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-photo{display:table-cell!important;width:21%!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent{width:33%!important;text-align:left!important;padding-left:7px!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-status{width:20%!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-actions{width:26%!important}
  body.admin-body:not(.superadmin-body) .incident-desktop-label{display:none!important}
  body.admin-body:not(.superadmin-body) .incident-mobile-label{display:inline!important}
  body.admin-body:not(.superadmin-body) .incident-mobile-meta{display:grid!important;gap:3px;margin-top:4px}
  body.admin-body:not(.superadmin-body) .incident-mobile-meta span{display:block;color:#86A5AB;font-size:7.5px;line-height:1.2;font-weight:700}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent strong{font-size:10px;line-height:1.2;display:block}
  body.admin-body:not(.superadmin-body) .incident-photo-thumb{margin:0!important;padding:3px!important;border-radius:10px!important}
  body.admin-body:not(.superadmin-body) .incident-photo-thumb img{width:58px!important;height:58px!important;border-radius:7px!important;object-fit:cover!important}
  body.admin-body:not(.superadmin-body) .incident-col-photo .muted{font-size:7px!important;line-height:1.15;display:block}
  body.admin-body:not(.superadmin-body) .incidents-table th,
  body.admin-body:not(.superadmin-body) .incidents-table td{padding-top:9px!important;padding-bottom:9px!important}

  /* Modal tipo bottom-sheet estable: el propio card hace scroll y no rebota al soltar. */
  body.admin-body:not(.superadmin-body) #incidentDetailModal{padding:6px!important;align-items:flex-end!important}
  body.admin-body:not(.superadmin-body) .incident-detail-card{
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 12px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain!important;
    border-radius:20px 20px 0 0!important;
    padding:14px 14px 16px!important;
    margin:0!important;
    touch-action:pan-y;
  }
  body.admin-body:not(.superadmin-body) .incident-detail-card .admin-modal-head{
    margin:-14px -14px 12px!important;padding:13px 14px!important;top:-14px!important;
  }
  body.admin-body:not(.superadmin-body) .incident-detail-card .admin-modal-head h2{font-size:20px!important;line-height:1.15}
  body.admin-body:not(.superadmin-body) .incident-detail-close-top{min-height:34px!important;height:34px!important;padding:7px 12px!important;flex:0 0 auto}
  body.admin-body:not(.superadmin-body) .incident-detail-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-bottom:9px!important}
  body.admin-body:not(.superadmin-body) .incident-detail-grid>div{padding:9px!important;border-radius:11px!important}
  body.admin-body:not(.superadmin-body) .incident-detail-card .detail-card{padding:11px!important;border-radius:13px!important}
  body.admin-body:not(.superadmin-body) .incident-detail-photo{margin-top:9px!important}
  body.admin-body:not(.superadmin-body) .incident-detail-photo .incident-photo-large-button img{max-height:42dvh!important}
  body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer{
    bottom:-16px!important;margin:12px -14px -16px!important;padding:10px 14px 12px!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
  }
  body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer .btn{width:100%!important;margin:0!important}
  body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer .btn.hidden + .btn{grid-column:1/-1}
}


/* Faro v3.6.119 · Detalle de incidencia: cabecera realmente fija y cuerpo independiente */
body.admin-body:not(.superadmin-body) .incident-detail-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-fixed-head{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:16px 18px 14px!important;
  background:#0A3541!important;
  border-bottom:1px solid rgba(123,195,201,.14)!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  padding:14px 18px 18px!important;
  scrollbar-color:#3FC6BA #0A3541;
  scrollbar-width:thin;
}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-scroll::-webkit-scrollbar{width:7px}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-scroll::-webkit-scrollbar-track{background:#0A3541}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-scroll::-webkit-scrollbar-thumb{background:#3FC6BA;border-radius:999px}
body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-footer,
body.admin-body:not(.superadmin-body) .incident-detail-close-top{display:none!important}

@media(max-width:700px){
  body.admin-body:not(.superadmin-body) .incident-detail-card{
    max-height:calc(100dvh - 12px)!important;
    height:auto!important;
    padding:0!important;
  }
  body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-fixed-head{
    margin:0!important;
    padding:13px 14px 11px!important;
    top:auto!important;
  }
  body.admin-body:not(.superadmin-body) .incident-detail-card .incident-detail-scroll{
    padding:11px 14px max(16px,env(safe-area-inset-bottom))!important;
  }
}
\n\n/* Faro v3.6.120 · Incidencias móvil: Agente limpio + foto visible */\nbody.admin-body:not(.superadmin-body) .incident-mobile-label,\nbody.admin-body:not(.superadmin-body) .incident-mobile-meta{display:none!important}\n\n@media(max-width:700px){\n  body.admin-body:not(.superadmin-body) .incidents-panel{padding-left:8px!important;padding-right:8px!important}\n  body.admin-body:not(.superadmin-body) .incidents-table-wrap{overflow-x:hidden!important;width:100%!important}\n  body.admin-body:not(.superadmin-body) .incidents-table{width:100%!important;min-width:0!important;table-layout:fixed!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-date,\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-round,\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-node,\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-type,\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-comment{display:none!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent{display:table-cell!important;width:28%!important;text-align:center!important;padding:10px 4px!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-photo{display:table-cell!important;width:24%!important;text-align:center!important;padding:7px 2px!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-status{display:table-cell!important;width:21%!important;padding:8px 3px!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-actions{display:table-cell!important;width:27%!important;padding:7px 4px!important}\n  body.admin-body:not(.superadmin-body) .incidents-table th{padding:9px 2px!important;font-size:7.7px!important;line-height:1.1!important;letter-spacing:.035em!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}\n  body.admin-body:not(.superadmin-body) .incidents-table td{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}\n  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent strong{display:block!important;font-size:10px!important;line-height:1.25!important;font-weight:850!important;color:#f3fafb!important}\n  body.admin-body:not(.superadmin-body) .incident-photo-thumb{display:inline-flex!important;margin:0 auto!important;padding:2px!important;border-radius:10px!important;max-width:100%!important}\n  body.admin-body:not(.superadmin-body) .incident-photo-thumb img{display:block!important;width:56px!important;height:56px!important;max-width:100%!important;object-fit:cover!important;border-radius:7px!important}\n  body.admin-body:not(.superadmin-body) .incident-no-photo{display:block!important;font-size:7px!important;line-height:1.15!important}\n  body.admin-body:not(.superadmin-body) .incident-status{min-width:0!important;width:100%!important;display:block!important;font-size:7px!important;padding:5px 3px!important;white-space:nowrap!important}\n  body.admin-body:not(.superadmin-body) .incident-row-actions{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important}\n  body.admin-body:not(.superadmin-body) .incident-row-actions form{width:100%!important}\n  body.admin-body:not(.superadmin-body) .incident-row-actions .btn{width:100%!important;min-width:0!important;min-height:32px!important;height:32px!important;padding:5px 2px!important;font-size:7.2px!important;border-radius:8px!important}\n}\n

/* Faro v3.6.121 · Móvil: scroll de menú y contenido independientes + pull-to-refresh Faro */
@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .admin-nav{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    max-height:calc(100dvh - 64px)!important;
  }
  body.admin-body.support-active:not(.superadmin-body) .admin-nav{
    max-height:calc(100dvh - 118px)!important;
  }
  body.admin-body:not(.superadmin-body) .admin-main{
    transition:transform .20s ease!important;
    will-change:transform;
  }
  body.admin-body:not(.superadmin-body).faro-pull-active .admin-main{
    transition:none!important;
    transform:translateY(var(--faro-pull-distance,0px));
  }
  body.admin-body:not(.superadmin-body).faro-pull-release .admin-main{
    transform:translateY(0)!important;
  }
  .faro-pull-indicator{
    position:fixed;
    left:calc(68px + (100vw - 68px)/2);
    top:70px;
    z-index:88;
    transform:translate(-50%,-18px) scale(.92);
    min-width:132px;
    height:34px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(103,209,198,.28);
    border-radius:999px;
    background:#0A3A47;
    color:#DDF5F2;
    box-shadow:0 10px 28px rgba(0,18,25,.28);
    opacity:0;
    pointer-events:none;
    transition:opacity .14s,transform .14s;
    font-size:9px;
    font-weight:850;
    white-space:nowrap;
  }
  body.admin-body.support-active:not(.superadmin-body) .faro-pull-indicator{top:124px}
  body.admin-body:not(.superadmin-body).faro-pull-active .faro-pull-indicator,
  body.admin-body:not(.superadmin-body).faro-pull-ready .faro-pull-indicator,
  body.admin-body:not(.superadmin-body).faro-pull-refreshing .faro-pull-indicator{
    opacity:1;
    transform:translate(-50%,0) scale(1);
  }
  .faro-pull-indicator::before{
    content:'↓';
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:rgba(103,209,198,.12);
    color:#67D1C6;
    font-size:14px;
    line-height:1;
    transition:transform .15s;
  }
  body.admin-body:not(.superadmin-body).faro-pull-ready .faro-pull-indicator::before{transform:rotate(180deg)}
  body.admin-body:not(.superadmin-body).faro-pull-refreshing .faro-pull-indicator::before{
    content:'↻';
    animation:faroPullSpin .7s linear infinite;
  }
}
@keyframes faroPullSpin{to{transform:rotate(360deg)}}


/* Faro v3.6.122 · Acciones de Incidencias */
body.admin-body:not(.superadmin-body) .incident-detail-close-top{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:36px!important;
  height:36px!important;
  padding:7px 14px!important;
  margin-left:auto!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-fixed-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body.admin-body:not(.superadmin-body) .incident-detail-btn{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important;color:#fff!important}
body.admin-body:not(.superadmin-body) .incident-detail-btn:hover{background:var(--ui-primary-hover)!important;border-color:var(--ui-primary-hover)!important}
body.admin-body:not(.superadmin-body) .incident-review-btn{background:var(--ui-warning)!important;border-color:var(--ui-warning)!important;color:#fff!important}
body.admin-body:not(.superadmin-body) .incident-review-btn:hover{background:var(--ui-warning-hover)!important;border-color:var(--ui-warning-hover)!important}
@media(max-width:700px){
  body.admin-body:not(.superadmin-body) .incident-detail-fixed-head>div{min-width:0!important;flex:1 1 auto!important}
  body.admin-body:not(.superadmin-body) .incident-detail-close-top{min-height:34px!important;height:34px!important;padding:6px 11px!important;font-size:8.5px!important;border-radius:9px!important}
}

/* Faro v3.6.123 · Incidencias tipo tarjeta + PTR nativo */
body.admin-body:not(.superadmin-body) .incident-agent-datetime{display:none}
body.admin-body:not(.superadmin-body) .incident-status,
body.admin-body:not(.superadmin-body) .status-pill{
  border-radius:999px!important;
}
body.admin-body:not(.superadmin-body) .incident-reopen-btn{
  border-radius:10px!important;
}

@media(max-width:780px){
  /* El pull-to-refresh vuelve a ser el nativo de Safari/Chrome iOS. No se
     inserta ningún indicador dentro del documento y el borde inferior continúa
     protegido por admin.js. */
  html.admin-html,
  html.admin-html body.admin-body:not(.superadmin-body){
    overscroll-behavior-y:auto!important;
  }
  body.admin-body:not(.superadmin-body) .admin-main{
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  .faro-pull-indicator{display:none!important}
}

@media(max-width:700px){
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-agent{
    width:29%!important;
    text-align:left!important;
    padding:10px 5px 10px 7px!important;
  }
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-photo{width:23%!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-status{width:20%!important}
  body.admin-body:not(.superadmin-body) .incidents-table .incident-col-actions{width:28%!important}
  body.admin-body:not(.superadmin-body) .incident-agent-datetime{
    display:block!important;
    margin-top:5px!important;
    color:#8EAAB0!important;
    font-size:7.5px!important;
    line-height:1.3!important;
    font-weight:700!important;
    white-space:normal!important;
  }
  body.admin-body:not(.superadmin-body) .incident-status{
    border-radius:999px!important;
    padding:5px 5px!important;
  }
  body.admin-body:not(.superadmin-body) .incident-row-actions .btn{
    border-radius:10px!important;
  }
  body.admin-body:not(.superadmin-body) .incident-reopen-btn{
    background:transparent!important;
    border:1px solid rgba(200,221,225,.48)!important;
    color:#D8E9EC!important;
    font-size:6.7px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
}

/* Faro v3.6.126 · Agentes: carnet horizontal + color persistente */
.agents-page-head{margin-bottom:14px}
.agents-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px}
.agents-capacity{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:10px;row-gap:3px}.agents-capacity>span{grid-column:1/-1;font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--muted)}.agents-capacity strong{font-size:28px;line-height:1;color:var(--text)}.agents-capacity small{font-size:11px;color:var(--muted);padding-bottom:2px}.agents-create-btn{min-width:150px}
.agents-grid{display:flex;flex-direction:column;gap:13px}
.agent-card{--agent-color:#4e67a8;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.048),rgba(255,255,255,.018));border:1px solid rgba(123,205,208,.19);border-radius:20px;padding:16px 18px 16px 20px;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.agent-card-accent{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--agent-color)}
.agent-id-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:18px;align-items:stretch}
.agent-id-photo-col{display:flex;flex-direction:column;gap:9px;min-width:0}.agent-card-avatar{width:124px;height:112px;border-radius:18px;padding:4px;background:var(--agent-color);box-shadow:0 0 0 3px rgba(255,255,255,.035)}.agent-card-avatar img,.agent-card-avatar span{width:100%;height:100%;border-radius:14px;display:flex;align-items:center;justify-content:center;object-fit:cover;background:#0a3540;color:#fff;font-weight:900;font-size:25px}.agent-id-rut{padding:7px 8px;border-radius:11px;background:rgba(0,0,0,.12);text-align:center}.agent-id-rut span{display:block;font-size:7px;letter-spacing:.11em;color:var(--muted);font-weight:900}.agent-id-rut strong{display:block;margin-top:2px;font-size:9.5px;color:var(--text);white-space:nowrap}
.agent-id-body{display:flex;flex-direction:column;min-width:0}.agent-card-title-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.agent-card h2{font-size:19px;margin:0;color:var(--text)}.agent-email{margin:4px 0 0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-card-badges{display:flex;align-items:center;gap:7px;flex:0 0 auto}.agent-color-dot{width:14px;height:14px;border-radius:999px;background:var(--agent-color);border:2px solid rgba(255,255,255,.38);box-shadow:0 0 0 2px rgba(0,0,0,.12)}
.agent-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:8px;font-weight:900;letter-spacing:.04em}.agent-status-badge.active{background:rgba(40,176,118,.18);color:#7de0b2;border:1px solid rgba(63,195,138,.32)}.agent-status-badge.inactive{background:rgba(160,171,177,.1);color:#aab7bc;border:1px solid rgba(160,171,177,.22)}
.agent-card-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.agent-card-data>div{min-width:0;padding:9px 10px;border-radius:11px;background:rgba(0,0,0,.11);border:1px solid rgba(129,205,208,.1)}.agent-card-data span{display:block;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}.agent-card-data strong{display:block;margin-top:3px;font-size:10px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agent-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.agent-card-actions form{margin:0}.agent-card-actions .btn{width:100%;min-height:39px}.agent-card.is-inactive{opacity:.68;filter:saturate(.62)}.agent-card.is-inactive .agent-card-accent{background:#65757b}.agents-empty{width:100%}
.guard-modal-card,.guard-upgrade-card{padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;max-height:min(88dvh,760px)}.guard-modal-fixed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(118,207,210,.16);background:#0a3540;flex:0 0 auto;z-index:2}.guard-modal-fixed-head h2{margin:2px 0 0}.guard-modal-fixed-head .btn{flex:0 0 auto}.guard-modal-scroll{padding:18px 20px 22px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.guard-create-modal .form-subsection{margin-top:4px}.guard-profile-actions{display:flex;gap:8px;align-items:center}
.agent-color-field{border:1px solid rgba(118,207,210,.16);border-radius:15px;padding:13px;background:rgba(0,0,0,.09)}.agent-color-field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.agent-color-field-head>div{display:flex;flex-direction:column;gap:3px}.agent-color-preview{width:34px;height:34px;border-radius:11px;background:#4E67A8;border:3px solid rgba(255,255,255,.45);box-shadow:0 0 0 2px rgba(0,0,0,.14);flex:0 0 auto}.agent-color-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.agent-color-option{appearance:none;border:1px solid rgba(153,207,212,.18);background:rgba(255,255,255,.035);color:var(--text);border-radius:12px;padding:8px;display:flex;align-items:center;gap:7px;min-width:0;cursor:pointer;font:inherit}.agent-color-option i{width:20px;height:20px;border-radius:7px;background:var(--pick,#596c75);border:2px solid rgba(255,255,255,.42);flex:0 0 auto}.agent-color-option span{font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-color-option.selected{border-color:var(--pick,#54c7c0);box-shadow:inset 0 0 0 1px var(--pick,#54c7c0);background:rgba(255,255,255,.07)}.agent-color-option.custom i{background:conic-gradient(#C8565E,#B78A2A,#3E8F70,#4E67A8,#7865A5,#C8565E)}.agent-custom-color{margin-top:9px;padding-top:9px;border-top:1px solid rgba(118,207,210,.12)}.agent-custom-color label{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.agent-custom-color input[type=color]{width:64px;height:38px;padding:2px;border-radius:10px}.agent-color-warning{margin-top:8px;border-radius:10px;padding:8px 10px;background:rgba(229,166,48,.12);border:1px solid rgba(229,166,48,.28);color:#f2cd7b;font-size:9px;font-weight:750}
@media(max-width:700px){.agents-toolbar{padding:13px;gap:10px;align-items:flex-end}.agents-capacity{column-gap:7px}.agents-capacity strong{font-size:22px}.agents-capacity small{font-size:8px;max-width:120px}.agents-create-btn{min-width:116px;padding-left:9px!important;padding-right:9px!important}.agent-card{padding:12px 11px 12px 15px;border-radius:17px}.agent-id-card{grid-template-columns:88px minmax(0,1fr);gap:11px}.agent-card-avatar{width:88px;height:94px;border-radius:15px}.agent-card-avatar img,.agent-card-avatar span{border-radius:11px}.agent-id-rut{padding:6px 4px}.agent-id-rut strong{font-size:7.7px}.agent-card h2{font-size:14px}.agent-email{font-size:7.8px}.agent-card-badges{gap:4px}.agent-color-dot{width:11px;height:11px}.agent-status-badge{padding:4px 7px;font-size:6.8px}.agent-card-data{gap:5px;margin:9px 0}.agent-card-data>div{padding:7px}.agent-card-data span{font-size:6.2px}.agent-card-data strong{font-size:7.7px}.agent-card-actions{gap:6px}.agent-card-actions .btn{font-size:8.2px!important;min-height:34px!important;height:34px!important}.guard-modal-card,.guard-upgrade-card{width:calc(100vw - 24px)!important;max-height:84dvh!important}.guard-modal-fixed-head{padding:14px}.guard-modal-scroll{padding:14px}.guard-modal-fixed-head .btn{min-height:34px!important;height:34px!important;padding:6px 12px!important}.agent-color-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-color-option{padding:7px}.agent-color-option span{font-size:8px}.guard-profile-actions{flex-direction:column;align-items:stretch}.guard-profile-actions .btn{width:100%}}

/* Faro v3.6.127 · Agentes: tarjetas tipo carnet + modal NFC */
@media (min-width: 980px){
  .agents-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;align-items:stretch}
}
.agent-id-card{border:1px solid color-mix(in srgb,var(--agent-color) 42%,#204b58)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)!important;overflow:hidden}
.agent-card-accent{width:5px!important}
.agent-card-avatar{width:118px!important;height:154px!important;border-radius:15px!important;padding:2px!important;box-shadow:none!important}
.agent-card-avatar img,.agent-card-avatar span{border-radius:12px!important;object-fit:cover!important}
.agent-id-rut{border:1px solid rgba(255,255,255,.08)!important;background:rgba(0,0,0,.09)!important}
.agent-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.agent-card-actions>a,.agent-card-actions form,.agent-card-actions form .btn{width:100%!important}

.guard-modal-card{background:#073947!important;border:1px solid rgba(84,205,196,.28)!important;color:#f4fbfb!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important}
.guard-modal-fixed-head{background:#0a4657!important;border-bottom:1px solid rgba(84,205,196,.24)!important}
.guard-modal-fixed-head h2,.guard-modal-fixed-head .eyebrow{color:#fff!important}
.guard-modal-scroll{background:linear-gradient(180deg,#083d4b 0%,#073947 100%)!important}
.guard-modal-card label,.guard-modal-card .form-subsection strong,.guard-modal-card .agent-color-field strong,.guard-modal-card .agent-nfc-head strong{color:#f6fbfb!important}
.guard-modal-card .field-help,.guard-modal-card small{color:#a7c4ca!important}
.guard-modal-card input,.guard-modal-card select,.guard-modal-card textarea{background:#f8fbfb!important;color:#153d47!important;border:1px solid #b9d3d8!important}
.guard-modal-card input:focus,.guard-modal-card select:focus,.guard-modal-card textarea:focus{border-color:#37b9b0!important;box-shadow:0 0 0 3px rgba(55,185,176,.14)!important}
.guard-modal-card .form-subsection,.guard-modal-card .agent-color-field,.agent-nfc-section{border:1px solid rgba(126,207,211,.18)!important;background:rgba(2,38,48,.34)!important;border-radius:16px!important;padding:14px!important}

.agent-nfc-section{display:grid;gap:12px}
.agent-nfc-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.agent-nfc-head>div{display:grid;gap:3px}
.agent-nfc-icon{width:44px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(49,184,175,.16);border:1px solid rgba(73,204,195,.35);font-size:10px;font-weight:950;letter-spacing:.08em;color:#71ded4}
.agent-nfc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agent-nfc-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}
.agent-nfc-item>div{grid-column:1/-1;display:grid;gap:2px}.agent-nfc-label{font-size:10px;font-weight:900;color:#fff}.agent-nfc-item small{font-size:8px}
.agent-nfc-item input{min-width:0;height:38px!important;font-size:9px!important}
.agent-nfc-read{min-width:92px;height:38px!important;min-height:38px!important;padding:7px 10px!important}
.agent-nfc-unsupported{padding:11px 12px;border-radius:12px;background:#fff5dd;border:1px solid #e3bd66;color:#6e4b06;font-size:9px;font-weight:800;line-height:1.45}
.incident-agent-photo img{width:48px;height:48px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.15)}
.incident-system-row td{background:rgba(183,138,42,.045)}

@media(max-width:700px){
  .agent-card-avatar{width:88px!important;height:118px!important;border-radius:13px!important}
  .agent-card-avatar img,.agent-card-avatar span{border-radius:10px!important}
  .agent-card-actions{grid-template-columns:1fr!important}
  .agent-nfc-grid{grid-template-columns:1fr}
  .agent-nfc-item{grid-template-columns:minmax(0,1fr) auto}
  .agent-nfc-read{min-width:82px}
  .guard-modal-card{width:calc(100vw - 18px)!important}
}


/* Faro v3.6.128 · Agentes: tarjeta tintada + acciones compactas + suspendidos B/N */
.agent-card.agent-id-card{
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--agent-color) 17%,#083845) 0%,
      color-mix(in srgb,var(--agent-color) 10%,#062f3a) 58%,
      color-mix(in srgb,var(--agent-color) 7%,#052a34) 100%)!important;
  border-color:color-mix(in srgb,var(--agent-color) 55%,#2c6470)!important;
}
.agent-card-data .agent-card-detail-slot{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:7px 8px!important}
.agent-card-detail-btn{width:100%!important;min-height:34px!important;height:34px!important;padding:6px 10px!important;font-size:8.5px!important}
.agent-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.agent-card-actions>a,.agent-card-actions form,.agent-card-actions form .btn{width:100%!important}
.agent-card.is-inactive{opacity:1!important;filter:none!important;background:linear-gradient(145deg,#263b42 0%,#1d3239 62%,#182c33 100%)!important;border-color:#536970!important}
.agent-card.is-inactive .agent-card-accent{background:#68797f!important}
.agent-card.is-inactive .agent-id-photo-col,
.agent-card.is-inactive .agent-card-title-row,
.agent-card.is-inactive .agent-card-data{filter:grayscale(1)!important;opacity:.62!important}
.agent-card.is-inactive .agent-card-avatar img{filter:grayscale(1) contrast(.96)!important}
.agent-card.is-inactive .agent-color-dot{background:#7d898d!important;border-color:#a7b0b3!important}
.agent-card.is-inactive .agent-card-actions .agent-edit-card-btn{filter:grayscale(1);opacity:.62}
.agent-card.is-inactive .agent-card-actions .btn.info{filter:none!important;opacity:1!important}
@media(max-width:700px){
  .agent-card-data .agent-card-detail-slot{padding:6px!important}
  .agent-card-detail-btn{min-height:31px!important;height:31px!important;font-size:7.7px!important;padding:5px 7px!important}
  .agent-card-actions{grid-template-columns:1fr 1fr!important;gap:6px!important}
}

/* Faro v3.6.129 · Ficha individual del agente */
.agent-card-detail-btn{font-size:9px!important;letter-spacing:.01em!important}
.guard-profile-report{display:grid;gap:14px}
.guard-profile-page-head{margin-bottom:0}
.guard-profile-report .guard-profile-heading>img,.guard-profile-report .guard-profile-heading>span{border:1px solid rgba(109,214,211,.22);background:#0b3641;color:#f4fbfc}
.guard-profile-identity{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:stretch;background:linear-gradient(145deg,rgba(18,82,94,.92),rgba(8,48,59,.96));border-color:rgba(111,214,211,.22)}
.guard-profile-id-photo{width:112px;min-height:144px;border-radius:16px;overflow:hidden;border:1px solid rgba(118,211,210,.28);background:#0a3540;display:grid;place-items:center;color:#fff;font-size:30px;font-weight:900}
.guard-profile-id-photo img,.guard-profile-id-photo span{width:100%;height:100%;display:grid;place-items:center;object-fit:cover}
.guard-profile-id-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-content:center}
.guard-profile-id-grid>div{min-width:0;padding:10px 11px;border:1px solid rgba(125,204,207,.15);border-radius:12px;background:rgba(0,0,0,.12)}
.guard-profile-id-grid span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8eb4bb}
.guard-profile-id-grid strong{display:block;margin-top:4px;color:#f4fbfc;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guard-profile-report .guard-stat{background:#0c3a45!important;border-color:rgba(116,205,207,.17)!important;box-shadow:none!important}
.guard-profile-report .guard-stat span{color:#8eb4bb}.guard-profile-report .guard-stat strong{color:#f4fbfc}.guard-profile-report .guard-stat small{color:#95b4ba}
.guard-profile-report .guard-stat.success{background:#103f45!important}.guard-profile-report .guard-stat.complete{background:#103b49!important}.guard-profile-report .guard-stat.warning{background:#4a3b20!important}.guard-profile-report .guard-stat.extra{background:#302c49!important}.guard-profile-report .guard-stat.incident{background:#492b35!important}
.guard-profile-report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px}.guard-profile-report-grid>.panel{margin:0;background:#0d3c47;border-color:rgba(113,205,207,.18)}
.guard-profile-report-grid h2{color:#f4fbfc}.guard-profile-report .profile-month{border-bottom-color:rgba(116,205,207,.16)}.guard-profile-report .profile-month>div:first-child strong{color:#f4fbfc}.guard-profile-report .profile-month>div:first-child span{color:#8eafb5}.guard-profile-report .profile-month>b{color:#55d1cf}.guard-profile-report .profile-success{background:#183f48}.guard-profile-report .profile-success i{background:#36b9b6}
.guard-profile-recent table{background:transparent}.guard-profile-recent th{color:#8eb4bb;background:#123f49}.guard-profile-recent td{color:#edf8fa;border-color:rgba(116,205,207,.13)}
.guard-profile-print-footer{display:none}
@media(max-width:900px){.guard-profile-id-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guard-profile-report-grid{grid-template-columns:1fr}}
@media(max-width:650px){.guard-profile-identity{grid-template-columns:82px minmax(0,1fr);gap:10px;padding:12px}.guard-profile-id-photo{width:82px;min-height:112px;border-radius:13px}.guard-profile-id-grid{gap:6px}.guard-profile-id-grid>div{padding:7px}.guard-profile-id-grid strong{font-size:8px}.guard-profile-id-grid span{font-size:6px}.desktop-only{display:none!important}}

@media print{
  @page{size:A4 portrait;margin:9mm}
  html,body{background:#fff!important;color:#111!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body.admin-tab-guard_profile *{visibility:hidden!important}
  body.admin-tab-guard_profile .guard-profile-report,body.admin-tab-guard_profile .guard-profile-report *{visibility:visible!important}
  .guard-profile-report{position:absolute!important;left:0!important;top:0!important;width:100%!important;display:grid!important;gap:5mm!important;background:#fff!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important}
  .admin-sidebar,.admin-topbar,.admin-signature,.global-alert-bar,.back-to-top,.guard-profile-actions,.guard-edit-modal{display:none!important}
  .guard-profile-page-head{padding:0!important;margin:0!important;border:0!important;background:#fff!important}
  .guard-profile-heading{gap:10px!important}.guard-profile-heading>img,.guard-profile-heading>span{width:48px!important;height:58px!important;border-radius:7px!important;border:1px solid #aaa!important;background:#fff!important;color:#111!important}
  .guard-profile-heading .eyebrow{color:#42636b!important;font-size:8px!important}.guard-profile-heading h1{font-size:20px!important;color:#111!important;margin:0!important}.guard-profile-heading p{font-size:8px!important;color:#555!important;margin:2px 0 0!important}
  .guard-profile-identity{grid-template-columns:74px 1fr!important;gap:9px!important;padding:8px!important;background:#fff!important;border:1px solid #aebfc3!important;border-radius:8px!important;box-shadow:none!important}
  .guard-profile-id-photo{width:74px!important;min-height:94px!important;border-radius:7px!important;border:1px solid #aaa!important;background:#fff!important;color:#111!important}
  .guard-profile-id-grid{grid-template-columns:repeat(4,1fr)!important;gap:5px!important}.guard-profile-id-grid>div{padding:5px 6px!important;border:1px solid #d5dfe1!important;border-radius:6px!important;background:#fff!important}.guard-profile-id-grid span{font-size:6px!important;color:#64777b!important}.guard-profile-id-grid strong{font-size:8px!important;color:#111!important;margin-top:2px!important}
  .guard-profile-summary{grid-template-columns:repeat(6,1fr)!important;gap:5px!important;margin:0!important}.guard-profile-report .guard-stat{padding:7px!important;min-height:48px!important;background:#fff!important;border:1px solid #cbd6d8!important;border-radius:7px!important}.guard-profile-report .guard-stat span{font-size:6px!important;color:#60777b!important}.guard-profile-report .guard-stat strong{font-size:17px!important;color:#102f37!important}.guard-profile-report .guard-stat small{font-size:5.8px!important;color:#687b7f!important}
  .guard-profile-report-grid{grid-template-columns:1fr 1.08fr!important;gap:6px!important}.guard-profile-report-grid>.panel{padding:8px!important;margin:0!important;background:#fff!important;border:1px solid #cbd6d8!important;border-radius:8px!important;box-shadow:none!important;break-inside:avoid!important}.guard-profile-report-grid h2{font-size:11px!important;color:#111!important;margin:0 0 5px!important}
  .profile-month{grid-template-columns:58px 1fr 30px!important;gap:5px!important;padding:3px 0!important;border-color:#e2e8e9!important}.profile-month>div:first-child strong{font-size:7px!important;color:#111!important}.profile-month>div:first-child span{font-size:5px!important;color:#666!important;margin:0!important}.profile-month>b{font-size:7px!important;color:#205c68!important}.profile-success{height:5px!important;background:#e5ecee!important}.profile-success i{background:#2d8790!important}
  .guard-profile-recent .table-wrap{overflow:visible!important}.guard-profile-recent table{font-size:6.5px!important;width:100%!important}.guard-profile-recent th,.guard-profile-recent td{padding:4px 3px!important;color:#111!important;border-color:#dfe6e8!important;background:#fff!important}.guard-profile-recent th{font-size:5.7px!important;color:#516b71!important}
  .guard-profile-print-footer{display:block!important;text-align:center!important;font-size:6px!important;color:#667!important;border-top:1px solid #ccd5d7!important;padding-top:4px!important}
}

/* Faro v3.6.131 · Ficha agente sin foto duplicada + impresión aislada + Resumen diario imprimible */
.guard-profile-page-head .guard-profile-heading{align-items:flex-start!important}
.guard-profile-page-head .guard-profile-heading>div{min-width:0}

@media print{
  /* IMPORTANTE: la ocultación de contenido pertenece SOLO a la ficha del agente.
     Antes `body * { visibility:hidden }` afectaba también shift_report.php y dejaba
     el Resumen diario completamente blanco al imprimir. */
  body.admin-tab-guard_profile{
    background:#fff!important;color:#111!important;height:auto!important;min-height:0!important;
    overflow:visible!important;margin:0!important;padding:0!important;
  }
  body.admin-tab-guard_profile::before,
  body.admin-tab-guard_profile::after{display:none!important;content:none!important}
  body.admin-tab-guard_profile .admin-top,
  body.admin-tab-guard_profile .admin-nav,
  body.admin-tab-guard_profile .admin-signature,
  body.admin-tab-guard_profile .global-alert-bar,
  body.admin-tab-guard_profile .admin-header-notifications,
  body.admin-tab-guard_profile .faro-scroll-top,
  body.admin-tab-guard_profile #faroScrollTop,
  body.admin-tab-guard_profile .guard-profile-actions,
  body.admin-tab-guard_profile .guard-edit-modal{display:none!important}
  body.admin-tab-guard_profile .admin-layout{display:block!important;min-height:0!important;height:auto!important;background:#fff!important}
  body.admin-tab-guard_profile .admin-main{
    display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;
    min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important;
  }
  body.admin-tab-guard_profile .admin-main > *:not(.guard-profile-report){display:none!important}
  body.admin-tab-guard_profile .guard-profile-report,
  body.admin-tab-guard_profile .guard-profile-report *{visibility:visible!important}
  body.admin-tab-guard_profile .guard-profile-report{
    position:static!important;inset:auto!important;width:100%!important;max-width:none!important;
    min-height:0!important;height:auto!important;margin:0!important;padding:0!important;
    display:grid!important;gap:4mm!important;background:#fff!important;color:#111!important;
    font-family:Arial,Helvetica,sans-serif!important;overflow:visible!important;
  }
  body.admin-tab-guard_profile .guard-profile-page-head{display:block!important;padding:0 0 2mm!important;margin:0!important;border-bottom:1px solid #143b45!important;background:#fff!important}
  body.admin-tab-guard_profile .guard-profile-heading{display:block!important;margin:0!important}
  body.admin-tab-guard_profile .guard-profile-heading .eyebrow{color:#236d73!important;font-size:8px!important;letter-spacing:.12em!important}
  body.admin-tab-guard_profile .guard-profile-heading h1{font-size:21px!important;color:#111!important;margin:1mm 0 0!important;line-height:1.05!important}
  body.admin-tab-guard_profile .guard-profile-heading p{font-size:8px!important;color:#555!important;margin:1mm 0 0!important}
  body.admin-tab-guard_profile .guard-profile-identity{grid-template-columns:74px 1fr!important;gap:8px!important;padding:7px!important;background:#fff!important;border:1px solid #b9c7ca!important;border-radius:7px!important;box-shadow:none!important;break-inside:avoid!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:74px!important;min-height:96px!important;height:96px!important;border-radius:6px!important;border:1px solid #aab8bb!important;background:#fff!important;color:#111!important}
  body.admin-tab-guard_profile .guard-profile-id-photo img{object-fit:cover!important}
  body.admin-tab-guard_profile .guard-profile-id-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid>div{padding:4px 5px!important;border:1px solid #d5dfe1!important;border-radius:5px!important;background:#fff!important;min-height:0!important}
  body.admin-tab-guard_profile .guard-profile-id-grid span{font-size:5.5px!important;color:#60777b!important}
  body.admin-tab-guard_profile .guard-profile-id-grid strong{font-size:7.5px!important;color:#111!important;margin-top:1px!important;white-space:normal!important;line-height:1.15!important}
  body.admin-tab-guard_profile .guard-profile-summary{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;margin:0!important;break-inside:avoid!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat{padding:6px!important;min-height:43px!important;background:#fff!important;border:1px solid #cbd6d8!important;border-radius:6px!important;box-shadow:none!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat span{font-size:5.5px!important;color:#60777b!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat strong{font-size:15px!important;color:#102f37!important;line-height:1!important;margin:2px 0!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat small{font-size:5px!important;color:#687b7f!important;line-height:1.15!important}
  body.admin-tab-guard_profile .guard-profile-report-grid{grid-template-columns:.95fr 1.15fr!important;gap:5px!important;margin:0!important;break-inside:avoid!important}
  body.admin-tab-guard_profile .guard-profile-report-grid>.panel{padding:7px!important;margin:0!important;background:#fff!important;border:1px solid #cbd6d8!important;border-radius:7px!important;box-shadow:none!important;min-height:0!important}
  body.admin-tab-guard_profile .guard-profile-report-grid h2{font-size:9px!important;color:#111!important;margin:0 0 4px!important}
  body.admin-tab-guard_profile .profile-month{grid-template-columns:52px 1fr 27px!important;gap:4px!important;padding:2px 0!important;border-color:#e2e8e9!important}
  body.admin-tab-guard_profile .profile-month>div:first-child strong{font-size:6px!important;color:#111!important}
  body.admin-tab-guard_profile .profile-month>div:first-child span{font-size:4.5px!important;color:#666!important;margin:0!important}
  body.admin-tab-guard_profile .profile-month>b{font-size:6px!important;color:#205c68!important}
  body.admin-tab-guard_profile .profile-success{height:4px!important;background:#e5ecee!important}
  body.admin-tab-guard_profile .profile-success i{background:#2d8790!important}
  body.admin-tab-guard_profile .guard-profile-recent .table-wrap{overflow:visible!important}
  body.admin-tab-guard_profile .guard-profile-recent table{font-size:5.7px!important;width:100%!important;background:#fff!important}
  body.admin-tab-guard_profile .guard-profile-recent th,
  body.admin-tab-guard_profile .guard-profile-recent td{padding:3px 2px!important;color:#111!important;border-color:#dfe6e8!important;background:#fff!important;line-height:1.1!important}
  body.admin-tab-guard_profile .guard-profile-recent th{font-size:5px!important;color:#516b71!important}
  body.admin-tab-guard_profile .guard-profile-print-footer{display:block!important;text-align:center!important;font-size:5.5px!important;color:#667!important;border-top:1px solid #ccd5d7!important;padding-top:3px!important;margin-top:0!important;break-inside:avoid!important}
  @page{size:A4 portrait;margin:9mm}

  /* Resumen diario: impresión independiente, blanca y visible incluso cuando está embebida en modal. */
  html.admin-html body.shift-report-body,
  html.admin-html body.shift-report-body.shift-report-embed{
    background:#fff!important;background-image:none!important;color:#111!important;
    min-height:0!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;
  }
  body.shift-report-body::before,body.shift-report-body::after{display:none!important;content:none!important}
  body.shift-report-body .admin-top,
  body.shift-report-body .admin-nav,
  body.shift-report-body .admin-signature,
  body.shift-report-body .shift-sticky-tools,
  body.shift-report-body .shift-photo-modal{display:none!important}
  body.shift-report-body .admin-layout{display:block!important;min-height:0!important;height:auto!important;background:#fff!important}
  body.shift-report-body .shift-report-main{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important}
  body.shift-report-body .shift-report-shell{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#111!important}
  body.shift-report-body .shift-report-head{display:flex!important;justify-content:space-between!important;gap:10px!important;padding:0 0 7px!important;margin:0 0 7px!important;border-bottom:1px solid #9fb4b8!important;background:#fff!important}
  body.shift-report-body .shift-report-head .eyebrow,body.shift-report-body .shift-section-head .eyebrow{color:#286a72!important}
  body.shift-report-body .shift-report-head h1,body.shift-report-body .shift-section-head h2{color:#111!important}
  body.shift-report-body .shift-report-head p{color:#555!important}
  body.shift-report-body .shift-print-meta{display:block!important;color:#333!important}
  body.shift-report-body .shift-summary-cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;margin:0 0 7px!important}
  body.shift-report-body .shift-summary-cards article{display:block!important;background:#fff!important;border:1px solid #c2ced1!important;color:#111!important;min-height:43px!important;padding:6px 7px!important;box-shadow:none!important}
  body.shift-report-body .shift-summary-cards span{color:#596f73!important;font-size:6px!important}
  body.shift-report-body .shift-summary-cards strong{color:#111!important;font-size:15px!important}
  body.shift-report-body .shift-timeline-panel{display:block!important;background:#fff!important;border:1px solid #c2ced1!important;padding:7px!important;margin:0!important;color:#111!important;box-shadow:none!important;min-height:0!important;height:auto!important;overflow:visible!important}
  body.shift-report-body .shift-day-timeline{display:block!important;min-height:0!important;height:auto!important;overflow:visible!important}
  body.shift-report-body .shift-round-event{break-inside:avoid!important;padding-bottom:6px!important}
  body.shift-report-body .shift-event-card{background:#fff!important;border:1px solid #c8d2d4!important;color:#111!important;padding:6px 7px!important;box-shadow:none!important}
  body.shift-report-body .shift-person strong,body.shift-report-body .shift-person small,body.shift-report-body .shift-event-summary,body.shift-report-body .shift-event-time strong,body.shift-report-body .shift-event-time span{color:#111!important;opacity:1!important}
  body.shift-report-body .shift-incidents>article{background:#fff!important;color:#111!important;border:1px solid #ccd5d7!important}
  body.shift-report-body .shift-incidents strong,body.shift-report-body .shift-incidents small,body.shift-report-body .shift-incidents p{color:#111!important}
  body.shift-report-body .shift-report-end{display:flex!important;color:#555!important}
  @page{size:A4 portrait;margin:10mm}
}

/* Faro v3.6.132 · Ficha agente completa, móvil ancho e impresión B/N optimizada */
@media(max-width:650px){
  body.admin-tab-guard_profile .guard-profile-page-head{display:block!important;width:100%!important;max-width:100%!important}
  body.admin-tab-guard_profile .guard-profile-heading{display:block!important;width:100%!important;max-width:none!important;grid-template-columns:none!important}
  body.admin-tab-guard_profile .guard-profile-heading>div{width:100%!important;max-width:none!important}
  body.admin-tab-guard_profile .guard-profile-heading .eyebrow{font-size:9px!important;line-height:1.2!important;letter-spacing:.14em!important}
  body.admin-tab-guard_profile .guard-profile-heading h1{font-size:27px!important;line-height:1.08!important;margin:4px 0 0!important;max-width:none!important}
  body.admin-tab-guard_profile .guard-profile-heading p{font-size:11px!important;line-height:1.4!important;margin:7px 0 0!important;max-width:36em!important}
  body.admin-tab-guard_profile .guard-profile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;margin-top:10px!important}
  body.admin-tab-guard_profile .guard-profile-actions .btn{width:100%!important;justify-content:center!important}
  body.admin-tab-guard_profile .guard-profile-identity{grid-template-columns:90px minmax(0,1fr)!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:90px!important;min-height:126px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  body.admin-tab-guard_profile .guard-profile-heading h1{font-size:25px!important}
  body.admin-tab-guard_profile .guard-profile-identity{grid-template-columns:82px minmax(0,1fr)!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:82px!important;min-height:118px!important}
}

@media print{
  @page{size:A4 portrait;margin:10mm}
  html.admin-html,
  html.admin-html body.admin-body.admin-tab-guard_profile,
  html.admin-html body.admin-body.admin-tab-guard_profile .admin-layout,
  html.admin-html body.admin-body.admin-tab-guard_profile .admin-main,
  html.admin-html body.admin-body.admin-tab-guard_profile .guard-profile-report{
    background:#fff!important;background-color:#fff!important;background-image:none!important;color:#111!important;
    min-height:0!important;height:auto!important;box-shadow:none!important;
  }
  html.admin-html body.admin-body.admin-tab-guard_profile::before,
  html.admin-html body.admin-body.admin-tab-guard_profile::after{display:none!important;background:none!important}
  body.admin-tab-guard_profile .guard-profile-report{gap:3.2mm!important}
  body.admin-tab-guard_profile .guard-profile-page-head{padding:0 0 3mm!important;border-bottom:1.2px solid #335e67!important}
  body.admin-tab-guard_profile .guard-profile-heading h1{font-size:24px!important}
  body.admin-tab-guard_profile .guard-profile-heading p{font-size:9px!important}
  body.admin-tab-guard_profile .guard-profile-identity{grid-template-columns:86px 1fr!important;gap:9px!important;padding:8px!important;border:1px solid #9fb2b6!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:86px!important;height:116px!important;min-height:116px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid>div{padding:5px 6px!important;border:1px solid #ccd6d8!important;background:#fff!important}
  body.admin-tab-guard_profile .guard-profile-id-grid span{font-size:6px!important;color:#465d62!important}
  body.admin-tab-guard_profile .guard-profile-id-grid strong{font-size:8px!important;color:#111!important;font-weight:700!important}
  body.admin-tab-guard_profile .guard-profile-summary{gap:5px!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat{min-height:57px!important;padding:7px!important;background:#fff!important;border-width:1.2px!important}
  body.admin-tab-guard_profile .guard-stat.success{border-color:#5a8f70!important}.guard-profile-report .guard-stat.complete{border-color:#5a8394!important}.guard-profile-report .guard-stat.warning{border-color:#a68446!important}.guard-profile-report .guard-stat.extra{border-color:#776b91!important}.guard-profile-report .guard-stat.incident{border-color:#9b626c!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat span{font-size:6px!important;color:#344b50!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat strong{font-size:18px!important;color:#111!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat small{font-size:5.5px!important;color:#4f5f62!important}
  body.admin-tab-guard_profile .guard-profile-report-grid{grid-template-columns:.82fr 1.18fr!important;gap:6px!important}
  body.admin-tab-guard_profile .guard-profile-report-grid>.panel{min-height:138px!important;padding:8px!important;background:#fff!important;border:1px solid #aebdc0!important}
  body.admin-tab-guard_profile .guard-profile-report-grid h2{font-size:10px!important}
  body.admin-tab-guard_profile .profile-month{padding:4px 0!important}
  body.admin-tab-guard_profile .guard-profile-recent table{font-size:8.4px!important}
  body.admin-tab-guard_profile .guard-profile-recent th,body.admin-tab-guard_profile .guard-profile-recent td{padding:4px 3px!important}
  body.admin-tab-guard_profile .guard-profile-print-footer{font-size:6px!important;padding-top:5px!important;margin-top:1mm!important}
  *{-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important}
}

/* Faro v3.6.133 · Ficha agente: jerarquía móvil + estadísticas claras */
.guard-profile-summary-current .guard-stat strong{letter-spacing:-.02em}
.guard-profile-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px}
.guard-profile-section-head h2{margin:2px 0 0!important}
.guard-profile-section-head small{color:#8eafb5!important;text-align:right}
.guard-month-bars{display:grid;gap:10px}
.guard-month-bar{display:grid;grid-template-columns:70px minmax(0,1fr) 28px;gap:10px;align-items:center}
.guard-month-bar>span{font-size:9px;color:#9eb8bf;font-weight:800}
.guard-month-bar>div{height:9px;border-radius:999px;background:#183f48;overflow:hidden;border:1px solid rgba(116,205,207,.12)}
.guard-month-bar i{display:block;height:100%;border-radius:inherit;background:#36b9b6}
.guard-month-bar strong{font-size:10px;text-align:right;color:#f4fbfc}
.guard-profile-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding-top:11px;border-top:1px solid rgba(116,205,207,.15)}
.guard-profile-mini-facts>div{padding:8px 9px;border:1px solid rgba(116,205,207,.12);border-radius:10px;background:rgba(0,0,0,.10);min-width:0}
.guard-profile-mini-facts span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.08em;color:#8eb4bb;font-weight:900}
.guard-profile-mini-facts strong{display:block;margin-top:4px;font-size:9px;color:#f4fbfc;overflow-wrap:anywhere}

@media(max-width:650px){
  body.admin-tab-guard_profile .guard-profile-report{width:100%!important;max-width:none!important;gap:12px!important}
  body.admin-tab-guard_profile .guard-profile-page-head{width:100%!important;display:block!important;margin:0!important;padding:0!important}
  body.admin-tab-guard_profile .guard-profile-heading{width:100%!important;display:block!important;margin:0!important;padding:0!important}
  body.admin-tab-guard_profile .guard-profile-heading>div{width:100%!important;max-width:none!important;display:block!important}
  body.admin-tab-guard_profile .guard-profile-heading .eyebrow{font-size:8px!important;white-space:normal!important}
  body.admin-tab-guard_profile .guard-profile-heading h1{display:block!important;width:100%!important;max-width:none!important;font-size:28px!important;line-height:1.04!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;margin:4px 0 0!important}
  body.admin-tab-guard_profile .guard-profile-heading p{display:block!important;width:100%!important;max-width:none!important;font-size:11px!important;line-height:1.35!important;white-space:normal!important;margin:7px 0 0!important}
  body.admin-tab-guard_profile .guard-profile-actions{grid-template-columns:1fr 1fr!important;margin-top:10px!important}
  body.admin-tab-guard_profile .guard-profile-identity{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:10px!important;padding:11px!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:88px!important;min-height:126px!important;height:126px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid>div{padding:7px 8px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid span{font-size:6px!important}
  body.admin-tab-guard_profile .guard-profile-id-grid strong{font-size:8px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2!important}
  body.admin-tab-guard_profile .guard-profile-summary{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat{min-height:104px!important;padding:12px!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat span{font-size:8px!important;line-height:1.2!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat strong{font-size:25px!important;margin:7px 0 5px!important}
  body.admin-tab-guard_profile .guard-profile-report .guard-stat small{font-size:8px!important;line-height:1.3!important}
  body.admin-tab-guard_profile .guard-profile-stats-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.admin-tab-guard_profile .guard-profile-section-head{align-items:flex-start!important}
  body.admin-tab-guard_profile .guard-profile-section-head small{font-size:8px!important}
  body.admin-tab-guard_profile .guard-month-bar{grid-template-columns:62px minmax(0,1fr) 26px!important;gap:7px!important}
  body.admin-tab-guard_profile .guard-profile-mini-facts{grid-template-columns:1fr 1fr!important}
  body.admin-tab-guard_profile .guard-profile-recent .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  body.admin-tab-guard_profile .guard-profile-recent table{min-width:470px!important}
}
@media(max-width:390px){
  body.admin-tab-guard_profile .guard-profile-heading h1{font-size:26px!important}
  body.admin-tab-guard_profile .guard-profile-identity{grid-template-columns:80px minmax(0,1fr)!important;padding:9px!important}
  body.admin-tab-guard_profile .guard-profile-id-photo{width:80px!important;height:116px!important;min-height:116px!important}
}


/* Faro v3.6.136 · impresión estable y sin franjas residuales */
.guard-print-frame{position:fixed!important;left:-12000px!important;top:0!important;width:210mm!important;height:297mm!important;border:0!important;opacity:.001!important;pointer-events:none!important;background:#fff!important}
@media print{
  html.admin-html body.shift-report-body,
  html.admin-html body.shift-report-body .admin-layout,
  html.admin-html body.shift-report-body .shift-report-main,
  html.admin-html body.shift-report-body .shift-report-shell{background:#fff!important;background-image:none!important}
  body.shift-report-body>footer.admin-signature{display:none!important;background:#fff!important;color:#fff!important;border:0!important;margin:0!important;padding:0!important;height:0!important;min-height:0!important}
  .guard-print-frame{display:none!important}
}


/* Faro v3.6.137 · Detalle de nodo homologado al sistema */
body.admin-body .admin-modal#nodeDetailModal .node-detail-modal-card{
  width:min(720px,calc(100vw - 28px))!important;
  max-width:720px!important;
  max-height:min(90dvh,840px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#0b3a46 0%,#082f3a 100%)!important;
  border:1px solid rgba(82,199,194,.28)!important;
  border-radius:20px!important;
  box-shadow:0 26px 90px rgba(0,0,0,.48)!important;
  color:#eef9fa!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:17px 19px 14px!important;background:#0b3a46!important;border-bottom:1px solid rgba(94,205,201,.18)!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head .eyebrow{color:#62d7d0!important;font-size:9px!important;letter-spacing:.12em!important;font-weight:900!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head h2{margin:4px 0 0!important;color:#f5fbfc!important;font-size:23px!important;line-height:1.08!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-scroll{
  max-height:calc(min(90dvh,840px) - 74px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:16px 19px 19px!important;
  background:#082f3a!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-photo{
  width:100%!important;height:min(360px,42dvh)!important;min-height:230px!important;margin:0 0 14px!important;
  border-radius:15px!important;border:1px solid rgba(105,200,204,.18)!important;background:#061f27!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-photo img{
  display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#061f27!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-grid>div{
  min-width:0!important;padding:11px 12px!important;border:1px solid rgba(126,198,204,.14)!important;background:#0b3a46!important;border-radius:12px!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-detail-grid span{display:block!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#86abb3!important;font-weight:900!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-grid strong{display:block!important;margin-top:4px!important;color:#f4fafb!important;font-size:12px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-description{grid-column:1/-1!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid rgba(105,205,201,.14)!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-actions form{margin:0!important;width:100%!important}
body.admin-body .admin-modal#nodeDetailModal .node-detail-actions .btn{width:100%!important;min-height:42px!important}
body.admin-body .admin-modal#nodeDetailModal .node-edit-form{margin-top:14px!important;padding-top:14px!important;border-top:1px solid rgba(105,205,201,.16)!important;color:#eaf5f7!important}
body.admin-body .admin-modal#nodeDetailModal .node-edit-form label{color:#b9cdd1!important}
body.admin-body .admin-modal#nodeDetailModal .node-edit-form input,
body.admin-body .admin-modal#nodeDetailModal .node-edit-form textarea{
  background:#061f27!important;border:1px solid rgba(117,194,201,.22)!important;color:#f3fafb!important;
}
body.admin-body .admin-modal#nodeDetailModal .node-edit-form input:focus,
body.admin-body .admin-modal#nodeDetailModal .node-edit-form textarea:focus{border-color:#39c0bb!important;box-shadow:0 0 0 3px rgba(57,192,187,.12)!important}
@media(max-width:700px){
  body.admin-body .admin-modal#nodeDetailModal .node-detail-modal-card{width:calc(100vw - 16px)!important;max-height:92dvh!important;border-radius:17px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head{padding:13px 13px 11px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head h2{font-size:19px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-fixed-head .btn{min-height:38px!important;height:38px!important;padding:0 13px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-scroll{max-height:calc(92dvh - 64px)!important;padding:11px 13px 14px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-photo{height:min(320px,40dvh)!important;min-height:190px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.admin-body .admin-modal#nodeDetailModal .node-detail-actions{grid-template-columns:1fr 1fr!important}
}


/* Faro v3.6.138 · acciones compactas de impresión/descarga */
.icon-action-btn,
.shift-icon-action{
  min-width:48px;
  width:48px;
  height:44px;
  padding:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  font-size:20px!important;
  line-height:1;
  text-decoration:none!important;
}
body.shift-report-body.shift-report-embed .shift-sticky-tools{
  position:sticky;
  top:0;
  z-index:45;
}
.shift-sticky-download{flex:0 0 auto}
@media (max-width:780px){
  .shift-sticky-print{display:none!important}
  .shift-sticky-download{display:inline-flex!important}
}
@media print{
  .shift-sticky-download{display:none!important}
}

/* Faro v3.6.139 · Estadística visual de agentes */
.guard-performance-visual{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;align-items:center;margin:18px 0 20px;padding:18px;border:1px solid rgba(90,210,207,.18);border-radius:18px;background:rgba(3,31,40,.34)}
.guard-performance-donut{--c:#28b6aa;--i:#e0535f;--x:#d59a2c;position:relative;width:162px;height:162px;border-radius:50%;background:conic-gradient(var(--c) 0 calc(var(--complete)*1%),var(--i) calc(var(--complete)*1%) calc((var(--complete) + var(--incomplete))*1%),var(--x) calc((var(--complete) + var(--incomplete))*1%) calc((var(--complete) + var(--incomplete) + var(--cancelled))*1%),rgba(255,255,255,.08) 0);display:grid;place-items:center;margin:auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.guard-performance-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#0b3a46;border:1px solid rgba(255,255,255,.08)}
.guard-performance-donut>div{position:relative;z-index:1;text-align:center;display:grid;gap:2px}.guard-performance-donut strong{font-size:34px;line-height:1;color:#fff}.guard-performance-donut span{font-size:11px;color:#a8c4ca;text-transform:uppercase;letter-spacing:.08em}
.guard-performance-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guard-performance-legend>div{padding:14px;border-radius:14px;background:rgba(3,31,40,.55);border:1px solid rgba(255,255,255,.07);display:grid;gap:3px}.guard-performance-legend span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a9c2c8}.guard-performance-legend strong{font-size:24px;color:#fff}.guard-performance-legend small{color:#9eb7bd}.guard-performance-legend .complete{border-top:3px solid #28b6aa}.guard-performance-legend .incomplete{border-top:3px solid #e0535f}.guard-performance-legend .cancelled{border-top:3px solid #d59a2c}
.guard-month-chart{padding-top:2px}.guard-chart-caption{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.guard-chart-caption strong{color:#f4fbfc}.guard-chart-caption span{font-size:12px;color:#9fb9c0}
.guard-empty-history{min-height:150px;border-radius:16px;border:1px dashed rgba(90,210,207,.28);background:rgba(3,31,40,.46);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;color:#a7c2c8}.guard-empty-history span{font-size:30px;margin-bottom:8px}.guard-empty-history strong{color:#fff;font-size:18px;margin-bottom:5px}.guard-empty-history small{max-width:430px;line-height:1.45;color:#9db6bc}
.guard-profile-monthly .empty-state{background:rgba(3,31,40,.48)!important;color:#a7c2c8!important;border:1px dashed rgba(90,210,207,.28)!important}
@media(max-width:780px){.guard-performance-visual{grid-template-columns:1fr;gap:16px}.guard-performance-donut{width:148px;height:148px}.guard-performance-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.guard-performance-legend>div{padding:10px 8px}.guard-performance-legend strong{font-size:20px}.guard-performance-legend small{font-size:10px}.guard-chart-caption{align-items:flex-start;flex-direction:column;gap:2px}}

/* Faro v3.6.140 · PDF descargado homologado a impresión */

/* Faro v3.6.141 · reportes: un solo render de impresión + estadísticas legibles en B/N */
body.admin-body:not(.superadmin-body) .guard-empty-history{background:#0b3a46!important;border:1px dashed rgba(90,210,207,.32)!important;color:#a7c2c8!important;box-shadow:none!important}
body.admin-body:not(.superadmin-body) .guard-empty-history strong{color:#f3fbfc!important}
body.admin-body:not(.superadmin-body) .guard-empty-history small{color:#9db6bc!important}
.guard-performance-legend>div.complete:before,.guard-performance-legend>div.incomplete:before,.guard-performance-legend>div.cancelled:before{content:"";display:block;width:28px;height:7px;margin-bottom:6px;border-radius:999px;border:1px solid rgba(255,255,255,.22)}
.guard-performance-legend>div.complete:before{background:#17606a}
.guard-performance-legend>div.incomplete:before{background:#b96868}
.guard-performance-legend>div.cancelled:before{background:#d9b75c}

/* Faro v3.6.142 · rendimiento limpio: sólidos, cortes blancos y luminancias distintas */
.guard-performance-donut{--c:#17606a;--i:#b96868;--x:#d9b75c;background:conic-gradient(var(--c) 0 calc(var(--complete)*1%),#fff calc(var(--complete)*1%) calc(var(--complete)*1% + .7%),var(--i) calc(var(--complete)*1% + .7%) calc((var(--complete) + var(--incomplete))*1%),#fff calc((var(--complete) + var(--incomplete))*1%) calc((var(--complete) + var(--incomplete))*1% + .7%),var(--x) calc((var(--complete) + var(--incomplete))*1% + .7%) calc((var(--complete) + var(--incomplete) + var(--cancelled))*1%),rgba(255,255,255,.08) 0)!important}
.guard-performance-legend .complete{border-top-color:#17606a!important}.guard-performance-legend .incomplete{border-top-color:#b96868!important}.guard-performance-legend .cancelled{border-top-color:#d9b75c!important}

/* Faro v3.6.144 · Descarga de Resumen diario = mismo layout de impresión */
html.faro-shift-pdf-export,
html.faro-shift-pdf-export body.shift-report-body,
html.faro-shift-pdf-export body.shift-report-body.shift-report-embed{
  background:#fff!important;background-image:none!important;color:#111!important;
  min-height:0!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;
}
body.shift-report-body.faro-shift-pdf-export::before,
body.shift-report-body.faro-shift-pdf-export::after{display:none!important;content:none!important}
body.shift-report-body.faro-shift-pdf-export .admin-top,
body.shift-report-body.faro-shift-pdf-export .admin-nav,
body.shift-report-body.faro-shift-pdf-export .admin-signature,
body.shift-report-body.faro-shift-pdf-export .shift-sticky-tools,
body.shift-report-body.faro-shift-pdf-export .shift-photo-modal{display:none!important}
body.shift-report-body.faro-shift-pdf-export .admin-layout{display:block!important;min-height:0!important;height:auto!important;background:#fff!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-main{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-shell{
  display:block!important;margin:0!important;padding:0!important;width:190mm!important;max-width:190mm!important;
  min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#111!important;
  box-shadow:none!important;border:0!important;border-radius:0!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-report-head{display:flex!important;justify-content:space-between!important;gap:10px!important;padding:0 0 7px!important;margin:0 0 7px!important;border-bottom:1px solid #9fb4b8!important;background:#fff!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-head .eyebrow,
body.shift-report-body.faro-shift-pdf-export .shift-section-head .eyebrow{color:#286a72!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-head h1,
body.shift-report-body.faro-shift-pdf-export .shift-section-head h2{color:#111!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-head p{color:#555!important}
body.shift-report-body.faro-shift-pdf-export .shift-print-meta{display:block!important;color:#333!important}
body.shift-report-body.faro-shift-pdf-export .shift-summary-cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;margin:0 0 7px!important}
body.shift-report-body.faro-shift-pdf-export .shift-summary-cards article{display:block!important;background:#fff!important;border:1px solid #c2ced1!important;color:#111!important;min-height:43px!important;padding:6px 7px!important;box-shadow:none!important;border-radius:12px!important}
body.shift-report-body.faro-shift-pdf-export .shift-summary-cards span{color:#596f73!important;font-size:6px!important}
body.shift-report-body.faro-shift-pdf-export .shift-summary-cards strong{color:#111!important;font-size:15px!important}
body.shift-report-body.faro-shift-pdf-export .shift-timeline-panel{display:block!important;background:#fff!important;border:1px solid #c2ced1!important;border-radius:12px!important;padding:7px!important;margin:0!important;color:#111!important;box-shadow:none!important;min-height:0!important;height:auto!important;overflow:visible!important}
body.shift-report-body.faro-shift-pdf-export .shift-day-timeline{display:block!important;min-height:0!important;height:auto!important;overflow:visible!important}
body.shift-report-body.faro-shift-pdf-export .shift-round-event{break-inside:avoid!important;padding-bottom:6px!important}
body.shift-report-body.faro-shift-pdf-export .shift-event-card{background:#fff!important;border:1px solid #c8d2d4!important;color:#111!important;padding:6px 7px!important;box-shadow:none!important;border-radius:12px!important}
body.shift-report-body.faro-shift-pdf-export .shift-person strong,
body.shift-report-body.faro-shift-pdf-export .shift-person small,
body.shift-report-body.faro-shift-pdf-export .shift-event-summary,
body.shift-report-body.faro-shift-pdf-export .shift-event-time strong,
body.shift-report-body.faro-shift-pdf-export .shift-event-time span{color:#111!important;opacity:1!important}
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article{background:#fff!important;color:#111!important;border:1px solid #ccd5d7!important;border-radius:10px!important}
body.shift-report-body.faro-shift-pdf-export .shift-incidents strong,
body.shift-report-body.faro-shift-pdf-export .shift-incidents small,
body.shift-report-body.faro-shift-pdf-export .shift-incidents p{color:#111!important}
body.shift-report-body.faro-shift-pdf-export .shift-report-end{display:flex!important;color:#555!important}
body.shift-report-body.faro-shift-pdf-export .shift-status{color:#111!important;background:#fff!important;border:1px solid currentColor!important}

/* Faro v3.6.146 · móvil: descargar visible, imprimir oculto */
@media (max-width:780px){
  body.shift-report-body .shift-sticky-print{display:none!important}
  body.shift-report-body .shift-sticky-download{display:inline-flex!important;visibility:visible!important;opacity:1!important}
}

/* Faro v3.6.147 · Rutas homologadas + footer móvil anclado */
.routes-page-head{align-items:flex-end}
.route-capacity-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid rgba(91,201,196,.22);border-radius:20px;background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94));box-shadow:0 12px 34px rgba(0,0,0,.12)}
.route-capacity-card>div{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:end}.route-capacity-card span{grid-column:1/-1;color:#72d7cf;font-size:10px;font-weight:900;letter-spacing:.12em}.route-capacity-card strong{font-size:30px;line-height:1;color:#fff}.route-capacity-card small{color:#9eb9bf;font-size:11px;padding-bottom:2px}
.routes-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.route-maint-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:260px;padding:18px;border:1px solid rgba(83,191,186,.22);border-radius:20px;background:linear-gradient(145deg,rgba(17,69,81,.92),rgba(8,45,56,.96));box-shadow:0 16px 38px rgba(0,0,0,.13)}
.route-maint-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#36b7ad}.route-maint-card.is-inactive{filter:saturate(.45);opacity:.78}.route-maint-card.is-inactive:before{background:#8a9699}
.route-maint-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-maint-kicker{display:block;color:#7fc6c3;font-size:9px;font-weight:900;letter-spacing:.12em}.route-maint-top h2{margin:5px 0 0;color:#f4fbfc;font-size:21px}.route-maint-card .status-pill{border-radius:999px!important}
.route-maint-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}.route-maint-stats>div{padding:11px;border:1px solid rgba(126,190,196,.13);border-radius:13px;background:rgba(3,33,43,.4)}.route-maint-stats span,.route-maint-preview>span{display:block;color:#789ca3;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.route-maint-stats strong{display:block;margin-top:4px;color:#edf8f9;font-size:12px}.route-maint-preview{min-height:55px;padding:11px 12px;border-radius:13px;background:rgba(3,33,43,.28)}.route-maint-preview p{margin:5px 0 0;color:#b9ced2;font-size:11px;line-height:1.45}
.route-maint-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:15px}.route-maint-actions form{display:contents}.route-maint-actions .btn{width:100%;min-width:0;justify-content:center}.btn.warning{background:#d49a2a!important;border-color:#d49a2a!important;color:#fff!important}.btn.info{background:#2f95b4!important;border-color:#2f95b4!important;color:#fff!important}
.route-empty{grid-column:1/-1}
.route-form-modal,.route-detail-modal{padding:0!important;overflow:hidden!important;background:#082e39!important;border:1px solid rgba(102,204,197,.22)!important;color:#edf8f9!important;max-height:min(88dvh,760px)!important}.route-form-modal{width:min(560px,calc(100vw - 24px))!important}.route-detail-modal{width:min(680px,calc(100vw - 24px))!important}.route-modal-fixed-head{margin:0!important;padding:17px 19px 14px!important;background:#0a3541!important;border-bottom:1px solid rgba(110,200,199,.15)!important;position:relative!important;top:auto!important}.route-modal-fixed-head h2{color:#f4fbfc!important;margin:3px 0 0}.route-modal-scroll{padding:18px 19px 20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.route-form-modal .form-grid label{color:#b9ced2}.route-form-modal input,.route-form-modal select{background:#082a34!important;border-color:rgba(120,192,198,.18)!important;color:#fff!important}.route-form-modal .check{padding:12px;border-radius:13px;background:rgba(3,33,43,.36)}
.route-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.route-detail-summary>div{padding:12px;border-radius:14px;border:1px solid rgba(120,192,198,.16);background:#0a3541}.route-detail-summary span{display:block;color:#789ca3;font-size:8px;text-transform:uppercase;font-weight:900}.route-detail-summary strong{display:block;margin-top:5px;color:#fff;font-size:14px}.route-detail-section{margin-top:15px;padding:14px;border-radius:15px;background:#0a3541;border:1px solid rgba(120,192,198,.14)}.route-detail-section h3{margin:0 0 10px;color:#eef9fa}.route-detail-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.route-detail-list li{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;background:#082a34}.route-detail-list li>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#144954;color:#70d2c3;font-size:10px;font-weight:900}.route-detail-list li strong{color:#f2f9fa;font-size:12px}.route-detail-list li.empty{color:#90adb2}.route-detail-chips{display:flex;gap:7px;flex-wrap:wrap}.route-detail-chips>span:not(.muted){padding:7px 10px;border-radius:999px;background:#144954;color:#dff4f2;font-size:10px;font-weight:800}

/* Editor de ruta: paneles consistentes y controles de orden que nunca dependen solo del drag. */
body.admin-body .route-settings{border-radius:20px!important;background:linear-gradient(145deg,#0c3b47,#092f3a)!important;border-color:rgba(99,193,194,.19)!important}.route-settings .form-grid{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr);align-items:end}.route-settings .form-grid>div{grid-column:1/-1}.route-settings .form-grid>button{justify-self:start}.route-add-existing,.route-order-panel{border-radius:20px!important;background:#0b3743!important;border-color:rgba(99,193,194,.16)!important}.route-order-heading h2,.route-add-existing h2{color:#f1fafb}.route-sort-item{grid-template-columns:28px 28px 54px 42px minmax(120px,1fr) 100px 100px auto!important}.route-step-buttons{display:grid;grid-template-columns:1fr 1fr;gap:3px}.route-step-btn{width:25px;height:25px;border:1px solid rgba(120,192,198,.18);border-radius:7px;background:#123f4a;color:#dff5f3;font-weight:900;cursor:pointer}.route-step-btn:disabled{opacity:.24;cursor:default}.route-step-btn:not(:disabled):active{transform:translateY(1px)}

@media(max-width:900px){.routes-card-grid{grid-template-columns:1fr}.route-sort-item{grid-template-columns:25px 25px 54px 38px minmax(0,1fr) auto!important;grid-template-areas:"drag idx steps photo copy remove" "drag idx steps time1 time1 time2"!important}.route-step-buttons{grid-area:steps}.route-drag-handle{grid-area:drag}.route-sort-index{grid-area:idx}.route-sort-photo{grid-area:photo}.route-sort-copy{grid-area:copy}.route-remove-btn{grid-area:remove}.route-sort-item .route-time-field:nth-of-type(1){grid-area:time1}.route-sort-item .route-time-field:nth-of-type(2){grid-area:time2}}
@media(max-width:780px){.route-capacity-card{padding:15px;align-items:center}.route-capacity-card strong{font-size:25px}.route-capacity-card small{font-size:9px}.route-maint-card{min-height:240px;padding:15px}.route-maint-stats{gap:6px}.route-maint-stats>div{padding:9px 7px}.route-maint-actions{gap:6px}.route-maint-actions .btn{padding-left:5px!important;padding-right:5px!important;font-size:10px!important}.route-detail-summary{grid-template-columns:1fr 1fr}.route-detail-summary>div:last-child{grid-column:1/-1}.route-settings .form-grid{grid-template-columns:1fr}.route-settings .form-grid>*{grid-column:1!important}}

/* El footer es el final visual del Supervisor: al llegar a él queda pegado al borde
   inferior, por lo que el rebote de iOS no puede hacerlo desaparecer hacia arriba. */
@media(max-width:780px){
  body.admin-body:not(.superadmin-body)>.admin-signature{
    position:sticky!important;bottom:0!important;z-index:38!important;
    background:#041e29!important;margin-bottom:0!important;
    transform:none!important;transition:none!important;
  }
}

/* Faro v3.6.148 · capacidades homogéneas + rutas con agentes visuales */
.resource-capacity-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 20px!important;margin:0 0 18px!important;border:1px solid rgba(91,201,196,.22)!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94))!important;box-shadow:0 12px 34px rgba(0,0,0,.12)!important;color:#fff!important}
.resource-capacity-copy{display:grid!important;grid-template-columns:auto auto!important;column-gap:10px!important;align-items:end!important}.resource-capacity-copy>span,.agents-capacity>span{grid-column:1/-1!important;color:#72d7cf!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important}.resource-capacity-copy>strong,.agents-capacity>strong{font-size:30px!important;line-height:1!important;color:#fff!important}.resource-capacity-copy>small,.agents-capacity>small{color:#9eb9bf!important;font-size:11px!important;padding-bottom:2px!important}
.agents-toolbar.resource-capacity-card{background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94))!important}.agents-capacity{display:grid!important;grid-template-columns:auto auto!important;column-gap:10px!important;align-items:end!important}.node-capacity-card.resource-capacity-card{min-width:0!important;width:100%!important;flex-direction:row!important}.node-capacity-card .node-capacity-bar{width:min(260px,28vw);height:7px;margin:0!important}.node-page-head{align-items:flex-end!important}
.route-maint-agents{margin-top:10px;padding:10px 12px;border-radius:13px;background:rgba(3,33,43,.28)}.route-maint-agents>span{display:block;color:#789ca3;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.route-agent-miniatures{display:flex;align-items:center;min-height:32px}.route-agent-mini{width:32px;height:32px;border-radius:10px;overflow:hidden;display:grid;place-items:center;margin-right:-5px;border:2px solid var(--agent-color,#4E67A8);background:#0a2f39;color:#fff;box-shadow:0 0 0 2px #0b3743}.route-agent-mini img{width:100%;height:100%;object-fit:cover}.route-agent-mini b{font-size:10px}.route-agent-more{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#164a55;color:#dff5f3;font-size:9px;font-weight:900;margin-left:8px}.route-agent-miniatures>small{color:#83a3a9;font-size:9px}
.route-agent-picker-wrap{grid-column:1/-1;padding:14px;border:1px solid rgba(116,191,196,.16);border-radius:16px;background:rgba(3,33,43,.28)}.route-agent-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}.route-agent-picker-head strong{color:#f3fbfb}.route-agent-picker-head span{color:#86a6ac;font-size:10px}.route-agent-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.route-agent-choice{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:8px;padding:8px!important;margin:0!important;border:1px solid rgba(116,191,196,.15)!important;border-radius:13px!important;background:#0a3440!important;cursor:pointer;color:#edf8f9!important}.route-agent-choice input{position:absolute!important;opacity:0!important;pointer-events:none}.route-agent-choice-photo{width:42px;height:48px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:#082731;border:2px solid var(--agent-color,#4E67A8)}.route-agent-choice-photo img{width:100%;height:100%;object-fit:cover}.route-agent-choice-copy{min-width:0}.route-agent-choice-copy strong{display:block;font-size:10px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-agent-choice-copy small{display:block;margin-top:3px;color:#789ba2;font-size:8px}.route-agent-checkmark{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;border:1px solid rgba(114,215,207,.22);color:transparent;background:#082a34;font-weight:900}.route-agent-choice:has(input:checked){border-color:var(--agent-color,#49d0c8)!important;box-shadow:inset 0 0 0 1px var(--agent-color,#49d0c8)}.route-agent-choice:has(input:checked) .route-agent-checkmark{color:#041f29;background:var(--agent-color,#49d0c8);border-color:var(--agent-color,#49d0c8)}.route-agent-choice.is-disabled{opacity:.43;cursor:not-allowed}.route-toggle-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.route-toggle-card{display:grid!important;grid-template-columns:24px 1fr;gap:10px;align-items:center;padding:12px!important;border-radius:14px!important;background:#0a3440!important;border:1px solid rgba(116,191,196,.15)!important;color:#fff!important}.route-toggle-card input{width:18px!important;height:18px!important;margin:0!important}.route-toggle-card span strong{display:block;color:#f1fafa;font-size:11px}.route-toggle-card span small{display:block;margin-top:3px;color:#82a4aa;font-size:9px;line-height:1.35}.route-save-settings{justify-self:start!important}.route-order-help-mobile{display:none}.route-detail-chips .route-detail-agent{display:inline-flex;align-items:center;gap:7px;padding:6px 9px!important;border-radius:12px!important;background:#123f4a!important}.route-detail-agent i{width:27px;height:27px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#082a34;border:2px solid var(--agent-color,#4E67A8);font-style:normal}.route-detail-agent i img{width:100%;height:100%;object-fit:cover}.route-detail-agent b{font-size:9px;color:#ecf8f8}
@media(max-width:1100px){.route-agent-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.resource-capacity-card{padding:15px!important;gap:12px!important}.resource-capacity-copy>strong,.agents-capacity>strong{font-size:25px!important}.resource-capacity-copy>small,.agents-capacity>small{font-size:9px!important}.node-capacity-card.resource-capacity-card{display:grid!important;grid-template-columns:1fr!important}.node-capacity-card .node-capacity-bar{width:100%!important}.route-agent-picker{grid-template-columns:1fr 1fr}.route-agent-picker-head{display:block}.route-agent-picker-head span{display:block;margin-top:3px}.route-toggle-grid{grid-template-columns:1fr}.route-order-help-desktop,.drag-hint,.route-drag-handle{display:none!important}.route-order-help-mobile{display:block!important}.route-sort-item{grid-template-columns:25px 54px 42px minmax(0,1fr) auto!important;grid-template-areas:"idx steps photo copy remove" "idx steps time1 time1 time2"!important}.route-sort-index{grid-area:idx}.route-step-buttons{grid-area:steps}.route-sort-photo{grid-area:photo}.route-sort-copy{grid-area:copy}.route-remove-btn{grid-area:remove}.route-sort-item .route-time-field:nth-of-type(1){grid-area:time1}.route-sort-item .route-time-field:nth-of-type(2){grid-area:time2}}

/* Faro v3.6.149 · Homologación visual de cabeceras y miniaturas de rutas */
.capacity-card-unified{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:18px 20px!important;border:1px solid rgba(91,201,196,.22)!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94))!important;box-shadow:0 12px 34px rgba(0,0,0,.12)!important}
.capacity-card-unified .capacity-card-copy{display:grid!important;grid-template-columns:auto auto!important;column-gap:10px!important;align-items:end!important;min-width:0!important}
.capacity-card-unified .capacity-card-copy>span{grid-column:1/-1!important;color:#72d7cf!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.capacity-card-unified .capacity-card-copy>strong{font-size:30px!important;line-height:1!important;color:#fff!important;white-space:nowrap!important}
.capacity-card-unified .capacity-card-copy>small{color:#d9f1ef!important;font-size:11px!important;padding-bottom:2px!important;line-height:1.25!important}
.capacity-card-unified .btn{justify-self:end!important}
.capacity-card-unified.node-capacity-card{grid-template-columns:minmax(0,1fr) auto!important}
.capacity-card-unified.node-capacity-card .node-capacity-bar{grid-column:1/-1!important;width:100%!important;height:7px!important;margin-top:2px!important;background:rgba(111,196,196,.12)!important;border-radius:999px!important;overflow:hidden!important}
.capacity-card-unified.node-capacity-card .node-capacity-bar i{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#56d5cd,#41bfb8)!important}
.node-toolbar-panel{padding:16px 18px!important}
.node-toolbar{display:block!important}
.node-search-label{display:block!important;max-width:none!important}
.node-search-label>span:first-child{display:block!important;margin-bottom:8px!important;font-size:11px!important;font-weight:900!important;color:#d5eaec!important;letter-spacing:.02em!important}
.node-search-shell{display:flex!important;align-items:center!important;gap:10px!important;padding:0 14px!important;height:52px!important;border-radius:16px!important;border:1px solid rgba(102,204,197,.18)!important;background:linear-gradient(180deg,rgba(8,42,52,.9),rgba(7,36,45,.95))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important}
.node-search-icon{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;border-radius:999px!important;background:rgba(84,198,191,.14)!important;color:#72d7cf!important;font-style:normal!important;font-size:14px!important;flex:0 0 auto!important}
.node-search-shell input{flex:1 1 auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#eef8f9!important;box-shadow:none!important;font-size:15px!important;border-radius:0!important}
.node-search-shell input::placeholder{color:#89aab0!important}
.node-search-shell input:focus{outline:none!important}
.route-maint-agents{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 12px!important}
.route-maint-agents>span{margin:0!important;flex:0 0 auto!important}
.route-agent-miniatures{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:6px!important;min-height:0!important}
.route-agent-mini{width:38px!important;height:38px!important;margin:0!important;border-radius:12px!important;border:2px solid var(--agent-color,#4E67A8)!important;box-shadow:0 0 0 2px #0b3743!important;overflow:hidden!important;background:#0a2f39!important;display:grid!important;place-items:center!important}
.route-agent-mini img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.route-agent-mini b{font-size:11px!important;color:#fff!important}
.route-agent-more{width:38px!important;height:38px!important;margin:0!important;border-radius:12px!important;font-size:10px!important}
.route-maint-card{min-height:0!important}
.route-agent-picker-wrap{grid-column:1/-1!important;padding:14px!important;border:1px solid rgba(116,191,196,.16)!important;border-radius:16px!important;background:rgba(3,33,43,.28)!important}
.route-agent-picker-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:12px!important;margin-bottom:10px!important}
.route-agent-picker-head strong{color:#f3fbfb!important;font-size:14px!important}
.route-agent-picker-head span{color:#86a6ac!important;font-size:10px!important}
.route-agent-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.route-agent-choice{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:64px!important;padding:10px 12px!important;margin:0!important;border:1px solid rgba(116,191,196,.15)!important;border-radius:16px!important;background:#0a3440!important;cursor:pointer!important;color:#edf8f9!important;overflow:hidden!important}
.route-agent-choice::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--agent-color,#4E67A8);opacity:.95}
.route-agent-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.route-agent-choice-photo{flex:0 0 auto!important;width:40px!important;height:40px!important;border-radius:12px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#082731!important;border:2px solid var(--agent-color,#4E67A8)!important}
.route-agent-choice-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.route-agent-choice-photo b{font-size:11px!important;color:#fff!important}
.route-agent-choice-copy{min-width:0!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;gap:2px!important}
.route-agent-choice-copy strong{display:block!important;font-size:11px!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.15!important}
.route-agent-choice-copy small{display:block!important;color:#789ba2!important;font-size:9px!important;line-height:1.2!important}
.route-agent-checkmark{flex:0 0 auto!important;width:24px!important;height:24px!important;border-radius:8px!important;display:grid!important;place-items:center!important;border:1px solid rgba(114,215,207,.22)!important;color:transparent!important;background:#082a34!important;font-weight:900!important}
.route-agent-choice:has(input:checked){border-color:var(--agent-color,#49d0c8)!important;box-shadow:inset 0 0 0 1px var(--agent-color,#49d0c8)!important;background:rgba(12,63,74,.95)!important}
.route-agent-choice:has(input:checked) .route-agent-checkmark{color:#041f29!important;background:var(--agent-color,#49d0c8)!important;border-color:var(--agent-color,#49d0c8)!important}
.route-agent-choice.is-disabled{opacity:.42!important;cursor:not-allowed!important}
.route-toggle-grid{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.route-toggle-card{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;border-radius:15px!important;background:#0a3440!important;border:1px solid rgba(116,191,196,.15)!important;color:#fff!important}
.route-toggle-card input{width:16px!important;height:16px!important;margin:0!important}
.route-toggle-card span strong{display:block!important;color:#f1fafa!important;font-size:11px!important}
.route-toggle-card span small{display:block!important;margin-top:3px!important;color:#82a4aa!important;font-size:9px!important;line-height:1.35!important}
@media(max-width:780px){
  .capacity-card-unified{grid-template-columns:1fr!important;padding:15px!important;gap:12px!important}
  .capacity-card-unified .capacity-card-copy>strong{font-size:25px!important}
  .capacity-card-unified .capacity-card-copy>small{font-size:9px!important}
  .capacity-card-unified .btn{justify-self:stretch!important}
  .node-search-shell{height:48px!important;border-radius:14px!important}
  .route-agent-picker{grid-template-columns:1fr!important}
  .route-agent-picker-head{display:block!important}
  .route-agent-picker-head span{display:block!important;margin-top:3px!important}
  .route-maint-agents{display:block!important}
  .route-maint-agents>span{display:block!important;margin-bottom:8px!important}
  .route-agent-miniatures{justify-content:flex-start!important}
}

/* Faro v3.6.150 · corrección responsive sin alterar desktop */
@media(max-width:780px){
  /* Capacidad: mismo lenguaje visual de Rutas. Texto a la izquierda y acción a la derecha. */
  .capacity-card-unified{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:10px 12px!important;
    padding:15px 16px!important;
    border-radius:20px!important;
  }
  .capacity-card-unified .capacity-card-copy{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    column-gap:7px!important;
    row-gap:3px!important;
    align-items:end!important;
  }
  .capacity-card-unified .capacity-card-copy>span{
    grid-column:1/-1!important;
    font-size:9px!important;
  }
  .capacity-card-unified .capacity-card-copy>strong{
    grid-column:1!important;
    font-size:25px!important;
  }
  .capacity-card-unified .capacity-card-copy>small{
    grid-column:2!important;
    font-size:9px!important;
    line-height:1.22!important;
    align-self:end!important;
    padding-bottom:2px!important;
  }
  .capacity-card-unified .btn,
  .capacity-card-unified .capacity-card-action{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
  }
  .capacity-card-unified .capacity-card-action .btn{
    min-width:118px!important;
    width:auto!important;
    min-height:44px!important;
    padding:8px 14px!important;
    font-size:11px!important;
  }
  .capacity-card-unified>.btn{
    min-width:118px!important;
    min-height:44px!important;
    padding:8px 14px!important;
    font-size:11px!important;
  }
  .capacity-card-unified.node-capacity-card .node-capacity-bar{
    grid-column:1/-1!important;
    grid-row:2!important;
    margin-top:0!important;
  }

  /* Rutas: forzar las tarjetas mobile para que nunca hereden el layout crudo. */
  .routes-card-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .route-capacity-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    padding:15px 16px!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94))!important;
    border:1px solid rgba(91,201,196,.22)!important;
  }
  .route-capacity-card>div{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    column-gap:7px!important;
    row-gap:3px!important;
    align-items:end!important;
    min-width:0!important;
  }
  .route-capacity-card span{grid-column:1/-1!important;font-size:9px!important}
  .route-capacity-card strong{grid-column:1!important;font-size:25px!important;white-space:nowrap!important}
  .route-capacity-card small{grid-column:2!important;font-size:9px!important;line-height:1.22!important;padding-bottom:2px!important}
  .route-capacity-card>.btn{justify-self:end!important;min-width:112px!important;padding:8px 12px!important;font-size:11px!important}

  .route-maint-card{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:15px!important;
    border:1px solid rgba(83,191,186,.22)!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,rgba(17,69,81,.92),rgba(8,45,56,.96))!important;
    box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
    overflow:hidden!important;
  }
  .route-maint-card:before{display:block!important;width:5px!important}
  .route-maint-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}
  .route-maint-kicker{font-size:8px!important;color:#7fc6c3!important}
  .route-maint-top h2{font-size:20px!important;line-height:1.12!important;margin:4px 0 0!important;color:#f4fbfc!important}
  .route-maint-card .status-pill{font-size:8px!important;padding:4px 8px!important;border-radius:999px!important}
  .route-maint-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:13px 0 9px!important;
  }
  .route-maint-stats>div{padding:9px 8px!important;border-radius:12px!important;background:rgba(3,33,43,.4)!important}
  .route-maint-stats span{font-size:7px!important}
  .route-maint-stats strong{font-size:10px!important;margin-top:3px!important;white-space:normal!important}
  .route-maint-preview{min-height:0!important;padding:9px 10px!important;border-radius:12px!important;background:rgba(3,33,43,.28)!important}
  .route-maint-preview>span{font-size:7px!important}
  .route-maint-preview p{font-size:10px!important;margin:4px 0 0!important;line-height:1.35!important}
  .route-maint-agents{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:9px 10px!important;margin-top:8px!important;border-radius:12px!important}
  .route-maint-agents>span{margin:0!important;font-size:7px!important}
  .route-agent-miniatures{justify-content:flex-end!important;gap:5px!important;flex-wrap:nowrap!important;overflow:hidden!important}
  .route-agent-mini{width:31px!important;height:31px!important;border-radius:9px!important;box-shadow:none!important;flex:0 0 auto!important}
  .route-agent-more{width:31px!important;height:31px!important;border-radius:9px!important;flex:0 0 auto!important}
  .route-maint-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:10px!important;
    padding-top:0!important;
  }
  .route-maint-actions form{display:contents!important}
  .route-maint-actions .btn{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:0 5px!important;
    font-size:9px!important;
    border-radius:11px!important;
    justify-content:center!important;
  }

  /* Footer: mantener el final visual pegado abajo; no alterar pull-to-refresh superior. */
  body.admin-body:not(.superadmin-body)>.admin-signature{
    position:sticky!important;
    bottom:0!important;
    z-index:38!important;
    margin-bottom:0!important;
    transform:none!important;
    background:#041e29!important;
  }
}

@media(min-width:781px){
  /* Nodos: contenido y botón en una sola línea; la barra queda como acento inferior. */
  .capacity-card-unified.node-capacity-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
  }
  .capacity-card-unified.node-capacity-card .capacity-card-copy{grid-column:1!important;grid-row:1!important}
  .capacity-card-unified.node-capacity-card .capacity-card-action{grid-column:2!important;grid-row:1!important;justify-self:end!important}
  .capacity-card-unified.node-capacity-card .node-capacity-bar{grid-column:1/-1!important;grid-row:2!important}
}

/* Faro v3.6.151 · ajustes puntuales y calendario */
body.admin-body:not(.superadmin-body) .route-add-existing .empty-state{
  background:#0b3541!important;border:1px solid rgba(105,208,198,.18)!important;color:#9eb8bf!important;border-radius:14px!important;padding:18px!important;line-height:1.45!important;
}
body.admin-body:not(.superadmin-body) .route-add-existing .empty-state a{color:#72d7cf!important;font-weight:850!important}
body.admin-body:not(.superadmin-body) .node-search-shell{border-radius:16px!important;overflow:hidden!important}
body.admin-body:not(.superadmin-body) .node-search-shell input{border-radius:14px!important;border:0!important;clip-path:inset(0 round 14px)!important}
.calendar-month-toolbar{position:sticky;top:84px;z-index:6;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 14px;padding:8px;border:1px solid rgba(105,208,198,.17);border-radius:16px;background:rgba(7,42,52,.96);box-shadow:0 10px 24px rgba(0,0,0,.14);backdrop-filter:blur(10px)}
.calendar-month-form{margin:0}.calendar-month-form input[type=month]{height:40px;min-width:180px;padding:7px 10px;border:1px solid rgba(118,190,198,.2)!important;border-radius:11px!important;background:#082a34!important;color:#eef8f9!important;font-weight:800!important}
.calendar-month-arrow,.calendar-print-btn,.calendar-download-btn{width:42px!important;min-width:42px!important;height:40px!important;min-height:40px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:11px!important;font-size:15px!important}
.calendar-month-arrow:disabled{opacity:.35!important;cursor:default!important}
/* Footer natural: ocupa el final del viewport pero nunca queda flotando/sticky. */
body.admin-body:not(.superadmin-body){min-height:100dvh!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important}
body.admin-body:not(.superadmin-body)>.admin-layout{flex:1 0 auto!important;min-height:0!important}
body.admin-body:not(.superadmin-body)>.admin-signature{position:static!important;bottom:auto!important;z-index:auto!important;flex:0 0 auto!important;margin-top:auto!important;transform:none!important;background:#041e29!important}
@media(max-width:780px){
  .calendar-month-toolbar{top:76px;gap:6px;padding:7px;width:100%;justify-content:space-between}
  .calendar-month-form{flex:1 1 auto;min-width:0}.calendar-month-form input[type=month]{width:100%;min-width:0;height:40px;font-size:11px!important}
  .calendar-month-arrow,.calendar-download-btn{width:40px!important;min-width:40px!important}.calendar-print-btn{display:none!important}
}

/* Faro v3.6.152 · ajustes aislados: calendario, miniaturas, ruta vacía y footer */
body.admin-body:not(.superadmin-body) .route-node-empty{
  padding:18px!important;
  text-align:center!important;
  color:#a9c1c6!important;
  background:#082f3a!important;
  border:1px dashed rgba(105,208,198,.24)!important;
  border-radius:14px!important;
  line-height:1.5!important;
}
body.admin-body:not(.superadmin-body) .route-node-empty a{color:#72d7cf!important;font-weight:850!important;text-decoration:none!important}

/* Miniaturas verticales: siempre retrato, incluso si la foto original es cuadrada. */
body.admin-body:not(.superadmin-body) .route-agent-mini{
  width:34px!important;height:44px!important;border-radius:10px!important;
  overflow:hidden!important;background:#082a34!important;border:2px solid var(--agent-color,#4E67A8)!important;
}
body.admin-body:not(.superadmin-body) .route-agent-mini img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
body.admin-body:not(.superadmin-body) .route-agent-more{width:34px!important;height:44px!important;border-radius:10px!important}
body.admin-body:not(.superadmin-body) .route-agent-choice-photo{
  width:38px!important;height:50px!important;border-radius:11px!important;overflow:hidden!important;
}
body.admin-body:not(.superadmin-body) .route-agent-choice-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* Calendario: todos los controles en una única línea. */
body.admin-body:not(.superadmin-body) .calendar-month-toolbar{
  display:grid!important;
  grid-template-columns:42px minmax(150px,220px) 42px 42px 42px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:7px!important;
}
body.admin-body:not(.superadmin-body) .calendar-month-form{min-width:0!important;width:100%!important}
body.admin-body:not(.superadmin-body) .calendar-month-form input[type=month]{width:100%!important;min-width:0!important;margin:0!important}
body.admin-body:not(.superadmin-body) .calendar-month-arrow,
body.admin-body:not(.superadmin-body) .calendar-print-btn,
body.admin-body:not(.superadmin-body) .calendar-download-btn{margin:0!important;align-self:center!important}
body.admin-body:not(.superadmin-body) .calendar-print-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}

@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .calendar-month-toolbar{
    grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
    width:100%!important;
    gap:6px!important;
  }
  body.admin-body:not(.superadmin-body) .calendar-print-btn{display:none!important;visibility:hidden!important;width:0!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important}
  body.admin-body:not(.superadmin-body) .calendar-month-form input[type=month]{height:40px!important;font-size:12px!important;text-align:center!important}
  body.admin-body:not(.superadmin-body) .route-agent-mini{width:31px!important;height:41px!important;border-radius:9px!important}
  body.admin-body:not(.superadmin-body) .route-agent-more{width:31px!important;height:41px!important;border-radius:9px!important}

  /* El footer permanece en el flujo normal; nunca sticky/fixed. */
  body.admin-body:not(.superadmin-body)>.admin-signature{
    position:static!important;inset:auto!important;bottom:auto!important;top:auto!important;
    margin-top:auto!important;margin-bottom:0!important;transform:none!important;z-index:auto!important;
  }
}

/* Faro v3.6.153 · Calendario estable + mantenedor de Supervisores */
@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .calendar-month-toolbar{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 40px 40px!important;
    grid-template-rows:40px!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.admin-body:not(.superadmin-body) .calendar-prev{grid-column:1!important;grid-row:1!important;position:static!important;transform:none!important}
  body.admin-body:not(.superadmin-body) .calendar-month-form{grid-column:2!important;grid-row:1!important;min-width:0!important}
  body.admin-body:not(.superadmin-body) .calendar-next{grid-column:3!important;grid-row:1!important;position:static!important;transform:none!important;inset:auto!important}
  body.admin-body:not(.superadmin-body) .calendar-download-btn{grid-column:4!important;grid-row:1!important;position:static!important;transform:none!important;inset:auto!important}
  body.admin-body:not(.superadmin-body) .calendar-print-btn{display:none!important}
}
.supervisor-capacity-card{margin-bottom:18px!important}
.supervisor-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.supervisor-card{position:relative;overflow:hidden;padding:17px;border:1px solid rgba(83,191,186,.22);border-radius:20px;background:linear-gradient(145deg,rgba(17,69,81,.92),rgba(8,45,56,.96));box-shadow:0 16px 38px rgba(0,0,0,.13)}
.supervisor-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#42c8bf}.supervisor-card.is-inactive{opacity:.68;filter:saturate(.55)}.supervisor-card.is-inactive:before{background:#879397}
.supervisor-card-top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px}.supervisor-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#0a303a;border:1px solid rgba(112,211,204,.22);color:#dff8f5;font-weight:900;font-size:15px}.supervisor-card-title{min-width:0}.supervisor-card-title>span{display:block;color:#72d7cf;font-size:8px;font-weight:900;letter-spacing:.11em}.supervisor-card-title h2{margin:3px 0 2px;color:#fff;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supervisor-card-title p{margin:0;color:#8eabb0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supervisor-card .status-pill{border-radius:999px!important}
.supervisor-card-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.supervisor-card-data>div{padding:10px 11px;border-radius:13px;background:#082f39;border:1px solid rgba(119,190,196,.11)}.supervisor-card-data span{display:block;color:#7699a0;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.supervisor-card-data strong{display:block;margin-top:4px;color:#f1f8f9;font-size:10px;line-height:1.3}.supervisor-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:13px}.supervisor-card-actions form{display:contents}.supervisor-card-actions .btn{width:100%!important;min-width:0!important}
.supervisor-modal{padding:0!important;overflow:hidden!important;background:#082e39!important;border:1px solid rgba(102,204,197,.22)!important;color:#edf8f9!important;width:min(620px,calc(100vw - 24px))!important;max-height:min(88dvh,760px)!important}.supervisor-modal-head{margin:0!important;padding:17px 19px 14px!important;background:#0a3541!important;border-bottom:1px solid rgba(110,200,199,.15)!important}.supervisor-modal-head h2{margin:3px 0 0;color:#fff!important}.supervisor-modal-scroll{padding:18px 19px 20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.supervisor-modal .form-grid label{color:#b9ced2!important}.supervisor-modal input{background:#082a34!important;border-color:rgba(120,192,198,.18)!important;color:#fff!important}.supervisor-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.supervisor-detail-grid>div{padding:13px;border-radius:14px;background:#0a3541;border:1px solid rgba(118,197,200,.14)}.supervisor-detail-grid span{display:block;color:#7da1a7;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.supervisor-detail-grid strong{display:block;margin-top:5px;color:#f2fbfb;font-size:11px}.supervisor-empty{grid-column:1/-1}
@media(max-width:780px){.supervisor-card-grid{grid-template-columns:1fr}.supervisor-card{padding:15px}.supervisor-card-top{grid-template-columns:44px minmax(0,1fr) auto}.supervisor-avatar{width:44px;height:44px;border-radius:12px}.supervisor-card-title h2{font-size:16px}.supervisor-card-actions{gap:6px}.supervisor-card-actions .btn{font-size:9px!important;padding-left:4px!important;padding-right:4px!important}.supervisor-detail-grid{grid-template-columns:1fr}}

/* Faro v3.6.155 · Reportería responsive */
.report-main-v2{min-width:0}.report-page-head-v2{align-items:flex-end}.report-builder-card{margin-bottom:16px;padding:16px;border:1px solid rgba(93,198,194,.2);border-radius:20px;background:linear-gradient(145deg,rgba(16,69,81,.93),rgba(8,45,56,.97));box-shadow:0 14px 34px rgba(0,0,0,.12)}
.report-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}.report-presets>span{color:#8fb1b7;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-right:3px}.report-presets a{padding:7px 10px;border:1px solid rgba(105,199,197,.18);border-radius:999px;background:#0b3440;color:#dff4f4;text-decoration:none;font-size:9px;font-weight:800}.report-presets a:hover{border-color:#56d0c8;color:#fff}
.report-filter-form-v2{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px}.report-filter-form-v2 label{display:grid;gap:5px}.report-filter-form-v2 label>span{font-size:9px;color:#a9c4c9;font-weight:850}.report-filter-form-v2 input,.report-filter-form-v2 select{height:40px;padding:0 10px;border:1px solid rgba(117,190,196,.18);border-radius:11px;background:#082d38;color:#eefafa;min-width:0}.report-filter-actions-v2{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.report-export-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(112,200,198,.13)}.report-export-row>div:first-child{display:flex;flex-direction:column;gap:2px}.report-export-row strong{color:#f4fbfc}.report-export-row span{color:#8eaeb4;font-size:9px}.report-export-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.hidden-print-frame{position:fixed!important;width:1px!important;height:1px!important;left:-10000px!important;top:-10000px!important;border:0!important;opacity:0!important;pointer-events:none!important}
.report-kpis-v2{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.report-kpis-v2 article{padding:13px 14px;border:1px solid rgba(105,192,196,.17);border-radius:16px;background:#0d3b46;min-width:0}.report-kpis-v2 article.good{border-color:rgba(62,167,121,.35);background:linear-gradient(145deg,#0e453f,#0d3942)}.report-kpis-v2 article.warn{border-color:rgba(218,156,38,.38);background:linear-gradient(145deg,#55421c,#123b43)}.report-kpis-v2 article.bad{border-color:rgba(213,82,95,.34);background:linear-gradient(145deg,#4c2731,#123943)}.report-kpis-v2 span,.report-kpis-v2 small{display:block;color:#8cabb1}.report-kpis-v2 span{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.report-kpis-v2 strong{display:block;color:#fff;font-size:24px;line-height:1.1;margin:5px 0 3px}.report-kpis-v2 small{font-size:8px}
.report-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.report-insight-panel{margin:0!important;background:#0d3b46!important;border-color:rgba(105,192,196,.17)!important}.report-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}.report-section-head h2{margin:3px 0 0;color:#f4fbfc}.report-summary-cards{display:grid;gap:8px}.report-summary-cards article{padding:11px 12px;border:1px solid rgba(109,187,193,.14);border-radius:13px;background:#092f3a}.report-summary-cards article>div:first-child{display:flex;justify-content:space-between;gap:10px}.report-summary-cards strong{color:#fff;font-size:11px}.report-summary-cards span,.report-summary-cards small{color:#86a7ad;font-size:8px}.report-summary-cards small{display:block;margin-top:5px}.report-rate{display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:center;margin-top:7px}.report-rate b{color:#55d0c8;font-size:12px}.report-rate i,.report-day-bars i{display:block;height:7px;border-radius:999px;background:#163f49;overflow:hidden}.report-rate em,.report-day-bars em{display:block;height:100%;border-radius:999px;background:#50c9c3}
.report-rounds-panel,.report-incidents-panel{margin-bottom:12px!important}.report-round-card-list{display:grid;gap:8px}.report-round-card{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(220px,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(109,187,193,.15);border-radius:15px;background:#0a3540}.report-round-main span,.report-round-main small{display:block;color:#87a7ad;font-size:8px}.report-round-main strong{display:block;color:#fff;font-size:12px;margin:2px 0}.report-round-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.report-round-metrics span{padding:7px;border-radius:10px;background:#082c36;color:#7f9fa5;font-size:7px;text-transform:uppercase}.report-round-metrics b{display:block;color:#eaf7f7;font-size:10px;text-transform:none;margin-bottom:2px}.report-round-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.report-round-actions .status-pill{white-space:nowrap}.status-pill.complete{background:#2a9a72;color:#fff}.status-pill.incomplete{background:#d34e60;color:#fff}.status-pill.cancelled{background:#d69a26;color:#fff}.status-pill.in_progress{background:#3583a0;color:#fff}
.report-day-bars{display:grid;gap:9px}.report-day-bars>div{display:grid;grid-template-columns:78px 1fr 30px;align-items:center;gap:8px}.report-day-bars span{font-size:8px;color:#8caab0}.report-day-bars b{font-size:9px;color:#fff;text-align:right}.report-issue-cards,.report-incident-cards{display:grid;gap:8px}.report-issue-cards article,.report-incident-cards article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgba(110,190,195,.14);border-radius:12px;background:#092f3a}.report-issue-cards strong,.report-incident-cards strong{display:block;color:#f4fbfc;font-size:10px}.report-issue-cards span,.report-incident-cards span,.report-incident-cards small{display:block;color:#82a3a9;font-size:8px}.report-issue-cards b{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#57303a;color:#ffccd2}.report-empty-dark{padding:20px;border:1px dashed rgba(117,190,196,.18);border-radius:13px;color:#84a6ac;text-align:center;font-size:10px;background:#092f3a}
@media(max-width:1080px){.report-filter-form-v2{grid-template-columns:repeat(3,minmax(0,1fr))}.report-kpis-v2{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.report-page-head-v2{display:block}.report-page-head-v2>.btn{margin-top:10px;width:100%;text-align:center}.report-builder-card{padding:13px;border-radius:17px}.report-presets{display:grid;grid-template-columns:repeat(2,1fr)}.report-presets>span{grid-column:1/-1}.report-presets a{text-align:center}.report-filter-form-v2{grid-template-columns:1fr 1fr;gap:8px}.report-filter-form-v2 label:nth-of-type(3),.report-filter-form-v2 label:nth-of-type(4),.report-filter-form-v2 label:nth-of-type(5),.report-filter-form-v2 label:nth-of-type(6){grid-column:span 1}.report-filter-actions-v2{grid-column:1/-1}.report-filter-actions-v2 .btn{flex:1;text-align:center}.report-export-row{align-items:stretch;flex-direction:column}.report-export-actions{display:grid;grid-template-columns:1fr 1fr}.report-export-actions .btn{justify-content:center;text-align:center;min-width:0}.report-print-btn{display:none!important}.report-kpis-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-kpis-v2 article{padding:11px}.report-kpis-v2 strong{font-size:21px}.report-insight-grid{grid-template-columns:1fr}.report-summary-cards article>div:first-child{display:block}.report-round-card{grid-template-columns:1fr;gap:9px;padding:12px}.report-round-metrics{grid-template-columns:repeat(3,1fr)}.report-round-actions{justify-content:space-between}.report-round-actions .btn{min-width:105px}.report-incident-cards article{align-items:flex-start}.report-filter-form-v2 input,.report-filter-form-v2 select{font-size:12px}.report-day-bars>div{grid-template-columns:70px 1fr 25px}}

/* Faro v3.6.155 · Reportes programados */
.schedule-health-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:14px;border:1px solid rgba(91,201,196,.22);border-radius:18px;background:linear-gradient(135deg,rgba(20,79,91,.88),rgba(9,50,62,.94))}.schedule-health-card>div:first-child{display:flex;flex-direction:column;gap:3px}.schedule-health-card span{color:#72d7cf;font-size:9px;font-weight:900;letter-spacing:.1em}.schedule-health-card strong{color:#fff;font-size:17px}.schedule-health-card small{color:#a4c0c5;font-size:9px}.schedule-health-badge{padding:8px 11px;border-radius:999px;background:#0a3340;color:#dff5f3;font-size:9px;font-weight:850;border:1px solid rgba(99,196,192,.18)}
.report-schedule-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:14px}.report-schedule-form-card,.report-schedule-list-card{margin:0!important;background:#0d3b46!important;border-color:rgba(105,192,196,.17)!important}.report-schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-schedule-form label{display:grid;gap:5px}.report-schedule-form label>span{font-size:9px;color:#a8c4c8;font-weight:850}.report-schedule-form input,.report-schedule-form select,.report-schedule-form textarea{width:100%;padding:10px 11px;border:1px solid rgba(117,190,196,.18);border-radius:12px;background:#082d38;color:#eefafa}.schedule-recipient-field,.schedule-format-box,.schedule-save-btn{grid-column:1/-1}.schedule-recipient-field small{color:#789ca3;font-size:8px}.schedule-format-box{display:grid;grid-template-columns:1fr 1fr;gap:8px}.schedule-format-option{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;padding:10px 11px;border:1px solid rgba(117,190,196,.16);border-radius:13px;background:#092f39}.schedule-format-option input{width:16px!important;height:16px!important;padding:0!important}.schedule-format-option span{display:block!important}.schedule-format-option strong{display:block;color:#fff;font-size:10px}.schedule-format-option small{display:block;color:#7fa0a7;font-size:8px;margin-top:2px}.schedule-card-list{display:grid;gap:9px}.schedule-card{padding:12px;border:1px solid rgba(113,190,194,.15);border-radius:15px;background:#092f3a}.schedule-card.is-paused{opacity:.68}.schedule-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.schedule-card-top>div>span{display:block;color:#72d7cf;font-size:8px;font-weight:850}.schedule-card-top strong{display:block;color:#fff;font-size:13px;margin-top:3px}.schedule-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.schedule-card-meta>div{padding:8px;border-radius:10px;background:#082b35}.schedule-card-meta span,.schedule-card-recipients span{display:block;color:#7699a0;font-size:7px;text-transform:uppercase;font-weight:850}.schedule-card-meta strong{display:block;color:#eaf7f7;font-size:9px;margin-top:3px}.schedule-card-recipients{margin-top:8px;padding:8px;border-radius:10px;background:#082b35}.schedule-card-recipients p{margin:3px 0 0;color:#d8ebed;font-size:9px;overflow-wrap:anywhere}.schedule-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.schedule-card-actions form,.schedule-card-actions .btn{width:100%}.schedule-card-actions .btn{justify-content:center}
@media(max-width:850px){.report-schedule-layout{grid-template-columns:1fr}.report-schedule-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.schedule-health-card{display:block}.schedule-health-badge{display:inline-block;margin-top:10px}.report-schedule-form{grid-template-columns:1fr}.report-schedule-form label,.schedule-recipient-field,.schedule-format-box,.schedule-save-btn{grid-column:1!important}.schedule-format-box{grid-template-columns:1fr}.schedule-card-meta{grid-template-columns:1fr}.schedule-card-actions{grid-template-columns:1fr 1fr}.report-schedules-head>.btn{width:100%;margin-top:10px;text-align:center}}

/* Faro v3.6.155 · Reportería y programaciones */
.report-auto-filter-note{align-self:center;margin-right:auto;color:#79a6ad;font-size:9px;font-weight:750}
.report-filter-actions-v2 .btn.danger{background:#d33f52!important;color:#fff!important;border-color:#d33f52!important;box-shadow:0 8px 20px rgba(211,63,82,.18)}
.report-export-row-clean{align-items:center!important}
.report-export-hint{color:#84a8ae!important;font-size:9px!important;text-align:right;max-width:480px}
.report-round-actions .js-report-round-detail{min-width:108px;background:#27b7ac!important;color:#fff!important;border-color:#27b7ac!important}
.report-round-detail-modal{z-index:10040!important}
.report-round-detail-card{width:min(1040px,94vw)!important;max-width:1040px!important;height:min(88vh,900px)!important;display:flex!important;flex-direction:column!important;background:#07323d!important;border:1px solid rgba(94,201,195,.25)!important;border-radius:22px!important;overflow:hidden!important}
.report-round-detail-head{flex:0 0 auto!important;background:#0c4450!important;border-bottom:1px solid rgba(109,203,197,.2)!important}
.report-round-modal-tools{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.report-round-modal-tools .btn{min-width:105px!important;justify-content:center!important;color:#fff!important;font-weight:850!important}
.report-round-modal-tools .btn.info{background:#298fb6!important;border-color:#298fb6!important;color:#fff!important}
.report-round-detail-stage{position:relative!important;flex:1 1 auto!important;min-height:0!important;background:#eef4f5!important}
.report-round-detail-stage iframe{display:block!important;width:100%!important;height:100%!important;border:0!important;background:#fff!important}
.report-round-detail-loading{position:absolute!important;inset:0!important;z-index:2!important;display:grid!important;place-items:center!important;background:#07323d!important;color:#bdd6d9!important;font-weight:800!important}
.report-round-detail-loading.hidden{display:none!important}
.schedule-health-card-v2{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:17px 19px!important;border:1px solid rgba(95,202,196,.22)!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(18,77,89,.95),rgba(8,45,56,.98))!important;margin-bottom:14px!important}
.schedule-health-main{display:flex!important;align-items:center!important;gap:13px!important;min-width:0!important}.schedule-health-icon{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;flex:0 0 auto!important;border-radius:15px!important;background:rgba(76,208,198,.12)!important;border:1px solid rgba(85,213,204,.2)!important;font-size:22px!important}.schedule-health-main>div>span{display:block!important;color:#72d7cf!important;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important}.schedule-health-main strong{display:block!important;color:#fff!important;font-size:17px!important;margin-top:2px!important}.schedule-health-main small{display:block!important;color:#93b4b9!important;font-size:9px!important;margin-top:4px!important;line-height:1.45!important}.schedule-health-badge{flex:0 0 auto!important;padding:9px 12px!important;border-radius:999px!important;background:#082d37!important;color:#dff6f4!important;border:1px solid rgba(95,201,195,.18)!important;font-size:9px!important;font-weight:850!important}
.report-schedules-head-actions{display:flex!important;align-items:center!important;gap:8px!important}.report-schedule-list-full{margin:0!important;background:#0d3b46!important;border-color:rgba(105,192,196,.17)!important}.schedule-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.schedule-card{box-shadow:0 10px 24px rgba(0,0,0,.08)!important}.report-schedule-modal{width:min(720px,94vw)!important;max-height:88vh!important;background:#07323d!important;border:1px solid rgba(95,202,196,.23)!important;border-radius:22px!important;overflow:hidden!important}.report-schedule-modal-scroll{padding:16px!important;overflow:auto!important}.report-schedule-form-v2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:11px!important}.report-schedule-form-v2 label{display:grid!important;gap:6px!important}.report-schedule-form-v2 label>span{font-size:9px!important;color:#a8c4c8!important;font-weight:850!important}.report-schedule-form-v2 input,.report-schedule-form-v2 select,.report-schedule-form-v2 textarea{width:100%!important;padding:11px 12px!important;border:1px solid rgba(117,190,196,.2)!important;border-radius:13px!important;background:#082d38!important;color:#eefafa!important;outline:none!important}.report-schedule-form-v2 input:focus,.report-schedule-form-v2 select:focus,.report-schedule-form-v2 textarea:focus{border-color:#4dcfc5!important;box-shadow:0 0 0 3px rgba(77,207,197,.1)!important}.report-schedule-form-v2 .schedule-recipient-field,.report-schedule-form-v2 .schedule-pdf-only,.report-schedule-form-v2 .schedule-save-btn{grid-column:1/-1!important}.schedule-pdf-only{display:flex!important;align-items:center!important;gap:12px!important;padding:13px!important;border-radius:15px!important;background:#092f39!important;border:1px solid rgba(117,190,196,.17)!important}.schedule-pdf-icon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;flex:0 0 auto!important;border-radius:13px!important;background:#0d4550!important;font-size:20px!important}.schedule-pdf-only strong{display:block!important;color:#fff!important;font-size:11px!important}.schedule-pdf-only small{display:block!important;color:#82a5aa!important;font-size:9px!important;margin-top:3px!important;line-height:1.4!important}
@media(max-width:780px){
 .report-export-hint{text-align:left!important;max-width:none!important}.report-auto-filter-note{display:none!important}.report-filter-actions-v2{justify-content:stretch!important}.report-filter-actions-v2 .btn{width:100%!important}
 .report-round-modal-tools{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;margin-top:8px!important}.report-round-modal-tools [data-close-report-round]{grid-column:1/-1!important}.report-round-detail-card{width:96vw!important;height:90vh!important;border-radius:19px!important}.report-round-detail-head{display:block!important}.report-round-detail-head>div:first-child{max-width:none!important}
 .report-schedules-head-actions{display:grid!important;grid-template-columns:1fr!important;margin-top:10px!important}.report-schedules-head-actions .btn{width:100%!important;justify-content:center!important}.schedule-health-card-v2{display:block!important}.schedule-health-badge{display:inline-flex!important;margin-top:12px!important}.schedule-card-grid{grid-template-columns:1fr!important}.report-schedule-form-v2{grid-template-columns:1fr!important}.report-schedule-form-v2 label,.report-schedule-form-v2 .schedule-recipient-field,.report-schedule-form-v2 .schedule-pdf-only,.report-schedule-form-v2 .schedule-save-btn{grid-column:1!important}
}

/* Faro v3.6.156 · Ajustes homogéneos + Reportería robusta */
body.admin-tab-settings .page-head,
body.admin-tab-health .page-head,
body.admin-tab-devices .page-head,
body.admin-tab-sessions .page-head,
body.admin-tab-audit .page-head,
body.admin-tab-activity .page-head,
body.admin-tab-imports .page-head{margin-bottom:16px!important}
body.admin-tab-settings .panel,
body.admin-tab-health .panel,
body.admin-tab-devices .panel,
body.admin-tab-sessions .panel,
body.admin-tab-audit .panel,
body.admin-tab-activity .panel,
body.admin-tab-imports .panel{
  border-radius:20px!important;border:1px solid rgba(97,193,194,.18)!important;
  background:linear-gradient(145deg,rgba(14,59,70,.96),rgba(8,45,56,.98))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.10)!important;color:#eaf7f8!important;
}
body.admin-tab-settings .panel h2,body.admin-tab-health .panel h2,body.admin-tab-devices .panel h2,
body.admin-tab-sessions .panel h2,body.admin-tab-audit .panel h2,body.admin-tab-activity .panel h2,body.admin-tab-imports .panel h2{color:#f4fbfc!important}
body.admin-tab-settings .form-grid label,body.admin-tab-imports .form-grid label{display:grid!important;gap:6px!important;color:#a9c3c8!important;font-size:10px!important;font-weight:850!important}
body.admin-tab-settings .form-grid input,body.admin-tab-settings .form-grid select,body.admin-tab-settings .form-grid textarea,
body.admin-tab-imports .form-grid input,body.admin-tab-imports .form-grid select,
body.admin-tab-audit .filter-row input,body.admin-tab-audit .filter-row select{
  border-radius:13px!important;background:#082d38!important;border:1px solid rgba(117,190,196,.19)!important;color:#fff!important;padding:11px 12px!important
}
body.admin-tab-settings .round-window-settings-panel{padding:18px!important}
body.admin-tab-settings .round-window-settings-form{display:grid!important;grid-template-columns:minmax(130px,1fr) 30px minmax(130px,1fr) auto!important;gap:10px!important;align-items:end!important}
body.admin-tab-settings .round-window-settings-form label{display:grid!important;gap:6px!important;color:#a9c3c8!important;font-size:10px!important;font-weight:850!important}
body.admin-tab-settings .round-window-arrow{display:grid!important;place-items:center!important;height:42px!important;color:#72d7cf!important;font-size:18px!important}
body.admin-tab-settings .account-row{border:1px solid rgba(116,191,196,.15)!important;background:#092f39!important;border-radius:15px!important;padding:13px!important}
body.admin-tab-settings .password-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
body.admin-tab-settings .btn.blue,body.admin-tab-devices .btn.blue,body.admin-tab-audit .btn.blue,body.admin-tab-imports .btn.blue{background:#27b7ac!important;border-color:#27b7ac!important;color:#fff!important}
body.admin-tab-health .health-kpis{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin-bottom:16px!important}
body.admin-tab-health .health-kpis>div{padding:14px!important;border-radius:16px!important;background:#0b3743!important;border:1px solid rgba(111,195,197,.15)!important}
body.admin-tab-health .health-row{border-radius:14px!important;background:#092f39!important;border:1px solid rgba(111,195,197,.12)!important;padding:11px 12px!important;margin:7px 0!important}
body.admin-tab-health .empty-state,body.admin-tab-devices .empty-state,body.admin-tab-activity .empty-state{background:#092f39!important;border:1px dashed rgba(111,195,197,.18)!important;color:#90adb2!important;border-radius:14px!important}
body.admin-tab-devices .terminal-request-card{background:#092f39!important;border:1px solid rgba(111,195,197,.15)!important;border-radius:15px!important;padding:12px!important}
body.admin-tab-devices .device-authorize-card{display:grid!important;gap:10px!important}
body.admin-tab-devices #authorizeDevice{justify-self:start!important}
body.admin-tab-activity .activity-feed{display:grid!important;gap:9px!important}
body.admin-tab-activity .activity-feed article{padding:13px 14px!important;border-radius:15px!important;background:#092f39!important;border:1px solid rgba(111,195,197,.13)!important}
body.admin-tab-activity .activity-feed article span{color:#72d7cf!important;font-size:8px!important;font-weight:900!important;letter-spacing:.09em!important}
body.admin-tab-activity .activity-feed article strong{display:block!important;margin:4px 0!important}
body.admin-tab-sessions .table-wrap,body.admin-tab-audit .table-wrap,body.admin-tab-devices .table-wrap{border-radius:16px!important;overflow:hidden!important;border:1px solid rgba(111,195,197,.14)!important}
body.admin-tab-audit .filter-row{display:grid!important;grid-template-columns:1fr 1fr minmax(180px,1.2fr) auto!important;gap:10px!important;align-items:end!important}
body.admin-tab-imports .two-col>section{min-height:260px!important}.admin-tab-imports .panel>.btn{margin:8px 0 14px!important}

/* Reportería: controles globales muy contrastados y un único PDF para imprimir/descargar. */
.report-export-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.report-export-actions .btn.primary{background:#26b8ad!important;border-color:#26b8ad!important;color:#fff!important;box-shadow:0 7px 18px rgba(38,184,173,.18)!important}
.report-export-actions .btn.info{background:#2e93b4!important;border-color:#2e93b4!important;color:#fff!important;box-shadow:0 7px 18px rgba(46,147,180,.18)!important}
.report-global-print-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}

/* Footer v3.6.156: flujo natural + clamp inferior en móvil; nunca sticky/fixed. */
body.admin-body:not(.superadmin-body){min-height:100dvh!important}
body.admin-body:not(.superadmin-body)>.admin-signature{position:static!important;inset:auto!important;transform:none!important;margin-bottom:0!important;flex:none!important}
@media(max-width:780px){
  body.admin-tab-settings .round-window-settings-form{grid-template-columns:1fr 24px 1fr!important}
  body.admin-tab-settings .round-window-settings-form .btn{grid-column:1/-1!important;width:100%!important;justify-content:center!important}
  body.admin-tab-settings .two-col{display:grid!important;grid-template-columns:1fr!important}
  body.admin-tab-health .health-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-health .health-kpis>div:last-child{grid-column:1/-1!important}
  body.admin-tab-audit .filter-row{grid-template-columns:1fr 1fr!important}
  body.admin-tab-audit .filter-row label:nth-of-type(3),body.admin-tab-audit .filter-row .btn{grid-column:1/-1!important}
  body.admin-tab-sessions table,body.admin-tab-audit table,body.admin-tab-devices table{display:block!important;background:transparent!important}
  body.admin-tab-sessions thead,body.admin-tab-audit thead,body.admin-tab-devices thead{display:none!important}
  body.admin-tab-sessions tbody,body.admin-tab-audit tbody,body.admin-tab-devices tbody{display:grid!important;gap:10px!important;padding:8px!important}
  body.admin-tab-sessions tr,body.admin-tab-audit tr,body.admin-tab-devices tr{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:12px!important;border-radius:14px!important;background:#092f39!important;border:1px solid rgba(111,195,197,.14)!important}
  body.admin-tab-sessions td,body.admin-tab-audit td,body.admin-tab-devices td{display:grid!important;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)!important;gap:8px!important;border:0!important;padding:3px 0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.admin-tab-sessions td::before,body.admin-tab-audit td::before,body.admin-tab-devices td::before{content:attr(data-label);color:#789da4!important;font-size:8px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.07em!important}
  .report-export-row-clean{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .report-export-actions{display:grid!important;grid-template-columns:1fr!important}.report-global-print{display:none!important}.report-global-download{width:100%!important;justify-content:center!important}
}
body.admin-reporting-body .admin-signature{position:static!important;inset:auto!important;transform:none!important;margin-bottom:0!important}


/* Faro v3.6.157 · criterio de fecha operativa */
body.admin-tab-settings .service-date-mode-select{min-height:44px!important;border-radius:13px!important;background:#082d37!important;border:1px solid rgba(116,191,196,.22)!important;color:#eef9f9!important}
body.admin-tab-settings .service-date-mode-select:focus{border-color:#54cfc6!important;box-shadow:0 0 0 3px rgba(84,207,198,.12)!important;outline:none!important}

/* Faro v3.6.158 · Detalle de ronda: impresión oculta + todas las evidencias */
.patrol-print-hidden-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}
.point-photo-gallery{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important;max-width:180px!important}
.point-photo-gallery .point-photo-thumb{margin:0!important}
.point-message .point-note+.point-note{margin-top:5px!important}

/* Footer de Supervisor: mantener siempre en el flujo natural, nunca sticky/fixed. */
body.admin-body:not(.superadmin-body){min-height:100dvh!important}
body.admin-body:not(.superadmin-body)>.admin-signature{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;margin-top:auto!important;margin-bottom:0!important;z-index:auto!important;flex:none!important}

/* Faro v3.6.159 · Incidencias ordenadas dentro de cada nodo */
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message{
  align-items:stretch!important;
  justify-content:flex-start!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incidents-stack{
  display:grid!important;
  gap:7px!important;
  width:100%!important;
  max-width:430px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  gap:9px!important;
  align-items:center!important;
  width:100%!important;
  padding:8px 9px!important;
  border:1px solid rgba(113,198,195,.16)!important;
  border-radius:12px!important;
  background:rgba(5,39,48,.76)!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-copy{min-width:0!important}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-head{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin-bottom:3px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-head strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:rgba(73,208,200,.12)!important;
  border:1px solid rgba(73,208,200,.28)!important;
  color:#75ddd6!important;
  font-size:8px!important;
  letter-spacing:.03em!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-head span{
  color:#d8e9eb!important;
  font-size:8px!important;
  font-weight:800!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-copy p{
  margin:0!important;
  color:#f0f8f9!important;
  font-size:9px!important;
  line-height:1.3!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-copy>span{
  display:block!important;
  margin-top:3px!important;
  color:#789da4!important;
  font-size:7px!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-photo{
  width:58px!important;
  height:46px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#082d37!important;
  cursor:pointer!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-no-photo{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  min-height:42px!important;
  border:1px dashed rgba(135,171,177,.28)!important;
  border-radius:10px!important;
  color:#789da4!important;
  font-size:7px!important;
}
@media(max-width:760px){
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-card{
    grid-template-columns:32px minmax(0,1fr) 64px!important;
    grid-template-areas:"order body side" "order message message"!important;
  }
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-message{grid-area:message!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incidents-stack{max-width:none!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-item{grid-template-columns:minmax(0,1fr) 54px!important}
  body.admin-body:not(.superadmin-body) .patrol-detail-card .point-incident-photo{width:54px!important;height:44px!important}
}

/* Footer: mantenerlo dentro del flujo normal en esta entrega. */
body.admin-body:not(.superadmin-body)>.admin-signature{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin-top:auto!important;
  margin-bottom:0!important;
}

/* Faro v3.6.160 · Acciones de informe en detalle de ronda */
.patrol-report-tools{display:flex;align-items:center;gap:8px}
#patrolPrintBtn.btn.primary{background:var(--primary,#28b8ad)!important;color:#fff!important;border-color:transparent!important}
#patrolDownloadBtn.btn.info{min-width:auto!important}
@media(max-width:780px){
  .patrol-print-desktop{display:none!important}
  .patrol-report-tools{gap:7px!important}
  #patrolDownloadBtn{display:inline-flex!important;padding-inline:12px!important}
}

/* Faro v3.6.161 · Resumen diario: resumen por agente e incidencias más legibles */
.shift-agent-summary-panel{margin:0 0 16px;padding:16px;border:1px solid rgba(90,194,191,.18);border-radius:18px;background:linear-gradient(180deg,rgba(16,72,84,.82),rgba(7,46,57,.88))}
.shift-agent-summary-panel .shift-section-head{margin-bottom:12px}
.shift-agent-summary-panel .shift-section-head h2{margin:2px 0 4px}
.shift-agent-summary-panel .shift-section-head p{margin:0;color:#9ebbc0;font-size:12px;line-height:1.4}
.shift-agent-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shift-agent-summary-card{padding:12px;border-radius:15px;background:#0a3540;border:1px solid rgba(104,198,193,.16)}
.shift-agent-summary-person{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.shift-agent-summary-person>img,.shift-agent-summary-person>span{width:38px;height:44px;flex:0 0 38px;border-radius:11px;object-fit:cover;background:#082a34;border:1px solid rgba(126,211,205,.22)}
.shift-agent-summary-person>span{display:grid;place-items:center;color:#fff;font-weight:900}
.shift-agent-summary-person strong{display:block;color:#fff;font-size:14px;line-height:1.15}
.shift-agent-summary-person small{display:block;margin-top:3px;color:#9ebbc0;font-size:10px}
.shift-agent-summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.shift-agent-summary-metrics span{padding:7px 8px;border-radius:10px;background:#082d37;color:#a9c4c8;font-size:9px;line-height:1.15;border:1px solid rgba(104,198,193,.1)}
.shift-agent-summary-metrics b{display:block;color:#fff;font-size:14px;line-height:1;margin-bottom:3px}
.shift-agent-summary-metrics .incident-metric{border-color:rgba(225,161,48,.28);background:rgba(100,68,18,.22)}
.shift-missing-nodes{display:inline;color:#f0c46a!important}
.shift-incidents>article{align-items:center!important;border-color:rgba(222,163,50,.36)!important;background:linear-gradient(180deg,rgba(99,65,16,.23),rgba(62,47,20,.17))!important}
.shift-incidents>article.is-skipped{border-color:rgba(230,104,81,.48)!important;background:linear-gradient(180deg,rgba(112,49,39,.24),rgba(62,33,29,.18))!important}
.shift-incident-copy{min-width:0}
.shift-incident-kicker{margin-bottom:3px;color:#f1bd54;font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.shift-incidents>article.is-skipped .shift-incident-kicker{color:#f38b77}
.shift-incidents .shift-incident-copy>strong{display:block;font-size:13px!important;color:#fff!important;line-height:1.15!important}
.shift-incident-type{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:rgba(229,165,47,.15);border:1px solid rgba(229,165,47,.34);color:#f5d48c;font-size:9px;font-weight:850}
.shift-incidents>article.is-skipped .shift-incident-type{background:rgba(235,103,78,.13);border-color:rgba(235,103,78,.34);color:#ffb1a3}
@media(max-width:780px){
  .shift-agent-summary-grid{grid-template-columns:1fr}
  .shift-agent-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media print{
  body.shift-report-body .shift-agent-summary-panel{background:#fff!important;border:1px solid #c6d0d2!important;padding:7px!important;margin:0 0 8px!important}
  body.shift-report-body .shift-agent-summary-panel .shift-section-head p{color:#555!important;font-size:6px!important}
  body.shift-report-body .shift-agent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
  body.shift-report-body .shift-agent-summary-card{background:#fff!important;border:1px solid #d0d8da!important;padding:5px!important;border-radius:8px!important}
  body.shift-report-body .shift-agent-summary-person{margin-bottom:4px!important;gap:5px!important}
  body.shift-report-body .shift-agent-summary-person>img,body.shift-report-body .shift-agent-summary-person>span{width:22px!important;height:25px!important;flex-basis:22px!important;border-radius:5px!important}
  body.shift-report-body .shift-agent-summary-person strong{color:#111!important;font-size:7px!important}
  body.shift-report-body .shift-agent-summary-person small{color:#555!important;font-size:5px!important}
  body.shift-report-body .shift-agent-summary-metrics{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2px!important}
  body.shift-report-body .shift-agent-summary-metrics span{background:#fff!important;color:#555!important;border:1px solid #d5dcde!important;padding:3px!important;font-size:4.5px!important;border-radius:4px!important}
  body.shift-report-body .shift-agent-summary-metrics b{color:#111!important;font-size:7px!important;margin-bottom:1px!important}
  body.shift-report-body .shift-incidents>article,body.shift-report-body .shift-incidents>article.is-skipped{background:#fffaf0!important;border:1px solid #d2b36c!important}
  body.shift-report-body .shift-incident-kicker,body.shift-report-body .shift-incidents>article.is-skipped .shift-incident-kicker{color:#7a5311!important;font-size:6px!important}
  body.shift-report-body .shift-incidents .shift-incident-copy>strong{color:#111!important;font-size:8px!important}
  body.shift-report-body .shift-incident-type,body.shift-report-body .shift-incidents>article.is-skipped .shift-incident-type{background:#fff!important;color:#333!important;border:1px solid #999!important;font-size:5.5px!important}
  body.shift-report-body .shift-missing-nodes{color:#111!important;font-weight:800!important}
}

/* Faro v3.6.162 · Resumen por agente al final + incidencias homogéneas */
.shift-agent-summary-after-timeline{margin-top:16px!important;margin-bottom:14px!important}
.shift-incidents>article,
.shift-incidents>article.is-skipped{
  border-color:rgba(229,166,50,.56)!important;
  background:linear-gradient(180deg,rgba(118,78,16,.28),rgba(74,53,19,.20))!important;
}
.shift-incidents>article .shift-incident-kicker,
.shift-incidents>article.is-skipped .shift-incident-kicker{color:#f1c15a!important}
.shift-incidents>article .shift-incident-type,
.shift-incidents>article.is-skipped .shift-incident-type{
  background:rgba(234,176,68,.12)!important;
  border-color:rgba(234,176,68,.34)!important;
  color:#f0c875!important;
}
@media print{
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article.is-skipped{
    background:#fff8e8!important;
    border:1px solid #d6a84b!important;
  }
  body.shift-report-body .shift-incident-kicker,
  body.shift-report-body .shift-incidents>article.is-skipped .shift-incident-kicker{color:#7a5311!important}
}

/* Faro v3.6.163 · Resumen de turno compacto y priorización de la línea de tiempo */
.shift-agent-summary-before-timeline{margin:0 0 12px!important;padding:10px!important}
.shift-agent-summary-before-timeline .shift-agent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.shift-agent-summary-before-timeline.is-single .shift-agent-summary-card{grid-column:1/-1!important}
.shift-agent-summary-before-timeline .shift-agent-summary-card{padding:9px 10px!important}
.shift-agent-summary-before-timeline .shift-agent-summary-person{margin-bottom:7px!important}
.shift-agent-summary-before-timeline .shift-agent-summary-metrics{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}
.shift-agent-summary-before-timeline .shift-agent-summary-metrics span{padding:5px 6px!important;font-size:8px!important}
.shift-agent-summary-before-timeline .shift-agent-summary-metrics b{font-size:12px!important}
.shift-day-performance{margin:12px 0 8px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,rgba(13,62,73,.78),rgba(7,43,53,.88));border:1px solid rgba(92,194,190,.18)}
.shift-day-performance-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:9px}
.shift-day-performance-head strong{display:block;color:#fff;font-size:14px;margin-top:2px}
.shift-day-performance-head>span{color:#95b5ba;font-size:10px}
.shift-day-performance-bar{display:flex;width:100%;height:13px;overflow:hidden;border-radius:999px;background:#092d36;border:1px solid rgba(255,255,255,.08)}
.shift-day-performance-bar i{display:block;height:100%;position:relative}
.shift-day-performance-bar i+i:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#fff}
.shift-day-performance-bar .complete,.shift-day-performance-legend i.complete{background:#2f9d88}
.shift-day-performance-bar .incomplete,.shift-day-performance-legend i.incomplete{background:#d6604f}
.shift-day-performance-bar .cancelled,.shift-day-performance-legend i.cancelled{background:#d49b2b}
.shift-day-performance-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px;color:#b5cdd1;font-size:9px}
.shift-day-performance-legend span{display:flex;align-items:center;gap:5px}
.shift-day-performance-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;border:1px solid rgba(255,255,255,.25)}
.shift-day-performance-legend b{color:#fff}
@media(max-width:780px){
  .shift-agent-summary-before-timeline .shift-agent-summary-grid{grid-template-columns:1fr!important}
  .shift-agent-summary-before-timeline .shift-agent-summary-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .shift-day-performance-head{align-items:flex-start;flex-direction:column;gap:3px}
  .shift-day-performance-legend{display:grid;grid-template-columns:1fr;gap:5px}
}
@media print{
  body.shift-report-body .shift-agent-summary-before-timeline{margin:0 0 5px!important;padding:4px!important;border-radius:7px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important}
  body.shift-report-body .shift-agent-summary-before-timeline.is-single .shift-agent-summary-card{grid-column:1/-1!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-card{padding:3px 4px!important;border-radius:6px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-person{margin-bottom:2px!important;gap:4px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-person>img,
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-person>span{width:18px!important;height:21px!important;flex-basis:18px!important;border-radius:4px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-person strong{font-size:8.2px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-person small{font-size:6.1px!important;margin-top:2px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-metrics{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:1.5px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-metrics span{padding:3px 4px!important;font-size:5.8px!important;border-radius:4px!important}
  body.shift-report-body .shift-agent-summary-before-timeline .shift-agent-summary-metrics b{font-size:8.4px!important}
  body.shift-report-body .shift-timeline-panel{padding:0!important}
  body.shift-report-body .shift-section-head h2{margin-bottom:5px!important}
  body.shift-report-body .shift-round-event{padding-bottom:4px!important}
  body.shift-report-body .shift-event-card{padding:5px 6px!important;border-radius:9px!important}
  body.shift-report-body .shift-person img,body.shift-report-body .shift-person>span{width:27px!important;height:27px!important;border-radius:6px!important}
  body.shift-report-body .shift-person strong{font-size:8px!important}
  body.shift-report-body .shift-person small{font-size:5.8px!important;margin-top:1px!important}
  body.shift-report-body .shift-event-time strong{font-size:8px!important}
  body.shift-report-body .shift-event-time span{font-size:6.1px!important;margin-top:2px!important}
  body.shift-report-body .shift-status{font-size:5.8px!important;padding:2.5px 5px!important}
  body.shift-report-body .shift-event-summary{font-size:6.6px!important;line-height:1.32!important;margin:4px 0!important}
  body.shift-report-body .shift-incidents{gap:3px!important;margin:3px 0 0!important}
  body.shift-report-body .shift-incidents>article{padding:4px 5px!important;border-radius:6px!important}
  body.shift-report-body .shift-alert-icon{width:17px!important;height:17px!important;border-radius:4px!important;font-size:8px!important}
  body.shift-report-body .shift-photo-thumb{padding:2px!important;border-radius:5px!important}
  body.shift-report-body .shift-photo-thumb img{width:46px!important;height:34px!important;border-radius:4px!important}
  body.shift-report-body .shift-incident-kicker,body.shift-report-body .shift-incidents>article.is-skipped .shift-incident-kicker{font-size:6.8px!important;color:#5f430d!important}
  body.shift-report-body .shift-incidents .shift-incident-copy>strong{font-size:8.5px!important;color:#111!important}
  body.shift-report-body .shift-incident-type,body.shift-report-body .shift-incidents>article.is-skipped .shift-incident-type{font-size:6.4px!important;color:#111!important;background:#fff!important;border:1px solid #777!important;font-weight:800!important}
  body.shift-report-body .shift-incidents small{font-size:5.8px!important;color:#333!important}
  body.shift-report-body .shift-incidents p{font-size:6.4px!important;line-height:1.3!important;color:#111!important}
  body.shift-report-body .shift-day-performance{margin:6px 0 4px!important;padding:5px 7px!important;border-radius:7px!important;background:#fff!important;border:1px solid #c9d2d4!important;break-inside:avoid!important}
  body.shift-report-body .shift-day-performance-head{margin-bottom:4px!important}
  body.shift-report-body .shift-day-performance-head strong{color:#111!important;font-size:9px!important}
  body.shift-report-body .shift-day-performance-head>span{color:#555!important;font-size:6.2px!important}
  body.shift-report-body .shift-day-performance-bar{height:9px!important;background:#e8ecec!important;border:1px solid #c9d0d1!important}
  body.shift-report-body .shift-day-performance-bar i+i:before{width:2.5px!important;background:#fff!important}
  body.shift-report-body .shift-day-performance-legend{margin-top:5px!important;gap:4px 12px!important;color:#333!important;font-size:6.2px!important}
  body.shift-report-body .shift-day-performance-legend b{color:#111!important}
  body.shift-report-body .shift-day-performance-legend i{width:8px!important;height:8px!important;border-radius:2px!important;border:1px solid #777!important}
  body.shift-report-body .shift-report-end{margin-top:3px!important}
  @page{size:Letter portrait;margin:8mm}
}

/* Faro v3.6.165 · Resumen diario: incidencias compactas, legibles y descarga desde el mismo DOM */
body.shift-report-body .shift-event-time span{display:none!important}
body.shift-report-body .shift-round-name{font-weight:900!important;color:inherit!important}
body.shift-report-body .shift-incidents>article{
  display:grid!important;
  grid-template-columns:minmax(150px,.72fr) minmax(170px,1.25fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
body.shift-report-body .shift-incident-left{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
body.shift-report-body .shift-incident-copy{min-width:0!important}
body.shift-report-body .shift-incident-meta{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;margin-top:2px!important}
body.shift-report-body .shift-incident-meta small{order:0!important;margin:0!important;font-weight:850!important;white-space:nowrap!important}
body.shift-report-body .shift-incident-meta span{order:1!important;display:inline-flex!important;align-items:center!important;padding:2px 6px!important;border-radius:999px!important;border:1px solid rgba(218,159,31,.55)!important;background:rgba(218,159,31,.10)!important;color:inherit!important;font-size:8px!important;font-weight:850!important;line-height:1.1!important}
body.shift-report-body .shift-incident-note{
  align-self:center!important;
  justify-self:stretch!important;
  text-align:center!important;
  margin:0!important;
  padding:0 8px!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:inherit!important;
}
body.shift-report-body .shift-incident-note.is-empty{opacity:.52!important;font-style:italic!important;font-weight:600!important}
body.shift-report-body .shift-incidents .shift-photo-thumb{justify-self:end!important;margin:0!important;flex:0 0 auto!important}
body.shift-report-body .shift-event-card{padding-top:6px!important;padding-bottom:6px!important}
body.shift-report-body .shift-event-summary{font-size:9.5px!important;line-height:1.3!important}
body.shift-report-body .shift-person strong{font-size:12.5px!important}
body.shift-report-body .shift-person small{font-size:8px!important}
body.shift-report-body .shift-incidents strong{font-size:9.5px!important}
body.shift-report-body .shift-incident-kicker{font-size:7px!important;line-height:1.1!important}

@media(max-width:700px){
  body.shift-report-body .shift-incidents>article{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  body.shift-report-body .shift-incident-note{grid-column:1/-1!important;grid-row:2!important;text-align:left!important;padding:0 2px!important}
  body.shift-report-body .shift-incidents .shift-photo-thumb{grid-column:2!important;grid-row:1!important}
}

@media print{
  body.shift-report-body .shift-incidents>article{grid-template-columns:minmax(112px,.72fr) minmax(125px,1.25fr) auto!important;gap:6px!important;padding:5px 6px!important}
  body.shift-report-body .shift-incident-note{font-size:8pt!important;line-height:1.18!important;padding:0 5px!important}
  body.shift-report-body .shift-incident-meta span{font-size:6.8pt!important;padding:1px 5px!important;background:#fff7e2!important;border-color:#c89b32!important;color:#222!important}
  body.shift-report-body .shift-incident-meta small{font-size:7pt!important;color:#222!important}
  body.shift-report-body .shift-event-summary{font-size:8.3pt!important;line-height:1.23!important}
  body.shift-report-body .shift-person strong{font-size:9.2pt!important}
  body.shift-report-body .shift-person small{font-size:7.4pt!important}
  body.shift-report-body .shift-round-name{font-weight:900!important}
}

body.shift-report-body.faro-shift-pdf-export .shift-incidents>article{
  display:grid!important;
  grid-template-columns:minmax(112px,.72fr) minmax(125px,1.25fr) auto!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 6px!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incident-note{font-size:8pt!important;line-height:1.18!important;padding:0 5px!important;text-align:center!important;margin:0!important;color:#111!important}
body.shift-report-body.faro-shift-pdf-export .shift-incident-meta{display:flex!important;align-items:center!important;gap:5px!important}
body.shift-report-body.faro-shift-pdf-export .shift-incident-meta small{font-size:7pt!important;color:#111!important;font-weight:850!important;margin:0!important}
body.shift-report-body.faro-shift-pdf-export .shift-incident-meta span{font-size:6.8pt!important;padding:1px 5px!important;border:1px solid #c89b32!important;border-radius:999px!important;background:#fff7e2!important;color:#111!important;font-weight:850!important}
body.shift-report-body.faro-shift-pdf-export .shift-round-name{font-weight:900!important;color:#111!important}
body.shift-report-body.faro-shift-pdf-export .shift-event-time span{display:none!important}
body.shift-report-body.faro-shift-pdf-export .shift-event-summary{font-size:8.3pt!important;line-height:1.23!important}
body.shift-report-body.faro-shift-pdf-export .shift-person strong{font-size:9.2pt!important}
body.shift-report-body.faro-shift-pdf-export .shift-person small{font-size:7.4pt!important}

/* Faro v3.6.166 · incidencias en una sola fila: datos | comentario | evidencia */
body.shift-report-body .shift-incidents>article{
  grid-template-columns:minmax(132px,.78fr) minmax(0,1.6fr) 66px!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  column-gap:8px!important;
  row-gap:0!important;
  min-height:0!important;
  padding:4px 6px!important;
}
body.shift-report-body .shift-incident-left{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
}
body.shift-report-body .shift-incident-note{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:stretch!important;
  text-align:center!important;
  padding:0 6px!important;
  margin:0!important;
  min-width:0!important;
  font-size:9.4px!important;
  line-height:1.18!important;
}
body.shift-report-body .shift-incidents .shift-photo-thumb{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  width:62px!important;
  height:48px!important;
  padding:2px!important;
}
body.shift-report-body .shift-incidents .shift-photo-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:minmax(132px,.78fr) minmax(0,1.6fr)!important;
}
body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)) .shift-incident-note{
  grid-column:2!important;
}

@media(max-width:700px){
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:minmax(118px,.9fr) minmax(0,1.3fr) 54px!important;
    grid-template-rows:auto!important;
    gap:6px!important;
  }
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:minmax(118px,.9fr) minmax(0,1.3fr)!important;
  }
  body.shift-report-body .shift-incident-note{
    grid-column:2!important;
    grid-row:1!important;
    text-align:center!important;
    padding:0 3px!important;
  }
  body.shift-report-body .shift-incidents .shift-photo-thumb{
    grid-column:3!important;
    grid-row:1!important;
    width:50px!important;
    height:40px!important;
  }
}

/* La exportación PDF replica la misma geometría usada al imprimir. */
@media print{
  body.shift-report-body .shift-incidents>article{
    grid-template-columns:minmax(104px,.78fr) minmax(0,1.65fr) 52px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:5px!important;
    row-gap:0!important;
    padding:3.5px 5px!important;
    break-inside:avoid!important;
  }
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:minmax(104px,.78fr) minmax(0,1.65fr)!important;
  }
  body.shift-report-body .shift-incident-left{grid-column:1!important;grid-row:1!important}
  body.shift-report-body .shift-incident-note{
    grid-column:2!important;
    grid-row:1!important;
    font-size:8.2pt!important;
    line-height:1.14!important;
    text-align:center!important;
    padding:0 4px!important;
  }
  body.shift-report-body .shift-incidents .shift-photo-thumb{
    grid-column:3!important;
    grid-row:1!important;
    width:50px!important;
    height:38px!important;
    padding:1.5px!important;
  }
}

body.shift-report-body.faro-shift-pdf-export .shift-incidents>article{
  grid-template-columns:minmax(104px,.78fr) minmax(0,1.65fr) 52px!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  column-gap:5px!important;
  row-gap:0!important;
  padding:3.5px 5px!important;
  break-inside:avoid!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:minmax(104px,.78fr) minmax(0,1.65fr)!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incident-left{grid-column:1!important;grid-row:1!important}
body.shift-report-body.faro-shift-pdf-export .shift-incident-note{
  grid-column:2!important;
  grid-row:1!important;
  font-size:8.2pt!important;
  line-height:1.14!important;
  text-align:center!important;
  padding:0 4px!important;
  margin:0!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incidents .shift-photo-thumb{
  grid-column:3!important;
  grid-row:1!important;
  width:50px!important;
  height:38px!important;
  padding:1.5px!important;
}


/* Faro v3.6.167 · Incidencias con eje central fijo + descarga desde el mismo DOM del iframe */
body.shift-report-body .shift-incidents>article,
body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:132px minmax(0,1fr) 66px !important;
  grid-template-rows:auto !important;
}
body.shift-report-body .shift-incident-note{
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  min-height:40px !important;
  padding:0 8px !important;
}
body.shift-report-body .shift-photo-spacer{
  grid-column:3 !important;
  grid-row:1 !important;
  display:block !important;
  width:62px !important;
  height:48px !important;
}
body.shift-report-body .shift-incidents .shift-photo-thumb,
body.shift-report-body .shift-photo-spacer{
  justify-self:end !important;
  align-self:center !important;
}
@media (max-width:700px){
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:118px minmax(0,1fr) 54px !important;
  }
  body.shift-report-body .shift-incident-note{
    min-height:34px !important;
    padding:0 6px !important;
  }
  body.shift-report-body .shift-photo-spacer,
  body.shift-report-body .shift-incidents .shift-photo-thumb{
    width:50px !important;
    height:42px !important;
  }
}
@media print{
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:112px minmax(0,1fr) 58px !important;
    gap:6px !important;
  }
  body.shift-report-body .shift-incident-note{
    min-height:32px !important;
    padding:0 5px !important;
  }
  body.shift-report-body .shift-photo-spacer,
  body.shift-report-body .shift-incidents .shift-photo-thumb{
    width:54px !important;
    height:42px !important;
  }
}
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article,
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:112px minmax(0,1fr) 58px !important;
  gap:6px !important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incident-note{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:32px !important;
  padding:0 5px !important;
}
body.shift-report-body.faro-shift-pdf-export .shift-photo-spacer,
body.shift-report-body.faro-shift-pdf-export .shift-incidents .shift-photo-thumb{
  width:54px !important;
  height:42px !important;
}


/* Faro v3.6.168 · eje geométrico fijo para comentarios de incidencias */
body.shift-report-body .shift-incidents>article,
body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:minmax(132px,1fr) minmax(150px,1.35fr) minmax(132px,1fr)!important;
  align-items:center!important;
}
body.shift-report-body .shift-incident-left{justify-self:start!important;width:100%!important;max-width:100%!important}
body.shift-report-body .shift-incident-note{
  grid-column:2!important;
  justify-self:center!important;
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  margin:0!important;
  padding:0 8px!important;
}
body.shift-report-body .shift-incidents .shift-photo-thumb,
body.shift-report-body .shift-photo-spacer{
  grid-column:3!important;
  justify-self:end!important;
}
body.shift-report-body .shift-photo-spacer{visibility:hidden!important}

/* El iframe de descarga usa exactamente el documento de reporte, sin chrome/nav lateral. */
body.shift-report-body.faro-shift-pdf-export{
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  width:816px!important;
  min-width:816px!important;
  max-width:816px!important;
  overflow:visible!important;
}
body.shift-report-body.faro-shift-pdf-export .admin-top,
body.shift-report-body.faro-shift-pdf-export .admin-nav,
body.shift-report-body.faro-shift-pdf-export .admin-signature,
body.shift-report-body.faro-shift-pdf-export .support-mode-banner,
body.shift-report-body.faro-shift-pdf-export .shift-sticky-tools,
body.shift-report-body.faro-shift-pdf-export .shift-photo-modal{display:none!important}
body.shift-report-body.faro-shift-pdf-export .admin-layout,
body.shift-report-body.faro-shift-pdf-export .admin-main,
body.shift-report-body.faro-shift-pdf-export .shift-report-main{
  display:block!important;
  width:816px!important;
  min-width:816px!important;
  max-width:816px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:#fff!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-report-shell{
  box-sizing:border-box!important;
  width:816px!important;
  max-width:816px!important;
  min-width:816px!important;
  margin:0!important;
  padding:34px 38px!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  background:#fff!important;
  color:#111!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article,
body.shift-report-body.faro-shift-pdf-export .shift-incidents>article:not(:has(.shift-photo-thumb)){
  grid-template-columns:minmax(112px,1fr) minmax(145px,1.35fr) minmax(112px,1fr)!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incident-note{
  grid-column:2!important;
  justify-self:center!important;
  text-align:center!important;
  width:100%!important;
}
body.shift-report-body.faro-shift-pdf-export .shift-incidents .shift-photo-thumb,
body.shift-report-body.faro-shift-pdf-export .shift-photo-spacer{grid-column:3!important;justify-self:end!important}

@media print{
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:minmax(112px,1fr) minmax(145px,1.35fr) minmax(112px,1fr)!important;
  }
  body.shift-report-body .shift-incident-note{grid-column:2!important;justify-self:center!important;text-align:center!important;width:100%!important}
  body.shift-report-body .shift-incidents .shift-photo-thumb,
  body.shift-report-body .shift-photo-spacer{grid-column:3!important;justify-self:end!important}
}

@media(max-width:700px){
  body.shift-report-body .shift-incidents>article,
  body.shift-report-body .shift-incidents>article:not(:has(.shift-photo-thumb)){
    grid-template-columns:minmax(108px,1fr) minmax(105px,1.18fr) minmax(108px,1fr)!important;
  }
}


/* Faro v3.6.169 · cierre de consistencia UI, fotos adaptativas y reporte idéntico a impresión */
/* Comentario de incidencia clavado al centro geométrico de la tarjeta. */
body.shift-report-body .shift-incidents>article{position:relative!important;grid-template-columns:132px minmax(0,1fr) 132px!important;min-height:52px!important}
body.shift-report-body .shift-incident-left{grid-column:1!important;z-index:2!important}
body.shift-report-body .shift-incident-note{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:min(42%,260px)!important;max-width:42%!important;min-height:0!important;padding:0 6px!important;margin:0!important;
  display:block!important;text-align:center!important;line-height:1.18!important;z-index:1!important;
}
body.shift-report-body .shift-incidents .shift-photo-thumb,body.shift-report-body .shift-photo-spacer{grid-column:3!important;justify-self:end!important;z-index:2!important}
@media(max-width:700px){
  body.shift-report-body .shift-incidents>article{grid-template-columns:108px minmax(0,1fr) 68px!important}
  body.shift-report-body .shift-incident-note{width:38%!important;max-width:38%!important;font-size:8.5px!important}
}
@media print{
  body.shift-report-body .shift-incidents>article{grid-template-columns:112px minmax(0,1fr) 112px!important;min-height:46px!important}
  body.shift-report-body .shift-incident-note{width:min(40%,225px)!important;max-width:40%!important;font-size:8.2pt!important}
}

/* Marcos de agentes: respetan la proporción real y usan el color físico del agente. */
[data-agent-photo-frame]{--agent-photo-radius:12px;overflow:hidden!important;border-color:var(--agent-color,#4E67A8)!important}
[data-agent-photo-frame]>.js-agent-photo-adaptive{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:calc(var(--agent-photo-radius) - 2px)!important}
.agent-card-avatar.agent-photo-portrait{width:118px!important;height:154px!important}
.agent-card-avatar.agent-photo-square{width:118px!important;height:118px!important}
.agent-card-avatar.agent-photo-landscape{width:118px!important;height:82px!important}
.guard-profile-id-photo.agent-photo-portrait{width:112px!important;height:144px!important;min-height:144px!important;border:2px solid var(--agent-color,#4E67A8)!important}
.guard-profile-id-photo.agent-photo-square{width:112px!important;height:112px!important;min-height:112px!important;border:2px solid var(--agent-color,#4E67A8)!important}
.guard-profile-id-photo.agent-photo-landscape{width:112px!important;height:76px!important;min-height:76px!important;border:2px solid var(--agent-color,#4E67A8)!important}
.route-agent-mini.agent-photo-portrait{width:32px!important;height:42px!important}
.route-agent-mini.agent-photo-square{width:38px!important;height:38px!important}
.route-agent-mini.agent-photo-landscape{width:44px!important;height:32px!important}
.route-agent-choice-photo.agent-photo-portrait{width:36px!important;height:48px!important}
.route-agent-choice-photo.agent-photo-square{width:42px!important;height:42px!important}
.route-agent-choice-photo.agent-photo-landscape{width:48px!important;height:34px!important}
.shift-person[data-agent-photo-frame],.shift-agent-summary-person[data-agent-photo-frame]{overflow:visible!important;border:0!important}
.shift-person[data-agent-photo-frame]>.js-agent-photo-adaptive,.shift-agent-summary-person[data-agent-photo-frame]>.js-agent-photo-adaptive{border:2px solid var(--agent-color,#4E67A8)!important;background:#fff!important}
.shift-person.agent-photo-portrait>.js-agent-photo-adaptive{width:38px!important;height:48px!important;border-radius:10px!important}
.shift-person.agent-photo-square>.js-agent-photo-adaptive{width:44px!important;height:44px!important;border-radius:10px!important}
.shift-person.agent-photo-landscape>.js-agent-photo-adaptive{width:52px!important;height:36px!important;border-radius:10px!important}
.shift-agent-summary-person.agent-photo-portrait>.js-agent-photo-adaptive{width:32px!important;height:42px!important;border-radius:9px!important}
.shift-agent-summary-person.agent-photo-square>.js-agent-photo-adaptive{width:38px!important;height:38px!important;border-radius:9px!important}
.shift-agent-summary-person.agent-photo-landscape>.js-agent-photo-adaptive{width:46px!important;height:32px!important;border-radius:9px!important}
@media(max-width:700px){
  .agent-card-avatar.agent-photo-portrait{width:88px!important;height:118px!important}.agent-card-avatar.agent-photo-square{width:88px!important;height:88px!important}.agent-card-avatar.agent-photo-landscape{width:88px!important;height:62px!important}
  .guard-profile-id-photo.agent-photo-portrait{width:82px!important;height:112px!important;min-height:112px!important}.guard-profile-id-photo.agent-photo-square{width:82px!important;height:82px!important;min-height:82px!important}.guard-profile-id-photo.agent-photo-landscape{width:82px!important;height:58px!important;min-height:58px!important}
}
@media print{
  .shift-person[data-agent-photo-frame]>.js-agent-photo-adaptive,.shift-agent-summary-person[data-agent-photo-frame]>.js-agent-photo-adaptive{border-color:var(--agent-color,#4E67A8)!important}
  .shift-person.agent-photo-portrait>.js-agent-photo-adaptive{width:27px!important;height:35px!important}.shift-person.agent-photo-square>.js-agent-photo-adaptive{width:31px!important;height:31px!important}.shift-person.agent-photo-landscape>.js-agent-photo-adaptive{width:37px!important;height:26px!important}
  .shift-agent-summary-person.agent-photo-portrait>.js-agent-photo-adaptive{width:18px!important;height:24px!important}.shift-agent-summary-person.agent-photo-square>.js-agent-photo-adaptive{width:21px!important;height:21px!important}.shift-agent-summary-person.agent-photo-landscape>.js-agent-photo-adaptive{width:26px!important;height:18px!important}
}

/* Convención de acciones del Supervisor. */
body.admin-body:not(.superadmin-body) .btn.danger{background:#d64353!important;border-color:#d64353!important;color:#fff!important}
body.admin-body:not(.superadmin-body) .btn.primary{color:#fff!important}
/* El footer permanece siempre en flujo normal; nunca sticky/fixed. */
body.admin-body:not(.superadmin-body)>footer.admin-signature{position:static!important;inset:auto!important;transform:none!important;margin-top:auto!important;margin-bottom:0!important;z-index:auto!important}

/* Faro v3.6.172 · Reportes programados */
.report-schedule-title{color:#fff!important}
.schedule-days-field{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.schedule-days-field>span{font-size:11px;font-weight:800;color:#d7ebed}
.schedule-days-field>small{font-size:10px;color:#8faeb4}
.schedule-day-options{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.schedule-day-chip{position:relative;display:block!important}
.schedule-day-chip input{position:absolute;opacity:0;pointer-events:none}
.schedule-day-chip span{display:grid;place-items:center;height:42px;border:1px solid rgba(100,200,194,.2);border-radius:13px;background:#0a3440;color:#9db8bd;font-weight:900;cursor:pointer}
.schedule-day-chip input:checked+span{background:#24b8ae;color:#fff;border-color:#54d5cd;box-shadow:0 0 0 1px rgba(84,213,205,.25)}
.report-schedule-form-v2 label small{display:block;margin-top:6px;color:#89a8ae;font-size:10px}
.schedule-pdf-only{border:1px solid rgba(95,197,191,.18)!important;background:#0a3440!important;border-radius:16px!important}
@media(max-width:700px){.schedule-day-options{grid-template-columns:repeat(7,minmax(36px,1fr));gap:5px}.schedule-day-chip span{height:38px;border-radius:11px}}

/* Faro v3.6.174 · Solo Reportes programados + contadores del menú expandido */
.admin-nav-capacity{margin-left:auto;font-size:9px!important;line-height:1;padding:5px 7px;border-radius:999px;background:rgba(89,213,204,.10);border:1px solid rgba(89,213,204,.16);color:#88cfc9;font-weight:850;white-space:nowrap}
body.faro-nav-collapsed .admin-nav-capacity,html.faro-admin-precollapsed .admin-nav-capacity{display:none!important}
@media(max-width:780px){body.admin-body.faro-nav-collapsed .admin-nav-capacity{display:none!important}body.admin-body:not(.faro-nav-collapsed) .admin-nav-capacity{display:inline-flex!important}}
.report-schedule-capacity-card{margin-bottom:14px}.report-schedule-title{color:#fff!important}.report-schedule-modal-v3{max-width:760px!important}.report-schedule-form-v3{display:grid!important;gap:14px!important}.schedule-form-grid-main,.schedule-daily-layout,.schedule-weekly-layout,.schedule-monthly-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-schedule-form-v3 label{display:grid;gap:6px}.report-schedule-form-v3 label>span,.schedule-custom-days>span{font-size:10px;font-weight:900;color:#b7ced2;letter-spacing:.02em}.report-schedule-form-v3 input,.report-schedule-form-v3 select,.report-schedule-form-v3 textarea{width:100%;border-radius:14px!important;background:#082f3a!important;border:1px solid rgba(117,198,196,.2)!important;color:#f5fbfc!important;padding:12px 13px!important;min-height:46px}.report-schedule-form-v3 textarea{min-height:88px!important;resize:vertical}.schedule-frequency-panel{border:1px solid rgba(92,201,195,.17);border-radius:18px;background:rgba(5,43,53,.62);padding:14px;display:grid;gap:12px}.schedule-frequency-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-frequency-panel-head strong{display:block;color:#fff;font-size:14px}.schedule-frequency-panel-head small,.schedule-month-clamp-note,.schedule-custom-days small{display:block;color:#8eabb0;font-size:10px;line-height:1.45}.schedule-month-clamp-note strong{color:#d8efec}.schedule-custom-days{display:grid;gap:8px;padding-top:2px}.schedule-day-options-horizontal{display:grid!important;grid-template-columns:repeat(7,42px)!important;gap:8px!important;justify-content:start!important}.schedule-day-chip{position:relative!important;display:block!important}.schedule-day-chip input{position:absolute!important;opacity:0!important;pointer-events:none!important}.schedule-day-chip span{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:13px!important;background:#082c36!important;border:1px solid rgba(117,198,196,.18)!important;color:#a9c3c7!important;font-weight:900!important;cursor:pointer!important}.schedule-day-chip input:checked+span{background:#2bb8ae!important;border-color:#59d5cc!important;color:#fff!important;box-shadow:0 0 0 2px rgba(89,213,204,.09)!important}.schedule-card-actions-v3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.schedule-card-actions-v3 form,.schedule-card-actions-v3 .btn{width:100%!important}.schedule-card-actions-v3 .btn{justify-content:center!important}.schedule-save-btn{width:100%!important}.inline-help-btn{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;border:1px solid rgba(91,209,199,.35);background:#0b3b46;color:#73d8d0;font-size:11px;font-weight:900;cursor:pointer;margin-left:4px}.faro-help-modal-card{max-width:520px!important}.faro-help-content{display:grid;gap:10px;color:#c0d5d8;line-height:1.55}.faro-help-content p{margin:0}
@media(max-width:780px){.schedule-form-grid-main,.schedule-daily-layout,.schedule-weekly-layout,.schedule-monthly-layout{grid-template-columns:1fr}.schedule-day-options-horizontal{grid-template-columns:repeat(7,minmax(34px,1fr))!important;width:100%}.schedule-day-chip span{width:100%!important;height:40px!important}.schedule-card-actions-v3{grid-template-columns:1fr!important}.report-schedule-modal-v3{width:min(94vw,760px)!important}}


/* Faro v3.6.175 · consistencia Reportería / Reportes programados */
/* Ayuda: mismo tema oscuro de Faro */
body.admin-body .faro-help-modal-card{
  width:min(560px,92vw)!important;
  background:#07323d!important;
  color:#eefafa!important;
  border:1px solid rgba(95,202,196,.24)!important;
  border-radius:22px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
}
body.admin-body .faro-help-modal-card .admin-modal-head{
  background:#0b3d49!important;
  border-bottom:1px solid rgba(95,202,196,.16)!important;
}
body.admin-body .faro-help-modal-card h2{color:#fff!important}
body.admin-body .faro-help-modal-card .faro-help-content{padding:18px!important;color:#c7dcdf!important;font-size:13px!important}
body.admin-body .faro-help-modal-card .faro-help-content b{color:#fff!important}

/* Programación: el formulario siempre ocupa una sola columna estructural. */
body.admin-body .report-schedule-form-v3{grid-template-columns:1fr!important}
body.admin-body .report-schedule-form-v3>.schedule-form-grid-main,
body.admin-body .report-schedule-form-v3>.schedule-frequency-panel,
body.admin-body .report-schedule-form-v3>.schedule-recipient-field,
body.admin-body .report-schedule-form-v3>.schedule-pdf-only,
body.admin-body .report-schedule-form-v3>.schedule-save-btn{grid-column:1/-1!important;width:100%!important;min-width:0!important}
body.admin-body .report-schedule-modal-v3{width:min(820px,94vw)!important;max-width:820px!important}
body.admin-body .schedule-form-grid-main{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}
body.admin-body .report-schedule-form-v3 select{white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}
body.admin-body .schedule-daily-layout{grid-template-columns:minmax(220px,.85fr) minmax(180px,.65fr)!important;justify-content:start!important}
body.admin-body .schedule-day-options-horizontal{grid-template-columns:repeat(7,44px)!important;gap:9px!important}
body.admin-body .schedule-day-chip span{width:44px!important;height:42px!important}

/* Tarjeta nocturna centrada sin perder el badge derecho. */
body.admin-body .schedule-health-card-v2{position:relative!important;min-height:132px!important;justify-content:center!important}
body.admin-body .schedule-health-main{margin:0 auto!important;flex-direction:column!important;text-align:center!important;justify-content:center!important;max-width:680px!important}
body.admin-body .schedule-health-main>div{text-align:center!important}
body.admin-body .schedule-health-badge{position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important}

/* Reportería: no aplicar el texto tenue del resumen a las etiquetas de los botones. */
body.admin-body .report-export-row>div:first-child>span{color:#8eaeb4!important;font-size:9px!important}
body.admin-body .report-export-actions .btn span{
  color:#fff!important;font-size:13px!important;font-weight:850!important;line-height:1!important
}
body.admin-body .report-export-actions .btn{min-height:42px!important;padding:10px 15px!important;border-radius:13px!important;opacity:1!important}
body.admin-body .report-export-actions .report-global-print{background:var(--ui-primary,#26b8ad)!important;border-color:var(--ui-primary,#26b8ad)!important;color:#fff!important}
body.admin-body .report-export-actions .report-global-download{background:var(--ui-info,#2e93b4)!important;border-color:var(--ui-info,#2e93b4)!important;color:#fff!important}
body.admin-body .report-system-incident{border-color:rgba(218,159,39,.36)!important;background:rgba(218,159,39,.08)!important}

@media(max-width:780px){
  body.admin-body .report-schedule-modal-v3{width:min(94vw,820px)!important}
  body.admin-body .schedule-form-grid-main,
  body.admin-body .schedule-daily-layout,
  body.admin-body .schedule-weekly-layout,
  body.admin-body .schedule-monthly-layout{grid-template-columns:1fr!important}
  body.admin-body .schedule-day-options-horizontal{grid-template-columns:repeat(7,minmax(34px,1fr))!important;width:100%!important}
  body.admin-body .schedule-day-chip span{width:100%!important}
  body.admin-body .schedule-health-card-v2{padding-top:18px!important;padding-bottom:18px!important}
  body.admin-body .schedule-health-badge{position:static!important;transform:none!important;margin:12px auto 0!important}
}

/* Faro v3.6.176 · SuperAdmin: mantenimiento y recuperación por organización */
body.superadmin-body .sa-maintenance-panel{
  margin-top:14px;padding:14px;border:1px solid rgba(93,177,181,.18);border-radius:18px;
  background:linear-gradient(180deg,rgba(10,53,65,.82),rgba(7,43,54,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.superadmin-body .sa-maintenance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
body.superadmin-body .sa-maintenance-head>div:first-child{min-width:0}
body.superadmin-body .sa-maintenance-head .eyebrow{display:block;color:#53d0c6;font-size:8px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}
body.superadmin-body .sa-maintenance-head strong{display:block;color:#f3fbfc;font-size:15px}
body.superadmin-body .sa-maintenance-head small{display:block;color:#8fb0b6;font-size:9px;line-height:1.35;margin-top:4px;max-width:760px}
body.superadmin-body .sa-maintenance-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
body.superadmin-body .sa-maintenance-stats span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(128,196,201,.17);border-radius:999px;background:#0a3945;color:#9fc0c5;padding:5px 9px;font-size:8px;white-space:nowrap}
body.superadmin-body .sa-maintenance-stats b{color:#fff;font-size:10px}
body.superadmin-body .sa-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.superadmin-body .sa-maintenance-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 12px;border-radius:14px;border:1px solid rgba(121,190,195,.14);background:#092f3a}
body.superadmin-body .sa-maintenance-card>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:8px;align-items:center;min-width:0;flex:1}
body.superadmin-body .sa-maintenance-icon{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#0d4653;border:1px solid rgba(117,203,203,.15);font-size:15px}
body.superadmin-body .sa-maintenance-card strong{color:#f2fafb;font-size:10px;line-height:1.2}
body.superadmin-body .sa-maintenance-card small{grid-column:2;color:#8eacb2;font-size:7.5px;line-height:1.3;margin-top:3px}
body.superadmin-body .sa-maintenance-card-danger{border-color:rgba(215,70,84,.22)}
body.superadmin-body .sa-maintenance-card form{margin:0;display:flex;align-items:center;gap:7px;flex:0 0 auto}
body.superadmin-body .sa-maintenance-btn{min-height:36px!important;height:36px!important;padding:7px 11px!important;border-radius:10px!important;font-size:8px!important;font-weight:850!important;white-space:nowrap}
body.superadmin-body .sa-maintenance-export{background:#1f667c!important;border-color:#1f667c!important;color:#fff!important}
body.superadmin-body .sa-maintenance-btn:disabled{opacity:.38!important;cursor:not-allowed!important}
body.superadmin-body .sa-backup-file{display:inline-flex!important;align-items:center!important;margin:0!important;cursor:pointer}
body.superadmin-body .sa-backup-file input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
body.superadmin-body .sa-backup-file span{display:inline-flex;align-items:center;height:36px;padding:0 10px;border:1px solid rgba(137,199,204,.2);border-radius:10px;background:#113f4b;color:#d8e9eb;font-size:8px;font-weight:800;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:920px){body.superadmin-body .sa-maintenance-grid{grid-template-columns:1fr}body.superadmin-body .sa-maintenance-head{align-items:flex-start;flex-direction:column}body.superadmin-body .sa-maintenance-stats{justify-content:flex-start}}
@media(max-width:560px){body.superadmin-body .sa-maintenance-card{align-items:stretch;flex-direction:column}body.superadmin-body .sa-maintenance-card form{width:100%}body.superadmin-body .sa-maintenance-card form .btn{flex:1}body.superadmin-body .sa-backup-file{flex:1!important}body.superadmin-body .sa-backup-file span{width:100%;max-width:none;justify-content:center}}
body.shift-report-body .shift-pdf-download-frame{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important}


/* Faro v3.6.177 · SuperAdmin mantenimiento estructurado + limpieza del cierre de Resumen diario */
body.superadmin-body .sa-maintenance-panel-v2{
  margin-top:16px!important;padding:16px!important;border:1px solid rgba(92,183,187,.2)!important;border-radius:18px!important;
  background:linear-gradient(180deg,rgba(10,57,68,.96),rgba(6,43,53,.96))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 8px 24px rgba(0,0,0,.08)!important;
}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-head{align-items:center!important;margin-bottom:14px!important;padding-bottom:13px!important;border-bottom:1px solid rgba(122,190,195,.12)!important}
body.superadmin-body .sa-maintenance-title strong{font-size:16px!important;line-height:1.15!important}
body.superadmin-body .sa-maintenance-title small{font-size:9px!important;max-width:720px!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-stats span{min-width:82px!important;justify-content:center!important;padding:7px 10px!important;background:rgba(4,39,49,.68)!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-stats span b{font-size:13px!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-stats span small{font-size:7px!important;color:#9ab8bd!important;text-transform:uppercase!important;letter-spacing:.06em!important}
body.superadmin-body .sa-maintenance-section{padding:12px!important;border:1px solid rgba(121,190,195,.11)!important;border-radius:15px!important;background:rgba(4,38,48,.52)!important}
body.superadmin-body .sa-maintenance-section+.sa-maintenance-section{margin-top:10px!important}
body.superadmin-body .sa-maintenance-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 10px!important}
body.superadmin-body .sa-maintenance-section-head>div{display:flex!important;align-items:center!important;gap:9px!important}
body.superadmin-body .sa-maintenance-section-icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:10px!important;background:#105363!important;border:1px solid rgba(95,211,202,.18)!important;font-size:15px!important;flex:0 0 auto!important}
body.superadmin-body .sa-maintenance-section-icon.is-danger{background:rgba(197,67,78,.13)!important;border-color:rgba(220,88,99,.24)!important}
body.superadmin-body .sa-maintenance-section-head strong{display:block!important;color:#f6fbfc!important;font-size:11px!important;line-height:1.15!important}
body.superadmin-body .sa-maintenance-section-head small{display:block!important;color:#91adb2!important;font-size:8px!important;line-height:1.3!important;margin-top:2px!important}
body.superadmin-body .sa-maintenance-grid{display:grid!important;gap:9px!important}
body.superadmin-body .sa-maintenance-grid-safe{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.superadmin-body .sa-maintenance-grid-danger{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card{
  min-height:116px!important;padding:12px!important;border:1px solid rgba(121,190,195,.14)!important;border-radius:13px!important;background:#082f3a!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;gap:11px!important;
}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card-copy{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;min-width:0!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card-copy>div{min-width:0!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-icon{width:34px!important;height:34px!important;border-radius:10px!important;font-size:16px!important;grid-row:auto!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card strong{display:block!important;color:#f5fbfc!important;font-size:10.5px!important;line-height:1.2!important;margin-bottom:4px!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card small{display:block!important;color:#8faeb4!important;font-size:8px!important;line-height:1.38!important;margin:0!important;grid-column:auto!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card form{display:flex!important;align-items:center!important;gap:7px!important;width:100%!important;margin:0!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card form>.btn,
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card>a.btn{width:100%!important;justify-content:center!important;min-height:38px!important;height:38px!important;font-size:8.5px!important;border-radius:10px!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card-restore form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-backup-file{width:100%!important;min-width:0!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-backup-file span{width:100%!important;max-width:none!important;height:38px!important;justify-content:center!important;background:#0e404c!important;border-color:rgba(124,197,201,.18)!important;font-size:8px!important}
body.superadmin-body .sa-maintenance-danger-zone{border-color:rgba(210,82,91,.12)!important;background:rgba(60,27,34,.10)!important}
body.superadmin-body .sa-maintenance-card-warning{border-color:rgba(220,163,48,.22)!important}
body.superadmin-body .sa-maintenance-card-danger{border-color:rgba(218,69,84,.25)!important}
body.superadmin-body .sa-maintenance-panel-v2 .btn.warning{background:#d69b25!important;border-color:#d69b25!important;color:#fff!important}
body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-btn:disabled{opacity:.42!important;filter:saturate(.5)!important}
@media(max-width:1180px){body.superadmin-body .sa-maintenance-grid-safe{grid-template-columns:1fr 1fr!important}body.superadmin-body .sa-maintenance-card-restore{grid-column:1/-1!important}}
@media(max-width:760px){
  body.superadmin-body .sa-maintenance-panel-v2{padding:12px!important}
  body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-head{align-items:flex-start!important;flex-direction:column!important}
  body.superadmin-body .sa-maintenance-grid-safe,body.superadmin-body .sa-maintenance-grid-danger{grid-template-columns:1fr!important}
  body.superadmin-body .sa-maintenance-card-restore{grid-column:auto!important}
  body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card{min-height:0!important}
  body.superadmin-body .sa-maintenance-panel-v2 .sa-maintenance-card-restore form{grid-template-columns:1fr!important}
}

/* El cierre del reporte no debe generar una caja o área enmarcada después del contenido. */
body.shift-report-body .admin-layout,
body.shift-report-body .shift-report-main,
body.shift-report-body .shift-report-shell,
body.shift-report-body .shift-report-end{
  border-bottom:0!important;outline:0!important;box-shadow:none!important;
}
body.shift-report-body .shift-report-main::before,
body.shift-report-body .shift-report-main::after,
body.shift-report-body .shift-report-shell::before,
body.shift-report-body .shift-report-shell::after,
body.shift-report-body .shift-report-end::before,
body.shift-report-body .shift-report-end::after{content:none!important;display:none!important;border:0!important;box-shadow:none!important}
body.shift-report-body.shift-report-embed .shift-report-main,
body.shift-report-body.shift-report-embed .shift-report-shell{min-height:0!important;height:auto!important;padding-bottom:12px!important}
@media print{
  html.admin-html,html.admin-html body.shift-report-body,
  body.shift-report-body .admin-layout,body.shift-report-body .shift-report-main,body.shift-report-body .shift-report-shell{
    min-height:0!important;height:auto!important;border:0!important;outline:0!important;box-shadow:none!important;
  }
  body.shift-report-body .shift-report-shell{padding-bottom:0!important}
  body.shift-report-body .shift-report-end{border:0!important;outline:0!important;box-shadow:none!important;padding-bottom:0!important;margin-bottom:0!important}
}
body.shift-report-body.faro-shift-pdf-export .admin-layout,
body.shift-report-body.faro-shift-pdf-export .shift-report-main,
body.shift-report-body.faro-shift-pdf-export .shift-report-shell,
body.shift-report-body.faro-shift-pdf-export .shift-report-end{min-height:0!important;height:auto!important;border:0!important;outline:0!important;box-shadow:none!important}


/* Faro v3.6.178 · Organizaciones: paquete visual heredado del catálogo */
body.superadmin-body .sa-company-card.sa-company-plan-tone{
  --plan-accent:#35D3C3;
  --plan-accent-dark:#0D6F74;
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--plan-accent) 23%,rgba(107,202,197,.14))!important;
  box-shadow:0 14px 34px rgba(0,18,25,.15),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.superadmin-body .sa-company-card.sa-company-plan-tone::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:var(--plan-accent);
  opacity:.92;
  box-shadow:0 0 18px color-mix(in srgb,var(--plan-accent) 38%,transparent);
  pointer-events:none;
}
body.superadmin-body .sa-company-overview-grid{
  display:grid!important;
  grid-template-columns:minmax(330px,1.75fr) repeat(5,minmax(95px,.72fr)) minmax(150px,.9fr)!important;
  gap:7px!important;
  align-items:stretch!important;
}
body.superadmin-body .sa-company-overview-grid>div{
  min-width:0;
  min-height:64px!important;
  border-radius:12px!important;
}
body.superadmin-body .sa-company-plan-mini{
  position:relative;
  overflow:hidden;
  padding:11px 13px!important;
  border:1px solid color-mix(in srgb,var(--plan-accent) 30%,rgba(255,255,255,.07))!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--plan-accent-dark) 20%,#0B3743),rgba(7,42,53,.92))!important;
  box-shadow:inset 3px 0 0 var(--plan-accent),inset 0 1px 0 rgba(255,255,255,.025);
}
body.superadmin-body .sa-company-plan-mini::after{
  content:"";
  position:absolute;
  width:100px;height:100px;
  right:-45px;top:-54px;
  border-radius:50%;
  background:var(--plan-accent);
  opacity:.07;
  pointer-events:none;
}
body.superadmin-body .sa-company-plan-mini-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
body.superadmin-body .sa-company-plan-label,
body.superadmin-body .sa-company-capacity>span,
body.superadmin-body .sa-company-payment>span{
  display:block;
  color:#86A8B0!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.superadmin-body .sa-company-plan-badges{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:3px;
}
body.superadmin-body .sa-company-plan-badges>strong{
  color:#F5FBFC!important;
  font-size:15px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.02em;
}
body.superadmin-body .sa-company-plan-chip{
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:3px 7px;
  border-radius:999px;
  font-size:7px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
  white-space:nowrap;
}
body.superadmin-body .sa-company-plan-chip.premium{
  color:#F3DC8A;
  border:1px solid rgba(229,185,79,.4);
  background:rgba(229,185,79,.12);
}
body.superadmin-body .sa-company-plan-chip.plus{
  color:#FFF0A7;
  border:1px solid rgba(255,211,92,.36);
  background:linear-gradient(135deg,rgba(229,185,79,.16),rgba(255,235,158,.08));
}
body.superadmin-body .sa-company-plan-desc{
  display:block;
  max-width:290px;
  margin-top:4px;
  color:#9CB7BD!important;
  font-size:8px!important;
  line-height:1.25!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.superadmin-body .sa-company-plan-price{
  flex:0 0 auto;
  min-width:94px;
  text-align:right;
}
body.superadmin-body .sa-company-plan-price>strong{
  display:block;
  color:var(--plan-accent)!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.03em;
  line-height:1!important;
}
body.superadmin-body .sa-company-plan-price>span{
  display:block;
  margin-top:3px;
  color:#91AEB5!important;
  font-size:7px!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.superadmin-body .sa-company-plan-tax{
  position:relative;
  z-index:1;
  margin-top:7px;
  color:#8EAAB1;
  font-size:7.5px;
  line-height:1.2;
}
body.superadmin-body .sa-company-plan-tax b{color:#DDEBEC;font-weight:900}
body.superadmin-body .sa-company-capacity,
body.superadmin-body .sa-company-payment{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:9px 10px!important;
  background:rgba(5,45,56,.66)!important;
  border:1px solid rgba(109,202,196,.12)!important;
}
body.superadmin-body .sa-company-capacity>strong,
body.superadmin-body .sa-company-payment>strong{
  display:block;
  margin-top:4px!important;
  color:#F2F9FA!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:950!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.superadmin-body .sa-company-capacity>i{
  display:block;
  height:3px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(113,187,187,.12);
}
body.superadmin-body .sa-company-capacity>i>b{
  display:block;
  height:100%;
  min-width:0;
  border-radius:inherit;
  background:var(--plan-accent);
  opacity:.92;
}
body.superadmin-body .sa-company-payment>small{
  display:block;
  margin-top:4px;
  color:#86A4AB!important;
  font-size:7px!important;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.superadmin-body .sa-company-expanded-plan{
  border-color:color-mix(in srgb,var(--plan-accent) 28%,rgba(255,255,255,.07))!important;
  box-shadow:inset 3px 0 0 var(--plan-accent);
}
body.superadmin-body .sa-company-expanded-plan>strong{color:var(--plan-accent)!important}
body.superadmin-body .sa-company-expanded-plan>strong em{
  display:inline-flex;
  margin-left:5px;
  padding:2px 6px;
  border:1px solid rgba(229,185,79,.3);
  border-radius:999px;
  background:rgba(229,185,79,.09);
  color:#F3D978;
  font-size:7px;
  font-style:normal;
  vertical-align:middle;
}
@media(max-width:1380px){
  body.superadmin-body .sa-company-overview-grid{
    grid-template-columns:minmax(300px,1.6fr) repeat(3,minmax(95px,.72fr))!important;
  }
  body.superadmin-body .sa-company-overview-grid .sa-company-plan-mini{grid-column:span 2}
  body.superadmin-body .sa-company-overview-grid .sa-company-payment{grid-column:span 2}
}
@media(max-width:780px){
  body.superadmin-body .sa-company-overview-grid{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  body.superadmin-body .sa-company-overview-grid .sa-company-plan-mini,
  body.superadmin-body .sa-company-overview-grid .sa-company-payment{grid-column:1/-1!important}
  body.superadmin-body .sa-company-plan-mini{padding:11px!important}
  body.superadmin-body .sa-company-plan-mini-head{gap:8px}
  body.superadmin-body .sa-company-plan-badges>strong{font-size:14px!important}
  body.superadmin-body .sa-company-plan-price>strong{font-size:15px!important}
  body.superadmin-body .sa-company-plan-desc{max-width:210px}
  body.superadmin-body .sa-company-overview-grid>div{min-height:57px!important}
  body.superadmin-body .sa-company-capacity>strong,
  body.superadmin-body .sa-company-payment>strong{font-size:11px!important}
}

/* Faro v3.6.179 · Ajustes homogéneos + Android ilimitado + supervisor responsive */
body.admin-body .page-head{
  position:relative;
  overflow:hidden;
  padding:16px 18px!important;
  margin-bottom:18px!important;
  border:1px solid rgba(91,201,196,.18)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 88% 15%,rgba(68,214,203,.10),transparent 24%),
    linear-gradient(135deg,rgba(18,73,86,.88),rgba(7,43,54,.96))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.12)!important;
}
body.admin-body .page-head>div:first-child{position:relative;padding-left:52px;min-width:0}
body.admin-body .page-head>div:first-child::before{
  position:absolute;left:0;top:0;width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;background:#0b3946;border:1px solid rgba(105,208,198,.20);
  color:#8de7dd;font-size:18px;box-shadow:inset 0 0 18px rgba(83,213,202,.06);content:'✦';
}
body.admin-tab-dashboard .page-head>div:first-child::before{content:'🏠'}
body.admin-tab-incidents .page-head>div:first-child::before{content:'⚠'}
body.admin-tab-guards .page-head>div:first-child::before{content:'👤'}
body.admin-tab-nodes .page-head>div:first-child::before{content:'📍'}
body.admin-tab-routes .page-head>div:first-child::before,body.admin-tab-route_edit .page-head>div:first-child::before,body.admin-tab-route_view .page-head>div:first-child::before{content:'🗺'}
body.admin-tab-teams .page-head>div:first-child::before{content:'📅'}
body.admin-tab-users .page-head>div:first-child::before{content:'👥'}
body.admin-tab-report_schedules .page-head>div:first-child::before{content:'🌙'}
body.admin-tab-trash .page-head>div:first-child::before{content:'🗑'}
body.admin-tab-settings .page-head>div:first-child::before{content:'⚙'}
body.admin-tab-health .page-head>div:first-child::before{content:'✦'}
body.admin-tab-devices .page-head>div:first-child::before{content:'📱'}
body.admin-tab-sessions .page-head>div:first-child::before{content:'🔐'}
body.admin-tab-audit .page-head>div:first-child::before{content:'📋'}
body.admin-tab-activity .page-head>div:first-child::before{content:'🧭'}
body.admin-tab-imports .page-head>div:first-child::before{content:'⬆'}
body.admin-reporting-body .page-head>div:first-child::before{content:'📊'}
body.admin-body .page-head h1{color:#f4fbfc!important;margin:2px 0 4px!important}
body.admin-body .page-head .eyebrow{color:#6dd9cf!important}
body.admin-body .page-head .muted,body.admin-body .page-head p{color:#9db9bf!important}

/* Generales */
.settings-master-form{display:grid;gap:14px;margin-bottom:16px}
.settings-master-form .panel{margin-bottom:0!important}
.settings-section-card{padding:18px!important;border-color:rgba(105,208,198,.18)!important;background:linear-gradient(145deg,#0c3b47,#082d38)!important}
.settings-section-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px}
.settings-section-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#082833;border:1px solid rgba(105,208,198,.20);font-size:18px}
.settings-section-head h2{margin:1px 0 3px!important;color:#f5fbfc!important;font-size:17px!important}
.settings-section-head p{margin:0;color:#8eabb1!important;font-size:10px;line-height:1.45}
.settings-help-btn{width:30px;height:30px;border-radius:999px;border:1px solid rgba(105,208,198,.28);background:#0b3b48;color:#7ce0d6;font-weight:950;cursor:pointer;display:grid;place-items:center;padding:0}
.settings-help-btn:hover{background:#12515e;color:#fff}
.settings-inline-help{display:inline-grid;width:18px;height:18px;font-size:9px;margin-left:4px;vertical-align:middle}
.settings-time-row{display:grid;grid-template-columns:minmax(160px,240px) 32px minmax(160px,240px);gap:10px;align-items:end;margin-top:16px}
.settings-time-row label,.settings-control-grid label{display:grid;gap:6px;color:#abc6cc!important;font-size:10px;font-weight:850}
.settings-time-row input,.settings-control-grid input,.settings-control-grid select{background:#061f2b!important;color:#edf9f9!important;border-color:rgba(105,208,198,.22)!important}
.settings-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.settings-control-grid small{color:#789ba3!important;font-weight:600;line-height:1.35}
.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.settings-toggle{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(105,208,198,.14);border-radius:14px;background:#072732;cursor:pointer}
.settings-toggle input{margin-top:3px;accent-color:#2bc5b8}
.settings-toggle span{display:grid;gap:3px}.settings-toggle strong{color:#eaf7f7;font-size:10px}.settings-toggle small{color:#7f9fa6;font-size:8.5px;line-height:1.4}
.settings-save-bar{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid rgba(105,208,198,.25);border-radius:16px;background:rgba(5,34,43,.96);box-shadow:0 12px 34px rgba(0,0,0,.26);backdrop-filter:blur(9px)}
.settings-save-bar>div{display:grid;gap:2px}.settings-save-bar strong{color:#f5fbfc;font-size:11px}.settings-save-bar span{color:#839fa6;font-size:8.5px}
.settings-help-modal{z-index:5000!important}.settings-help-modal-card{max-width:520px!important;background:#0a3440!important;border:1px solid rgba(105,208,198,.25)!important}.settings-help-modal-card .modal-fixed-head{background:#0b3c49!important;border-bottom:1px solid rgba(105,208,198,.14)!important}.settings-help-modal-card h2{color:#f4fbfc!important}.settings-help-modal-card .modal-body p{color:#b7cdd1!important;font-size:11px;line-height:1.6;margin:0}
.settings-access-card{margin-top:16px}.settings-access-card .account-row{margin-top:16px}

/* Dispositivos ilimitados */
.device-unlimited-banner{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;border-color:rgba(80,209,198,.30)!important;background:linear-gradient(135deg,#0d4852,#0a303c)!important;box-shadow:inset 4px 0 0 #45d1c6,0 18px 40px rgba(0,0,0,.14)!important}
.device-unlimited-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:31px;font-weight:950;color:#f5ffff;background:linear-gradient(145deg,#1ab8aa,#087d83);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.device-unlimited-banner h2{margin:2px 0 4px!important;color:#fff!important}.device-unlimited-banner p{margin:0;color:#bbd1d4;font-size:11px}.device-unlimited-banner small{display:block;margin-top:5px;color:#7fa3aa;font-size:9px}
.device-unlimited-pill{padding:8px 11px;border-radius:999px;background:#082933;border:1px solid rgba(105,208,198,.23);color:#78ded5;font-size:9px;font-weight:900;white-space:nowrap}

/* Capacidad contratada */
.capacity-hero-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;margin-bottom:12px;border-radius:19px;border:1px solid rgba(105,208,198,.24);background:radial-gradient(circle at 84% 20%,rgba(70,215,203,.12),transparent 28%),linear-gradient(135deg,#104955,#082f3a);box-shadow:0 16px 38px rgba(0,0,0,.15)}
.capacity-hero-symbol{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#092c37;border:1px solid rgba(105,208,198,.22);color:#74ded3;font-size:22px}
.capacity-hero-copy{display:grid;gap:2px}.capacity-hero-copy>span{font-size:8px;letter-spacing:.13em;font-weight:900;color:#70d9cf}.capacity-hero-copy>strong{font-size:20px;color:#f5fbfc}.capacity-hero-copy>small{font-size:9px;color:#8daab0}
.capacity-unlimited-chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:14px;background:#062631;border:1px solid rgba(105,208,198,.20)}.capacity-unlimited-chip b{font-size:25px;color:#55d6ca}.capacity-unlimited-chip span{font-size:8px;font-weight:850;color:#a9c7cc;line-height:1.2}
.health-kpis-vivid{gap:10px!important}.health-kpis-vivid>div{position:relative;overflow:hidden;padding-bottom:17px!important;background:linear-gradient(145deg,#0c3a46,#082c37)!important;border-color:rgba(105,208,198,.14)!important}.health-kpis-vivid>div::after{content:'';position:absolute;left:12px;right:12px;bottom:10px;height:4px;border-radius:99px;background:rgba(255,255,255,.07)}.health-kpis-vivid>div i{position:absolute;left:12px;bottom:10px;height:4px;width:calc(100% - 24px);z-index:2}.health-kpis-vivid>div i b{display:block;width:var(--capacity-pct,100%);height:100%;border-radius:99px;background:#4ed4c9}.health-kpis-vivid>div.unlimited i b{background:linear-gradient(90deg,#4ed4c9,#66a9e6,#9b7ce4)}.health-kpis-vivid>div.live i,.health-kpis-vivid>div.live::after{display:none}.health-kpis-vivid small{display:block;color:#779aa2;font-size:8px;margin-top:3px}

/* SuperAdmin package fields: device access is a benefit, not a quota */
.sa-unlimited-limit-field{min-height:66px;padding:10px 12px;border:1px solid rgba(105,208,198,.18);border-radius:12px;background:#082d38;display:flex;flex-direction:column;justify-content:center;gap:2px}
.sa-unlimited-limit-field>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#789ba3;font-weight:900}.sa-unlimited-limit-field>strong{color:#66ddd2;font-size:13px}.sa-unlimited-limit-field>small{color:#789ba3;font-size:7.5px}
.sa-package-limits-grid>div.unlimited b{color:#69ddd2!important;font-size:18px!important}.sa-package-limits-grid>div.unlimited small{display:block;color:#7d9da4;font-size:7px;margin-top:1px}
.sa-company-capacity.unlimited>strong{color:#70ded4!important;font-size:16px!important}.sa-company-capacity.unlimited>small{display:block;color:#829fa6;font-size:7px;margin-top:2px}

/* Sesiones y Bitácora */
.session-pagination .table-page-btn{display:grid;place-items:center;text-decoration:none}
body.admin-tab-audit .table-wrap,body.admin-tab-sessions .table-wrap{max-width:100%;min-width:0}
body.admin-tab-audit .audit-detail{max-width:100%!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important}

@media(max-width:780px){
  body.admin-body .page-head{padding:13px!important;border-radius:17px!important}
  body.admin-body .page-head>div:first-child{padding-left:45px}
  body.admin-body .page-head>div:first-child::before{width:34px;height:34px;border-radius:10px;font-size:15px}
  .settings-control-grid,.settings-toggle-grid{grid-template-columns:1fr}
  .settings-time-row{grid-template-columns:1fr 24px 1fr}
  .settings-save-bar{bottom:7px;align-items:stretch;flex-direction:column}.settings-save-bar .btn{width:100%}
  .device-unlimited-banner{grid-template-columns:auto minmax(0,1fr)!important}.device-unlimited-pill{grid-column:1/-1;justify-self:start}
  .capacity-hero-panel{grid-template-columns:auto 1fr}.capacity-unlimited-chip{grid-column:1/-1;justify-self:start}
  body.admin-tab-audit .table-wrap{overflow-x:hidden!important}
  body.admin-tab-audit table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  body.admin-tab-audit tbody,body.admin-tab-audit tr,body.admin-tab-audit td{width:100%!important;max-width:100%!important;min-width:0!important}
  body.admin-tab-audit td{grid-template-columns:88px minmax(0,1fr)!important}
  body.admin-tab-audit .audit-detail{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
}

/* Faro v3.6.180 · Supervisor final: minimalismo en Generales, Capacidad y Dispositivos */

/* Generales: campos cortos y jerarquía compacta */
.settings-rules-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
  align-items:start;
}
.settings-rule{
  display:grid!important;
  gap:5px!important;
  min-width:0;
  grid-column:span 2;
  color:#abc6cc!important;
  font-size:9px!important;
  font-weight:850!important;
}
.settings-rule.settings-rule-wide{grid-column:span 4}
.settings-rule>span{min-height:18px;display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.settings-rule input,.settings-rule select{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  background:#061f2b!important;
  color:#edf9f9!important;
  border-color:rgba(105,208,198,.22)!important;
  font-size:11px!important;
}
.settings-rule-number input{max-width:132px!important}
.settings-rule small{color:#789ba3!important;font-size:8px!important;font-weight:600!important;line-height:1.3}
.settings-toggle-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin-top:14px!important}
.settings-toggle{
  min-height:70px;
  align-items:center!important;
  gap:8px!important;
  padding:10px 11px!important;
  background:#072732!important;
  border-color:rgba(105,208,198,.13)!important;
}
.settings-toggle span{flex:1;min-width:0;gap:2px!important}
.settings-toggle strong{font-size:9.5px!important;line-height:1.25}
.settings-toggle small{font-size:8px!important;line-height:1.35}
.settings-toggle input{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  accent-color:#2bc5b8;
}
.settings-time-row{grid-template-columns:180px 24px 180px!important;margin-top:14px!important}
.settings-time-row input{height:40px!important;min-height:40px!important;border-radius:11px!important}
.settings-section-card{padding:15px 16px!important}
.settings-section-head{grid-template-columns:38px minmax(0,1fr) 30px!important;gap:10px!important}
.settings-section-icon{width:36px!important;height:36px!important;border-radius:11px!important;font-size:16px!important}
.settings-section-head h2{font-size:15px!important}
.settings-save-bar{position:static!important;margin-top:0!important;padding:11px 13px!important}

/* Dispositivos: una sola cabecera con la ventaja integrada */
.device-page-head{align-items:center!important}
.device-inline-benefit{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(105,208,198,.12);
}
.device-inline-benefit>span{font-size:7.5px;font-weight:900;letter-spacing:.11em;color:#6dd9cf}
.device-inline-benefit>strong{font-size:11px;color:#f4fbfc}
.device-inline-benefit>small{font-size:8px;color:#88a8ae}
.device-page-head-meta{
  flex:0 0 auto;
  min-width:126px;
  display:grid;
  justify-items:end;
  gap:1px;
  padding:9px 11px;
  border-radius:14px;
  background:rgba(4,34,43,.56);
  border:1px solid rgba(105,208,198,.17);
}
.device-page-head-meta strong{font-size:21px;color:#70ded4;line-height:1}
.device-page-head-meta span{font-size:8px;color:#8faeb4;font-weight:750}

/* Capacidad: una sola lectura compacta y un único bloque de seguimiento */
.capacity-page-head{align-items:center!important}
.capacity-page-head-meta{
  min-width:150px;
  display:grid;
  justify-items:end;
  gap:2px;
  padding:9px 12px;
  border-radius:14px;
  background:rgba(4,34,43,.54);
  border:1px solid rgba(105,208,198,.17);
}
.capacity-page-head-meta>span{font-size:7px;letter-spacing:.11em;font-weight:900;color:#6dd9cf}
.capacity-page-head-meta>strong{font-size:15px;color:#fff}
.capacity-page-head-meta>small{font-size:8px;color:#85abae}
.capacity-overview-panel,.capacity-attention-panel{
  padding:15px!important;
  background:linear-gradient(145deg,#0c3a46,#082d38)!important;
  border-color:rgba(105,208,198,.16)!important;
}
.capacity-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.capacity-overview-head h2{margin:2px 0 0!important;color:#f3fbfb!important;font-size:15px!important}
.capacity-overview-head p{margin:3px 0 0!important}
.capacity-health-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:8px;font-weight:900;border:1px solid rgba(105,208,198,.18);background:#082a34;color:#8edbd4;white-space:nowrap}
.capacity-health-chip.warn{border-color:rgba(229,168,47,.32);color:#f0c861;background:rgba(96,63,8,.28)}
.capacity-compact-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.capacity-compact-grid article{
  position:relative;
  min-height:73px;
  display:grid;
  align-content:center;
  gap:3px;
  padding:10px 11px 15px;
  border:1px solid rgba(105,208,198,.12);
  border-radius:13px;
  background:#082a35;
  overflow:hidden;
}
.capacity-compact-grid article>span{font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#7ea0a7}
.capacity-compact-grid article>strong{font-size:17px;color:#fff;line-height:1}.capacity-compact-grid article>strong small{font-size:8px;color:#84a4aa;font-weight:700}
.capacity-compact-grid article>em{font-size:7.5px;color:#75a1a6;font-style:normal}
.capacity-compact-grid article>i{position:absolute;left:10px;right:10px;bottom:8px;height:3px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.capacity-compact-grid article>i>b{display:block;width:var(--capacity-pct,0%);height:100%;border-radius:99px;background:#48d0c5}
.capacity-compact-grid article.unlimited{background:linear-gradient(145deg,#0a3540,#0b2b3b)}
.capacity-compact-grid article.unlimited>strong{color:#67ded3}.capacity-compact-grid article.live>strong{color:#8fd9ff}
.capacity-observation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capacity-observation-column{min-width:0;padding:11px;border:1px solid rgba(105,208,198,.10);border-radius:14px;background:#082a34}
.capacity-observation-column h3{margin:0 0 8px;color:#dfeff0;font-size:10px}
.capacity-observation-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 3px;text-decoration:none;border-top:1px solid rgba(255,255,255,.045);color:inherit}
.capacity-observation-column h3+.capacity-observation-item{border-top:0}
.capacity-observation-item>span{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;background:#0c3a45;color:#63d8ce;font-size:9px;font-weight:900}
.capacity-observation-item>div{min-width:0;display:grid;gap:1px}.capacity-observation-item strong{font-size:9px;color:#edf8f8}.capacity-observation-item small{font-size:7.5px;color:#7f9fa5;line-height:1.35}.capacity-observation-item>b{font-size:7.5px;color:#69d8cf}.capacity-observation-item.danger>span{background:rgba(200,60,75,.18);color:#ff8793}.capacity-observation-item.warn>span{background:rgba(220,157,38,.16);color:#e8bd61}.capacity-observation-item.muted-item{opacity:.82}.capacity-empty-state{padding:10px 2px;color:#75979e;font-size:8px}.capacity-more-link{display:inline-block;margin-top:6px;font-size:8px;color:#69d8cf;text-decoration:none}

/* Las cabeceras ya funcionan como tarjeta única. Ocultamos estilos del banner antiguo por compatibilidad. */
.device-unlimited-banner{display:none!important}

@media(max-width:1180px){
  .settings-rules-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.settings-rule{grid-column:span 2}.settings-rule.settings-rule-wide{grid-column:span 4}
  .settings-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .capacity-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .settings-rules-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .settings-rule,.settings-rule.settings-rule-wide{grid-column:span 1!important}
  .settings-rule.settings-rule-wide{grid-column:1/-1!important}
  .settings-rule-number input{max-width:none!important}
  .settings-time-row{grid-template-columns:1fr 22px 1fr!important}
  .settings-toggle-grid{grid-template-columns:1fr!important}
  .settings-toggle{min-height:58px!important}
  .settings-section-card{padding:13px!important}
  .device-page-head,.capacity-page-head{align-items:flex-start!important}
  .device-page-head-meta,.capacity-page-head-meta{width:100%;min-width:0;justify-items:start;grid-template-columns:auto 1fr;align-items:baseline;column-gap:7px}
  .device-page-head-meta span,.capacity-page-head-meta small{align-self:end}
  .capacity-page-head-meta>span{grid-column:1/-1}
  .capacity-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capacity-observation-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .settings-rules-grid{grid-template-columns:1fr!important}.settings-rule,.settings-rule.settings-rule-wide{grid-column:1!important}
  .settings-time-row{grid-template-columns:1fr 18px 1fr!important}
  .settings-time-row input{font-size:11px!important;padding:7px!important}
  .capacity-compact-grid{grid-template-columns:1fr 1fr}
  .capacity-compact-grid article{min-height:68px;padding:9px 9px 14px}
  .device-inline-benefit{display:grid;grid-template-columns:auto 1fr}.device-inline-benefit small{grid-column:1/-1}
}

/* Faro v3.6.181 · compactación final Supervisor */

/* Ajustes: dos columnas reales y controles de tamaño proporcional */
.settings-master-form{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.settings-master-form>.settings-section-card{margin:0!important;height:auto!important}
.settings-master-form>.settings-section-card:nth-of-type(1){grid-column:1!important}
.settings-master-form>.settings-section-card:nth-of-type(2){grid-column:2!important}
.settings-master-form>.settings-section-card:nth-of-type(3){grid-column:1/-1!important}
.settings-master-form>.settings-save-bar{grid-column:1/-1!important}
.settings-section-card{padding:13px 14px!important}
.settings-section-head{grid-template-columns:34px minmax(0,1fr) 28px!important;gap:8px!important;margin-bottom:10px!important}
.settings-section-icon{width:32px!important;height:32px!important;border-radius:10px!important;font-size:14px!important}
.settings-section-head h2{font-size:14px!important;margin:1px 0 2px!important}
.settings-section-head p{font-size:8px!important;line-height:1.35!important;margin:0!important}
.settings-time-row{grid-template-columns:136px 18px 136px!important;gap:7px!important;margin-top:8px!important;justify-content:start!important}
.settings-time-row label{font-size:8px!important;gap:4px!important}
.settings-time-row input{height:36px!important;min-height:36px!important;padding:6px 8px!important;font-size:10px!important;border-radius:10px!important}
.settings-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
.settings-rule,.settings-rule.settings-rule-wide{grid-column:span 1!important;padding:8px 9px!important;border:1px solid rgba(105,208,198,.10)!important;border-radius:11px!important;background:rgba(5,35,44,.34)!important}
.settings-rule>span{min-height:16px!important;font-size:8px!important}
.settings-rule input,.settings-rule select{height:36px!important;min-height:36px!important;font-size:10px!important;padding:6px 8px!important;border-radius:9px!important}
.settings-rule-number input{width:86px!important;max-width:86px!important}
.settings-rule small{font-size:7px!important;line-height:1.25!important}
.settings-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:8px!important}
.settings-toggle{min-height:58px!important;padding:9px 10px!important;border-radius:11px!important}
.settings-toggle strong{font-size:9px!important}.settings-toggle small{font-size:7.5px!important}
.settings-toggle input{width:17px!important;height:17px!important;min-width:17px!important;flex-basis:17px!important}
.settings-save-bar{padding:9px 11px!important;border-radius:12px!important}
.settings-save-bar strong{font-size:9px!important}.settings-save-bar span{font-size:7px!important}
.settings-save-bar .btn{min-height:36px!important;padding:8px 13px!important}

/* Capacidad contratada: solo plan, KPIs grandes y claros */
.capacity-plan-only{padding:17px!important}
.capacity-plan-only .capacity-overview-head{margin-bottom:14px!important}
.capacity-plan-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
.capacity-plan-grid article{
  min-height:126px!important;
  padding:15px 15px 22px!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,#0b3742,#082a35)!important;
  border:1px solid rgba(105,208,198,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.capacity-plan-grid article>span{font-size:9px!important;letter-spacing:.08em!important;color:#9ab6bb!important}
.capacity-plan-grid article>strong{font-size:29px!important;line-height:1!important;margin-top:3px!important;color:#fff!important}
.capacity-plan-grid article>strong small{font-size:11px!important;color:#9cb9be!important}
.capacity-plan-grid article>em{font-size:9px!important;color:#78d9d0!important;margin-top:5px!important}
.capacity-plan-grid article>i{left:15px!important;right:15px!important;bottom:13px!important;height:5px!important;background:rgba(255,255,255,.075)!important}
.capacity-plan-grid article>i>b{background:linear-gradient(90deg,#28bfb3,#65ded2)!important}
.android-capacity-card{display:flex!important;align-items:center!important;gap:12px!important;background:linear-gradient(145deg,#103a3e,#0a3037)!important;border-color:rgba(61,220,132,.27)!important}
.android-capacity-card>img{width:38px!important;height:38px!important;flex:0 0 38px!important;color:#3DDC84!important;filter:drop-shadow(0 5px 12px rgba(61,220,132,.10))}
.android-capacity-card>div{display:grid;gap:3px;min-width:0}
.android-capacity-card>div>span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9ab6bb}
.android-capacity-card>div>strong{font-size:24px;line-height:1;color:#fff}.android-capacity-card>div>strong small{font-size:10px;color:#9cb9be}
.android-capacity-card>div>em{font-size:8px;color:#78d9d0;font-style:normal}

/* Bitácora: filtro automático, simétrico y móvil sin solapamientos */
.audit-filter-panel{padding:12px 14px!important}
.audit-filter-row{display:grid!important;grid-template-columns:minmax(150px,190px) minmax(150px,190px) minmax(220px,1fr)!important;gap:10px!important;align-items:end!important}
.audit-filter-row label{display:grid!important;gap:5px!important;min-width:0!important;font-size:8px!important}
.audit-filter-row input,.audit-filter-row select{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;border-radius:10px!important}
.audit-filter-hint{grid-column:1/-1;color:#71969d;font-size:7.5px;margin-top:-2px}

/* Importadores: selector de archivo con apariencia Faro */
.import-grid{align-items:stretch!important}
.import-panel{display:flex!important;flex-direction:column!important;gap:8px!important}
.import-panel>h2,.import-panel>p{margin-bottom:0!important}
.import-panel>.btn{align-self:flex-start!important}
.import-form{margin-top:auto!important;gap:8px!important}
.import-file-field{display:grid!important;gap:5px!important;font-size:8px!important;color:#9ab8bd!important}
.import-file-field input[type=file]{
  width:100%!important;
  min-height:42px!important;
  padding:5px!important;
  border:1px solid rgba(105,208,198,.20)!important;
  border-radius:11px!important;
  background:#062631!important;
  color:#a9c4c9!important;
  font-size:9px!important;
}
.import-file-field input[type=file]::file-selector-button{
  border:0!important;
  border-radius:8px!important;
  padding:8px 11px!important;
  margin-right:9px!important;
  background:linear-gradient(100deg,#17a99f,#31bdb1)!important;
  color:#fff!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.import-file-field input[type=file]::-webkit-file-upload-button{
  border:0!important;
  border-radius:8px!important;
  padding:8px 11px!important;
  margin-right:9px!important;
  background:linear-gradient(100deg,#17a99f,#31bdb1)!important;
  color:#fff!important;
  font-weight:900!important;
  cursor:pointer!important;
}

@media(max-width:1180px){
  .settings-master-form{grid-template-columns:1fr 1fr!important}
  .capacity-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .android-capacity-card{grid-column:span 1!important}
}
@media(max-width:780px){
  .settings-master-form{grid-template-columns:1fr!important;gap:9px!important}
  .settings-master-form>.settings-section-card:nth-of-type(1),.settings-master-form>.settings-section-card:nth-of-type(2),.settings-master-form>.settings-section-card:nth-of-type(3),.settings-master-form>.settings-save-bar{grid-column:1!important}
  .settings-rules-grid{grid-template-columns:1fr 1fr!important}
  .settings-time-row{grid-template-columns:1fr 18px 1fr!important}
  .settings-time-row input{width:100%!important}
  .settings-toggle-grid{grid-template-columns:1fr 1fr!important}
  .capacity-plan-grid{grid-template-columns:1fr 1fr!important}
  .capacity-plan-grid article{min-height:108px!important;padding:13px 13px 20px!important}
  .capacity-plan-grid article>strong{font-size:25px!important}
  .android-capacity-card{grid-column:1/-1!important;min-height:92px!important}
  .audit-filter-row{grid-template-columns:1fr!important;gap:8px!important}
  .audit-filter-row label{width:100%!important}
  .audit-filter-hint{grid-column:1!important}
}
@media(max-width:480px){
  .settings-rules-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .settings-rule{padding:7px!important}
  .settings-rule-number input{width:72px!important;max-width:72px!important}
  .settings-toggle-grid{grid-template-columns:1fr!important}
  .capacity-plan-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .capacity-plan-grid article{min-height:100px!important;padding:11px 11px 19px!important}
  .capacity-plan-grid article>span{font-size:8px!important}.capacity-plan-grid article>strong{font-size:22px!important}.capacity-plan-grid article>strong small{font-size:9px!important}.capacity-plan-grid article>em{font-size:8px!important}
  .android-capacity-card{grid-column:1/-1!important}
}

/* Faro v3.6.182 · simetría de Ajustes, capacidad visible y respaldos CSV */

/* Ajustes: aprovechar ambos ejes y eliminar huecos del escritorio */
.settings-master-form{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:
    "schedule rules"
    "assist   rules"
    "save     save"!important;
  gap:12px!important;
  align-items:stretch!important;
}
.settings-master-form>.settings-section-card:nth-of-type(1){grid-area:schedule!important}
.settings-master-form>.settings-section-card:nth-of-type(2){grid-area:rules!important;height:100%!important}
.settings-master-form>.settings-section-card:nth-of-type(3){grid-area:assist!important}
.settings-master-form>.settings-save-bar{grid-area:save!important}
.settings-master-form>.settings-section-card{min-width:0!important}
.settings-master-form>.settings-section-card:nth-of-type(2) .settings-rules-grid{align-content:start!important}
.settings-master-form>.settings-section-card:nth-of-type(2) .settings-rule:last-child{grid-column:1/-1!important}
.settings-rule-number input[type=number]{
  width:92px!important;
  max-width:92px!important;
  min-width:92px!important;
  justify-self:start!important;
  align-self:start!important;
}
.settings-rule select{width:100%!important;min-width:0!important}
.settings-rule{align-content:start!important}
.settings-time-row{max-width:330px!important}
.settings-toggle-grid{grid-template-columns:1fr 1fr!important}
.settings-toggle{min-height:64px!important}

/* Capacidad: cifras y disponibilidad como información comercial principal */
.capacity-plan-grid{gap:12px!important}
.capacity-plan-grid article{
  min-height:148px!important;
  padding:18px 17px 27px!important;
  justify-content:center!important;
}
.capacity-plan-grid article>span{
  font-size:11px!important;
  color:#a8c2c7!important;
  letter-spacing:.075em!important;
}
.capacity-plan-grid article>strong{
  display:block!important;
  font-size:34px!important;
  line-height:1.05!important;
  margin:8px 0 5px!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
}
.capacity-plan-grid article>em{
  display:block!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:#6fe0d5!important;
  margin-top:3px!important;
}
.capacity-plan-grid article>i{height:7px!important;bottom:14px!important}
.capacity-plan-grid article.capacity-near{border-color:rgba(236,176,50,.46)!important;background:linear-gradient(145deg,#153b40,#17342f)!important}
.capacity-plan-grid article.capacity-near>em{color:#f2c65d!important}
.capacity-plan-grid article.capacity-near>i>b{background:linear-gradient(90deg,#d49a20,#f1c458)!important}
.capacity-plan-grid article.capacity-full{border-color:rgba(239,76,93,.5)!important;background:linear-gradient(145deg,#17363e,#3a2630)!important}
.capacity-plan-grid article.capacity-full>em{color:#ff8894!important}
.capacity-plan-grid article.capacity-full>i>b{background:linear-gradient(90deg,#d13c50,#f15e70)!important}
.android-capacity-card{justify-content:flex-start!important}
.android-capacity-card>img{width:48px!important;height:48px!important;flex-basis:48px!important}
.android-capacity-card>div>span{font-size:11px!important;color:#a8c2c7!important}
.android-capacity-card>div>strong{font-size:29px!important;margin:5px 0 3px!important;white-space:nowrap!important}
.android-capacity-card>div>em{font-size:11px!important;font-weight:800!important}

/* Exportación de catálogos */
.catalog-backup-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.catalog-backup-actions .btn{white-space:nowrap!important}
.agents-toolbar .catalog-backup-actions{margin-left:auto!important}

@media(max-width:1180px){
  .capacity-plan-grid article>strong{font-size:30px!important}
  .capacity-plan-grid article>em{font-size:11px!important}
}
@media(max-width:780px){
  .settings-master-form{
    grid-template-columns:1fr!important;
    grid-template-areas:"schedule" "rules" "assist" "save"!important;
    align-items:start!important;
  }
  .settings-master-form>.settings-section-card:nth-of-type(2){height:auto!important}
  .settings-master-form>.settings-section-card:nth-of-type(2) .settings-rule:last-child{grid-column:1/-1!important}
  .settings-time-row{max-width:none!important}
  .catalog-backup-actions{width:100%!important;justify-content:stretch!important}
  .catalog-backup-actions .btn{flex:1 1 0!important;text-align:center!important}
  .capacity-plan-grid article{min-height:124px!important;padding:15px 14px 25px!important}
  .capacity-plan-grid article>strong{font-size:29px!important}
  .capacity-plan-grid article>em{font-size:10.5px!important}
}
@media(max-width:480px){
  .settings-rules-grid{grid-template-columns:1fr 1fr!important}
  .settings-rule-number input[type=number]{width:76px!important;min-width:76px!important;max-width:76px!important}
  .settings-toggle-grid{grid-template-columns:1fr!important}
  .capacity-plan-grid article{min-height:116px!important;padding:13px 12px 23px!important}
  .capacity-plan-grid article>span{font-size:9px!important}
  .capacity-plan-grid article>strong{font-size:25px!important}
  .capacity-plan-grid article>em{font-size:9.5px!important}
  .android-capacity-card>img{width:42px!important;height:42px!important;flex-basis:42px!important}
  .android-capacity-card>div>strong{font-size:23px!important}
}

/* Faro 3.6.183 · Ajustes compactos, nodos refinados y paginaciones unificadas */
.report-schedules-head-simple{margin-bottom:14px}
.report-schedule-overview-card{display:grid;gap:18px;padding:22px 24px;border:1px solid rgba(72,193,201,.18);background:linear-gradient(135deg,rgba(25,77,93,.82),rgba(14,53,68,.96))}
.report-schedule-overview-main{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.report-schedule-overview-copy h2{margin:6px 0 8px;font-size:28px;line-height:1.05;color:#fff}
.report-schedule-overview-actions{display:flex;gap:10px;flex-wrap:wrap}
.report-schedule-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.report-schedule-overview-kpi{padding:16px 18px;border-radius:18px;background:rgba(7,29,40,.42);border:1px solid rgba(93,202,206,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.report-schedule-overview-kpi span{display:block;font-size:11px;letter-spacing:.16em;font-weight:900;color:#7fe0dc;text-transform:uppercase}
.report-schedule-overview-kpi strong{display:block;margin-top:8px;font-size:24px;line-height:1.05;color:#fff}
.report-schedule-overview-kpi small{display:block;margin-top:6px;color:#b7d3d8;font-size:12px;line-height:1.35}

.settings-page-shell{display:grid;gap:16px}
.settings-composer-card{padding:18px;display:grid;gap:16px}
.settings-composer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 4px 8px}
.settings-composer-head h2{margin:4px 0 6px}
.settings-composer-grid{display:grid;grid-template-columns:1.05fr 1.35fr;gap:16px;align-items:stretch}
.settings-mini-card{padding:18px;border-radius:22px;border:1px solid rgba(80,198,205,.14);background:linear-gradient(180deg,rgba(10,42,54,.72),rgba(8,31,43,.9));display:grid;gap:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.settings-mini-card-full{grid-column:1 / -1}
.settings-mini-card .settings-section-head{margin:0;padding:0;border:0;background:none;min-height:0}
.settings-mini-card .settings-section-head h3{margin:4px 0 6px;font-size:28px;line-height:1.05;color:#fff}
.settings-mini-card .settings-section-head p{margin:0;color:#abc4ca;max-width:720px}
.settings-rules-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-rule-full{grid-column:1 / -1}
.settings-toggle-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-save-bar-v2{margin-top:2px;padding:16px 18px;border-radius:18px;background:rgba(7,27,37,.62);border:1px solid rgba(84,203,206,.16)}
.settings-access-card-v2{padding:18px}
.settings-access-card-v2 .password-form{gap:10px}

.node-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.node-pager-size label,.table-pager-size label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:850;color:#9cb7bf}
.node-pager-size select,.table-pager-size select{min-width:76px;height:38px;padding:7px 12px;border-radius:12px;border:1px solid rgba(104,216,218,.18);background:rgba(7,30,41,.82);color:#fff}
.node-list-panel .table-section-head{margin-bottom:16px}
.node-catalog-grid{gap:16px}
.node-catalog-card{padding:16px;border-radius:22px;border:1px solid rgba(93,205,208,.16);background:linear-gradient(180deg,rgba(18,74,90,.48),rgba(8,32,43,.95));display:grid;gap:14px;box-shadow:0 18px 34px rgba(2,14,20,.18), inset 0 1px 0 rgba(255,255,255,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.node-catalog-card:hover{transform:translateY(-2px);border-color:rgba(123,228,226,.28);box-shadow:0 22px 38px rgba(2,14,20,.25), inset 0 1px 0 rgba(255,255,255,.04)}
.node-card-top{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:start}
.node-card-visual{width:92px;height:92px;border-radius:20px;background:linear-gradient(145deg,rgba(97,233,221,.14),rgba(29,100,116,.28));border:1px solid rgba(116,225,224,.18);display:grid;place-items:center;overflow:hidden;color:#8fe8df;font-size:30px}
.node-card-visual img{width:100%;height:100%;object-fit:cover}
.node-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.node-card-title strong{font-size:20px;line-height:1.1;color:#fff}
.node-card-title span{padding:6px 10px;border-radius:999px;background:rgba(9,33,45,.68);border:1px solid rgba(114,214,218,.18);font-size:11px;font-weight:900;color:#9edbd9;white-space:nowrap}
.node-card-description{margin:8px 0 0;color:#a8c3ca;font-size:13px;line-height:1.45;min-height:40px}
.node-card-tags{display:flex;gap:8px;flex-wrap:wrap}
.node-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(8,31,43,.8);border:1px solid rgba(106,211,217,.18);font-size:11px;font-weight:900;color:#d5f3f0}
.node-pill.ok{background:rgba(42,114,97,.18);border-color:rgba(103,226,186,.24);color:#8ce5c8}
.node-pill.pending{background:rgba(135,94,36,.18);border-color:rgba(243,191,115,.25);color:#ffd599}
.node-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:2px}
.node-card-footer small{color:#90aeb7;font-size:12px}
.node-detail-button.btn{min-width:132px}
.node-pagination{justify-content:flex-end;gap:6px;margin-top:18px}
.node-pagination .table-page-btn{min-width:34px;height:34px}

.table-section-head{align-items:flex-end}
.table-pagination{margin-top:14px}
.table-pagination .table-page-btn{display:grid;place-items:center}
.activity-feed article[hidden],
#devicesTableBody tr[hidden],
#incidentsTableBody tr[hidden],
#trashTableBody tr[hidden],
#auditTableBody tr[hidden]{display:none !important}

@media (max-width: 1100px){
  .report-schedule-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-composer-grid{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .report-schedule-overview-copy h2{font-size:24px}
  .settings-mini-card .settings-section-head h3{font-size:24px}
  .settings-rules-grid-v2,.settings-toggle-grid-v2{grid-template-columns:1fr}
  .node-card-top{grid-template-columns:76px 1fr}
  .node-card-visual{width:76px;height:76px;border-radius:18px}
}
@media (max-width: 640px){
  .report-schedule-overview-grid{grid-template-columns:1fr}
  .report-schedule-overview-main,.settings-composer-head,.node-card-footer,.node-toolbar{align-items:stretch}
  .report-schedule-overview-actions,.node-card-footer .btn,.node-detail-button.btn{width:100%}
  .node-card-footer{flex-direction:column;align-items:stretch}
  .node-card-title{flex-direction:column}
}
.capacity-plan-grid article strong{font-size:34px;line-height:1.02;letter-spacing:-.02em}
.capacity-plan-grid article span{font-size:12px;letter-spacing:.14em}
.capacity-plan-grid article em{font-size:13px;line-height:1.35;color:#b7d1d6}
.android-capacity-card strong{font-size:34px}

/* Faro v3.6.184 · Animación Ajustes + coherencia móvil + tablas + capacidad */

/* Indicador animado de Ajustes */
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  border-radius:999px!important;
  font-size:0!important;
  color:transparent!important;
  background:linear-gradient(145deg,rgba(60,204,192,.18),rgba(18,98,112,.28))!important;
  border:1px solid rgba(91,220,210,.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 14px rgba(0,0,0,.16)!important;
  transform:translateX(0)!important;
  transition:transform .34s cubic-bezier(.22,1,.36,1),background .25s ease,border-color .25s ease,box-shadow .25s ease!important;
  overflow:hidden!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron::before{
  content:""!important;
  width:8px!important;
  height:8px!important;
  border-top:2px solid #75e0d7!important;
  border-right:2px solid #75e0d7!important;
  transform:translateX(-2px) rotate(45deg)!important;
  transform-origin:center!important;
  transition:transform .34s cubic-bezier(.22,1,.36,1),border-color .25s ease!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron::after{
  content:""!important;
  position:absolute!important;
  inset:4px!important;
  border-radius:999px!important;
  background:radial-gradient(circle at 50% 50%,rgba(116,236,225,.18),transparent 66%)!important;
  opacity:0!important;
  transform:scale(.6)!important;
  transition:opacity .28s ease,transform .34s cubic-bezier(.22,1,.36,1)!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary:hover .admin-nav-group-chevron{
  border-color:rgba(116,236,225,.48)!important;
  background:linear-gradient(145deg,rgba(69,221,208,.26),rgba(17,108,121,.36))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 7px 18px rgba(0,0,0,.2),0 0 0 3px rgba(50,190,181,.07)!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron{
  background:linear-gradient(145deg,#2bb9ad,#198d97)!important;
  border-color:rgba(137,243,232,.56)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px rgba(16,125,130,.24),0 0 0 4px rgba(46,196,185,.08)!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron::before{
  border-color:#062f3c!important;
  transform:translateX(2px) rotate(225deg)!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron::after{
  opacity:1!important;
  transform:scale(1)!important;
}

/* Tablas: lenguaje visual único */
body.admin-body:not(.superadmin-body) .table-wrap{
  border:1px solid rgba(93,199,203,.16)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(13,57,70,.72),rgba(7,34,45,.9))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 28px rgba(0,0,0,.12)!important;
  overflow:auto;
}
body.admin-body:not(.superadmin-body) .table-wrap table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:transparent!important;
}
body.admin-body:not(.superadmin-body) .table-wrap th{
  padding:12px 12px!important;
  background:rgba(35,90,102,.56)!important;
  color:#9ed3d5!important;
  border-bottom:1px solid rgba(103,207,209,.16)!important;
  font-size:9px!important;
  letter-spacing:.11em!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
body.admin-body:not(.superadmin-body) .table-wrap td{
  padding:12px 12px!important;
  color:#e6f3f4!important;
  border-bottom:1px solid rgba(102,191,196,.10)!important;
  background:rgba(3,26,36,.13)!important;
  vertical-align:middle!important;
}
body.admin-body:not(.superadmin-body) .table-wrap tbody tr:nth-child(even) td{
  background:rgba(20,68,80,.14)!important;
}
body.admin-body:not(.superadmin-body) .table-wrap tbody tr:hover td{
  background:rgba(53,145,151,.11)!important;
}
body.admin-body:not(.superadmin-body) .table-wrap tbody tr:last-child td{
  border-bottom:0!important;
}
body.admin-body:not(.superadmin-body) .table-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:12px!important;
}
body.admin-body:not(.superadmin-body) .table-section-head h2{margin:0 0 3px!important}
body.admin-body:not(.superadmin-body) .table-pager-size label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:6px 8px!important;
  border-radius:12px!important;
  background:rgba(7,31,42,.55)!important;
  border:1px solid rgba(91,199,202,.13)!important;
  color:#9ebbc0!important;
}
body.admin-body:not(.superadmin-body) .table-pager-size select{
  min-width:72px!important;
  height:34px!important;
  border-radius:10px!important;
  background:#082f3c!important;
  color:#fff!important;
  border:1px solid rgba(98,211,211,.18)!important;
}
body.admin-body:not(.superadmin-body) .table-pagination{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
body.admin-body:not(.superadmin-body) .table-page-btn{
  min-width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  border:1px solid rgba(91,201,204,.16)!important;
  background:rgba(9,41,53,.76)!important;
  color:#cce3e6!important;
  font-weight:900!important;
}
body.admin-body:not(.superadmin-body) .table-page-btn:hover:not(:disabled){
  background:rgba(42,168,164,.18)!important;
  border-color:rgba(81,217,207,.32)!important;
  color:#fff!important;
}
body.admin-body:not(.superadmin-body) .table-page-btn.active{
  background:linear-gradient(145deg,#2abdb0,#209ea5)!important;
  color:#052f3b!important;
  border-color:transparent!important;
  box-shadow:0 7px 16px rgba(24,150,153,.18)!important;
}
body.admin-body:not(.superadmin-body) .table-page-info{
  margin-left:6px!important;
  color:#8aa9b0!important;
  font-size:11px!important;
  font-weight:800!important;
}

/* Capacidad contratada: jerarquía más fuerte y comercial */
body.admin-tab-health .capacity-page-head{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(78,207,198,.18)!important;
  background:linear-gradient(125deg,rgba(22,80,92,.88),rgba(10,43,57,.96))!important;
}
body.admin-tab-health .capacity-page-head::after{
  content:"";
  position:absolute;
  width:220px;height:220px;
  right:-70px;top:-105px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(78,221,207,.14),transparent 70%);
  pointer-events:none;
}
body.admin-tab-health .capacity-page-head h1{font-size:34px!important}
body.admin-tab-health .capacity-page-head-meta{
  min-width:210px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:rgba(5,31,42,.55)!important;
  border:1px solid rgba(113,221,214,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.admin-tab-health .capacity-page-head-meta span{font-size:9px!important;letter-spacing:.16em!important}
body.admin-tab-health .capacity-page-head-meta strong{font-size:24px!important;color:#fff!important}
body.admin-tab-health .capacity-overview-panel{padding:20px!important}
body.admin-tab-health .capacity-overview-head{margin-bottom:16px!important}
body.admin-tab-health .capacity-overview-head h2{font-size:28px!important;margin:4px 0 5px!important}
body.admin-tab-health .capacity-plan-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
}
body.admin-tab-health .capacity-plan-grid article{
  position:relative!important;
  min-height:154px!important;
  padding:18px 18px 28px!important;
  border-radius:20px!important;
  background:linear-gradient(160deg,rgba(18,71,85,.72),rgba(6,31,43,.96))!important;
  border:1px solid rgba(99,207,209,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 24px rgba(0,0,0,.10)!important;
}
body.admin-tab-health .capacity-plan-grid article>span{
  font-size:10px!important;
  letter-spacing:.14em!important;
  color:#93bec2!important;
}
body.admin-tab-health .capacity-plan-grid article>strong{
  display:block!important;
  margin-top:10px!important;
  font-size:38px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
}
body.admin-tab-health .capacity-plan-grid article>em{
  display:block!important;
  margin-top:10px!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:800!important;
  color:#7de0d7!important;
}
body.admin-tab-health .capacity-plan-grid article>i{
  left:18px!important;right:18px!important;bottom:15px!important;
  height:8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  overflow:hidden!important;
}
body.admin-tab-health .capacity-plan-grid article>i>b{border-radius:inherit!important}
body.admin-tab-health .capacity-plan-grid article.capacity-near{
  border-color:rgba(235,179,60,.45)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 0 1px rgba(235,179,60,.04),0 12px 26px rgba(0,0,0,.11)!important;
}
body.admin-tab-health .capacity-plan-grid article.capacity-full{
  border-color:rgba(241,83,100,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 0 1px rgba(241,83,100,.05),0 14px 28px rgba(71,16,26,.15)!important;
}
body.admin-tab-health .android-capacity-card{
  align-content:center!important;
  grid-template-columns:52px 1fr!important;
  gap:14px!important;
}
body.admin-tab-health .android-capacity-card img{width:46px!important;height:46px!important;object-fit:contain!important}
body.admin-tab-health .android-capacity-card strong{font-size:30px!important}

/* Pulido móvil general del Supervisor */
@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .admin-main{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.admin-body:not(.superadmin-body) .page-head{
    gap:12px!important;
    padding:16px 16px!important;
    border-radius:18px!important;
  }
  body.admin-body:not(.superadmin-body) .page-head h1{font-size:30px!important;line-height:1.02!important}
  body.admin-body:not(.superadmin-body) .page-head p{font-size:14px!important;line-height:1.45!important}
  body.admin-body:not(.superadmin-body) .panel{
    padding:14px!important;
    border-radius:18px!important;
  }
  body.admin-body:not(.superadmin-body) .btn{
    min-height:40px!important;
    border-radius:12px!important;
  }
  body.admin-body:not(.superadmin-body) .table-section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  body.admin-body:not(.superadmin-body) .table-pager-size,
  body.admin-body:not(.superadmin-body) .table-pager-size label{width:100%!important}
  body.admin-body:not(.superadmin-body) .table-pager-size label{justify-content:space-between!important}
  body.admin-body:not(.superadmin-body) .table-pager-size select{min-width:92px!important}
  body.admin-body:not(.superadmin-body) .table-pagination{justify-content:center!important;margin-top:12px!important}
  body.admin-body:not(.superadmin-body) .table-page-info{width:100%!important;text-align:center!important;margin:2px 0 0!important}

  /* Ajustes: compacto en móvil, sin bloques sobredimensionados */
  body.admin-tab-settings .settings-composer-card{padding:12px!important;gap:12px!important}
  body.admin-tab-settings .settings-composer-head{padding:2px!important;gap:10px!important}
  body.admin-tab-settings .settings-composer-head h2{font-size:24px!important}
  body.admin-tab-settings .settings-mini-card{padding:14px!important;border-radius:17px!important;gap:12px!important}
  body.admin-tab-settings .settings-mini-card .settings-section-head{grid-template-columns:38px 1fr 32px!important;gap:9px!important}
  body.admin-tab-settings .settings-mini-card .settings-section-head h3{font-size:21px!important}
  body.admin-tab-settings .settings-time-row{display:grid!important;grid-template-columns:1fr 24px 1fr!important;gap:7px!important;align-items:end!important}
  body.admin-tab-settings .settings-time-row input{width:100%!important;min-width:0!important}
  body.admin-tab-settings .settings-rules-grid-v2{grid-template-columns:1fr!important;gap:9px!important}
  body.admin-tab-settings .settings-rule{padding:10px!important;border-radius:13px!important}
  body.admin-tab-settings .settings-rule input[type=number]{max-width:110px!important;width:100%!important}
  body.admin-tab-settings .settings-toggle-grid-v2{grid-template-columns:1fr!important;gap:8px!important}
  body.admin-tab-settings .settings-toggle{min-height:54px!important;padding:10px!important}
  body.admin-tab-settings .settings-save-bar-v2{align-items:stretch!important;gap:10px!important;flex-direction:column!important}
  body.admin-tab-settings .settings-save-bar-v2 .btn{width:100%!important}

  /* Reportes programados */
  body.admin-tab-report_schedules .report-schedule-overview-card{padding:16px!important;gap:14px!important}
  body.admin-tab-report_schedules .report-schedule-overview-main{align-items:stretch!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions .btn{width:100%!important}
  body.admin-tab-report_schedules .report-schedule-overview-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  body.admin-tab-report_schedules .report-schedule-overview-kpi{padding:12px!important;border-radius:14px!important}
  body.admin-tab-report_schedules .report-schedule-overview-kpi strong{font-size:19px!important}
  body.admin-tab-report_schedules .report-schedule-overview-kpi small{font-size:10px!important}

  /* Capacidad */
  body.admin-tab-health .capacity-page-head{align-items:stretch!important}
  body.admin-tab-health .capacity-page-head-meta{width:100%!important;min-width:0!important}
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  body.admin-tab-health .capacity-plan-grid article{min-height:128px!important;padding:14px 13px 25px!important;border-radius:17px!important}
  body.admin-tab-health .capacity-plan-grid article>strong{font-size:31px!important}
  body.admin-tab-health .capacity-plan-grid article>em{font-size:10.5px!important}
  body.admin-tab-health .android-capacity-card{grid-column:1 / -1!important;min-height:110px!important}

  /* Nodos */
  body.admin-tab-nodes .node-toolbar{align-items:stretch!important}
  body.admin-tab-nodes .node-pager-size{width:100%!important}
  body.admin-tab-nodes .node-catalog-grid{grid-template-columns:1fr!important}
  body.admin-tab-nodes .node-catalog-card{padding:13px!important;border-radius:18px!important}
  body.admin-tab-nodes .node-card-top{grid-template-columns:74px 1fr!important}
  body.admin-tab-nodes .node-card-visual{width:74px!important;height:86px!important;border-radius:16px!important}
  body.admin-tab-nodes .node-card-title strong{font-size:18px!important}

  /* Tablas compactas, sin perder identidad */
  body.admin-body:not(.superadmin-body) .table-wrap th{padding:10px 8px!important;font-size:8px!important}
  body.admin-body:not(.superadmin-body) .table-wrap td{padding:10px 8px!important}
}

@media(max-width:480px){
  body.admin-tab-report_schedules .report-schedule-overview-grid{grid-template-columns:1fr!important}
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:1fr!important}
  body.admin-tab-health .android-capacity-card{grid-column:auto!important}
  body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{width:26px!important;height:26px!important;min-width:26px!important}
}

@keyframes faroSettingsChevronNudge{
  0%,100%{translate:0 0}
  45%{translate:2px 0}
}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary:hover .admin-nav-group-chevron::before{
  animation:faroSettingsChevronNudge .62s ease both!important;
}
@media(max-width:780px){
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-chevron,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    right:2px!important;
    bottom:2px!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    border-radius:999px!important;
    background:linear-gradient(145deg,#36c9ba,#269aa3)!important;
    border:1px solid rgba(151,246,236,.46)!important;
    box-shadow:0 0 0 2px #062B38,0 5px 11px rgba(11,110,118,.28)!important;
    font-size:0!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-chevron::before,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-chevron::before{
    width:6px!important;height:6px!important;
    border-width:2px!important;
    border-color:#073440!important;
    transform:translateX(-1px) rotate(45deg)!important;
  }
}


/* Faro 3.6.185 · Corrección definitiva de tarjetas de Nodos */
body.admin-tab-nodes .node-catalog-card{
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  min-width:0!important;
  overflow:hidden!important;
}
body.admin-tab-nodes .node-card-top{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:15px!important;
  align-items:start!important;
  min-width:0!important;
}
body.admin-tab-nodes .node-card-copy{
  min-width:0!important;
  width:100%!important;
  display:block!important;
}
body.admin-tab-nodes .node-card-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
body.admin-tab-nodes .node-card-title strong{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.admin-tab-nodes .node-card-description{
  display:block!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:8px 0 0!important;
  padding:0!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.admin-tab-nodes .node-card-tags{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body.admin-tab-nodes .node-pill{
  position:static!important;
  flex:0 0 auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
body.admin-tab-nodes .node-card-footer{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding-top:2px!important;
}
body.admin-tab-nodes .node-card-footer small{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body.admin-tab-nodes .node-detail-button{
  flex:0 0 auto!important;
  min-width:132px!important;
  width:auto!important;
}
@media(max-width:780px){
  body.admin-tab-nodes .node-card-top{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:12px!important;
  }
  body.admin-tab-nodes .node-card-visual{
    width:76px!important;
    height:88px!important;
  }
  body.admin-tab-nodes .node-card-footer{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.admin-tab-nodes .node-detail-button{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:430px){
  body.admin-tab-nodes .node-card-top{
    grid-template-columns:68px minmax(0,1fr)!important;
  }
  body.admin-tab-nodes .node-card-visual{
    width:68px!important;
    height:80px!important;
    border-radius:14px!important;
  }
}

/* Faro 3.6.186 · Ajustes chevron móvil + límite reportes + ayuda centrada */

/* Ajustes: mismo lenguaje visual del indicador del botón Menú móvil. */
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin-left:auto!important;
  border-radius:999px!important;
  background:#36B6AA!important;
  border:0!important;
  box-shadow:0 0 0 2px #062B38,0 5px 12px rgba(13,116,122,.22)!important;
  color:#062B38!important;
  font-size:20px!important;
  font-weight:950!important;
  line-height:1!important;
  transform:rotate(0deg)!important;
  transition:transform .28s cubic-bezier(.22,1,.36,1),background .2s ease,box-shadow .2s ease!important;
  overflow:visible!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron::before,
body.admin-body:not(.superadmin-body) .admin-nav-group-chevron::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group>summary:hover .admin-nav-group-chevron{
  background:#4ccbc0!important;
  box-shadow:0 0 0 2px #062B38,0 7px 15px rgba(13,116,122,.28)!important;
}
body.admin-body:not(.superadmin-body) .admin-nav-group[open] .admin-nav-group-chevron{
  transform:rotate(90deg)!important;
  background:#45c4b9!important;
}
@media(max-width:780px){
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-group-chevron,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-group-chevron{
    display:grid!important;
    position:absolute!important;
    right:3px!important;
    bottom:3px!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    font-size:15px!important;
    background:#36B6AA!important;
    color:#062B38!important;
    box-shadow:0 0 0 2px #062B38!important;
  }
}

/* Reportes programados: conserva la acción, pero deja claro que ya no hay cupo. */
.report-schedule-create-btn.is-disabled,
.report-schedule-create-btn:disabled{
  opacity:.42!important;
  filter:saturate(.45)!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  box-shadow:none!important;
}

/* Ayuda de Ajustes: modal propio, siempre centrado y consistente en PC/móvil. */
.settings-help-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  isolation:isolate!important;
}
.settings-help-modal.hidden{display:none!important}
.settings-help-backdrop{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:rgba(2,18,25,.72)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
  cursor:default!important;
}
.settings-help-dialog{
  position:relative!important;
  z-index:1!important;
  width:min(520px,100%)!important;
  max-height:min(620px,82dvh)!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(105,208,198,.26)!important;
  background:linear-gradient(160deg,#0d4050,#082f3c 72%)!important;
  color:#effafa!important;
  box-shadow:0 28px 80px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.05)!important;
  animation:faroHelpModalIn .22s cubic-bezier(.22,1,.36,1) both!important;
}
.settings-help-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:20px!important;
  border-bottom:1px solid rgba(105,208,198,.14)!important;
  background:rgba(13,69,82,.62)!important;
}
.settings-help-head .eyebrow{margin-bottom:5px!important}
.settings-help-head h2{margin:0!important;color:#fff!important;font-size:24px!important;line-height:1.1!important}
.settings-help-head .btn{flex:0 0 auto!important}
.settings-help-content{
  overflow:auto!important;
  max-height:calc(min(620px,82dvh) - 84px)!important;
  padding:20px!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.settings-help-content p{
  margin:0!important;
  color:#bfd4d8!important;
  font-size:14px!important;
  line-height:1.65!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@keyframes faroHelpModalIn{
  from{opacity:0;transform:translateY(12px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:640px){
  .settings-help-modal{padding:16px!important}
  .settings-help-dialog{
    width:100%!important;
    max-height:78dvh!important;
    border-radius:20px!important;
  }
  .settings-help-head{padding:16px!important;gap:12px!important}
  .settings-help-head h2{font-size:21px!important}
  .settings-help-head .btn{min-height:40px!important;padding:9px 14px!important}
  .settings-help-content{padding:17px!important;max-height:calc(78dvh - 76px)!important}
  .settings-help-content p{font-size:13.5px!important;line-height:1.6!important}
}


/* Faro 3.6.187 · SuperAdmin móvil: evitar autofocus/zoom del buscador */
@media (max-width: 820px) {
  .sa-client-search input[type="search"] {
    font-size: 16px !important;
  }
}

/* Faro 3.6.188 · transición de sección Supervisor + carga progresiva de imágenes */
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  opacity:0!important;
  display:block!important;
  visibility:hidden!important;
  pointer-events:none!important;
  background:rgba(4,31,40,.46)!important;
  -webkit-backdrop-filter:blur(11px) saturate(.84)!important;
  backdrop-filter:blur(11px) saturate(.84)!important;
  transition:opacity .12s ease,visibility .12s ease!important;
}
html.faro-supervisor-section-leaving body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton:not(.hidden){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.admin-body:not(.superadmin-body) .node-card-visual,
body.admin-body:not(.superadmin-body) .route-agent-mini,
body.admin-body:not(.superadmin-body) .route-sort-photo{
  background-color:#0a3541!important;
}
body.admin-body:not(.superadmin-body) .node-card-visual img,
body.admin-body:not(.superadmin-body) .route-agent-mini img,
body.admin-body:not(.superadmin-body) .route-sort-photo img{
  opacity:1;
  transition:opacity .18s ease;
}


/* Faro 3.6.189 · transición Supervisor igual al velo visual de SuperAdmin */
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  position:fixed!important;
  display:block!important;
  overflow:hidden!important;
  z-index:94!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid rgba(105,208,198,.07)!important;
  background:rgba(7,49,59,.66)!important;
  -webkit-backdrop-filter:blur(16px) saturate(.72)!important;
  backdrop-filter:blur(16px) saturate(.72)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .10s ease,visibility .10s ease!important;
}
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton .faro-skeleton-main{
  display:none!important;
  background:transparent!important;
}
html.faro-supervisor-section-leaving body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton:not(.hidden){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
/* El header y el menú quedan fuera del rectángulo calculado por loading.js,
   por lo que permanecen completamente nítidos durante el cambio de sección. */
@media(max-width:780px){
  body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
    background:rgba(7,49,59,.68)!important;
    -webkit-backdrop-filter:blur(14px) saturate(.74)!important;
    backdrop-filter:blur(14px) saturate(.74)!important;
  }
}


/* Faro 3.6.192 · blur real de transición en Supervisor */
body.admin-body:not(.superadmin-body) .admin-main{
  transition:filter .16s ease,transform .16s ease,opacity .16s ease!important;
  transform-origin:center top!important;
  will-change:filter,transform,opacity;
}
html.faro-supervisor-section-leaving body.admin-body:not(.superadmin-body) .admin-main{
  filter:blur(7px) saturate(.82)!important;
  transform:scale(.994)!important;
  opacity:.92!important;
  pointer-events:none!important;
}
body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 18px 44px rgba(0,0,0,.18)!important;
}
html.faro-supervisor-section-leaving body.admin-body:not(.superadmin-body) .faro-page-skeleton.faro-content-skeleton:not(.hidden){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
@media(max-width:780px){
  html.faro-supervisor-section-leaving body.admin-body:not(.superadmin-body) .admin-main{
    filter:blur(6px) saturate(.84)!important;
    transform:scale(.996)!important;
    opacity:.94!important;
  }
}


/* Faro 3.6.193 · Cambio de contraseña Supervisor */
.password-settings-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:18px;align-items:start;margin-top:14px}
.password-requirements-card{display:flex;gap:14px;padding:16px 18px;border-radius:18px;border:1px solid rgba(99,211,208,.16);background:rgba(7,34,45,.62)}
.password-requirements-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:rgba(74,202,197,.12);border:1px solid rgba(91,219,214,.18);font-size:20px}
.password-requirements-card strong{display:block;color:#f5fbfc;font-size:14px;margin-bottom:8px}
.password-requirements-card ul{margin:0;padding-left:18px;color:#9fbcc2;font-size:12.5px;line-height:1.55}
.password-form-v2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;align-items:end}
.password-form-v2 label{display:grid;gap:6px;min-width:0}
.password-form-v2 label:first-of-type{grid-column:1 / -1}
.password-form-v2 label span{font-size:11px;font-weight:850;letter-spacing:.04em;color:#b8d1d5}
.password-form-v2 input{width:100%;min-width:0}
.password-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:2px}
@media(max-width:860px){.password-settings-layout{grid-template-columns:1fr}.password-form-v2{grid-template-columns:1fr}.password-form-v2 label:first-of-type,.password-form-actions{grid-column:auto}.password-form-actions .btn{width:100%}}


/* ========================================================================== 
   FARO 3.6.194 · CAPA RESPONSIVE TABLET / PANTALLAS INTERMEDIAS
   Mantiene móvil <=780px y escritorio amplio >=1367px sin rediseño.
   ========================================================================== */

/* Tablet vertical + tablets compactos: navegación tipo drawer para recuperar
   ancho útil. Solo cambia la navegación; las reglas móviles de componentes
   siguen limitadas a sus breakpoints originales. */
@media (min-width:781px) and (max-width:1024px){
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav{
    width:68px!important;
    padding:10px 7px!important;
    box-shadow:10px 0 30px rgba(0,20,28,.12)!important;
  }
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-main,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .report-main,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-main,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .report-main{
    margin-left:68px!important;
    width:calc(100% - 68px)!important;
  }
  body.admin-body:not(.superadmin-body) .admin-nav-toggle-inside{
    display:flex!important;
  }
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav a,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav a{
    font-size:0!important;
    justify-content:center!important;
    padding:8px!important;
  }
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-toggle-inside,
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-toggle-inside{
    justify-content:center!important;
    padding:8px!important;
  }
  body.admin-body:not(.superadmin-body):not(.faro-nav-collapsed) .admin-nav{
    width:min(284px,74vw)!important;
    padding:14px 11px!important;
    box-shadow:18px 0 50px rgba(0,20,28,.28)!important;
  }
  body.admin-body:not(.superadmin-body):not(.faro-nav-collapsed) .admin-nav a{
    font-size:13px!important;
    justify-content:flex-start!important;
    padding:10px 12px!important;
  }
  body.admin-body:not(.superadmin-body) .faro-nav-backdrop.visible{display:block!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .faro-nav-backdrop{display:none!important}
  body.admin-body:not(.superadmin-body) .faro-nav-backdrop{inset:72px 0 0 68px!important}
  body.admin-body.support-active:not(.superadmin-body) .faro-nav-backdrop{top:134px!important}

  body.admin-body:not(.superadmin-body) .admin-main,
  body.admin-body:not(.superadmin-body) .report-main{
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:52px!important;
    min-width:0!important;
  }

  /* Cabeceras y toolbars: permiten segunda línea sin deformar botones. */
  body.admin-body:not(.superadmin-body) .page-head{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:12px!important;
  }
  body.admin-body:not(.superadmin-body) .page-head>div:first-child{min-width:0!important;flex:1 1 380px!important}
  body.admin-body:not(.superadmin-body) .page-head-actions,
  body.admin-body:not(.superadmin-body) .dashboard-head-actions,
  body.admin-body:not(.superadmin-body) .guard-profile-actions{
    flex:1 1 auto!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
    min-width:0!important;
  }
  body.admin-body:not(.superadmin-body) .btn{max-width:100%!important}

  /* Dashboard */
  body.admin-tab-dashboard .dashboard-critical-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-tab-dashboard .dashboard-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  body.admin-tab-dashboard .dashboard-filter-actions{grid-column:auto!important}

  /* Agentes: una tarjeta por fila en tablet. Evita el carnet comprimido. */
  body.admin-tab-guards .agents-grid{grid-template-columns:1fr!important}
  body.admin-tab-guards .agents-toolbar{flex-wrap:wrap!important;align-items:center!important}
  body.admin-tab-guards .capacity-card-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  body.admin-tab-guards .agent-id-card{grid-template-columns:112px minmax(0,1fr)!important;gap:14px!important}
  body.admin-tab-guards .agent-card-avatar{width:106px!important;height:138px!important}
  body.admin-tab-guards .agent-card-title-row{flex-wrap:wrap!important}
  body.admin-tab-guards .agent-card-data{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-guards .agent-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Nodos: auto-fit evita tarjetas demasiado estrechas. */
  body.admin-tab-nodes .node-toolbar{align-items:flex-end!important;flex-wrap:wrap!important}
  body.admin-tab-nodes .node-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important}
  body.admin-tab-nodes .node-catalog-card{min-width:0!important}
  body.admin-tab-nodes .node-card-top{grid-template-columns:82px minmax(0,1fr)!important}
  body.admin-tab-nodes .node-card-visual{width:82px!important;height:92px!important}
  body.admin-tab-nodes .node-card-footer{gap:8px!important}

  /* Rutas */
  body.admin-tab-routes .routes-card-grid{grid-template-columns:repeat(auto-fit,minmax(410px,1fr))!important}
  body.admin-tab-routes .route-maint-actions{display:flex!important;flex-wrap:wrap!important}
  body.admin-tab-routes .route-maint-actions .btn{flex:1 1 120px!important;min-width:0!important}
  body.admin-tab-routes .route-agent-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Calendario */
  body.admin-tab-teams .calendar-month-toolbar{max-width:100%!important}

  /* Supervisores */
  body.admin-tab-users .supervisor-card-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important}
  body.admin-tab-users .supervisor-card-actions{flex-wrap:wrap!important}
  body.admin-tab-users .supervisor-card-actions .btn{flex:1 1 110px!important;min-width:0!important}

  /* Reportes programados y Ajustes */
  body.admin-tab-report_schedules .report-schedule-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-report_schedules .schedule-card-grid{grid-template-columns:1fr!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions{flex-wrap:wrap!important}
  body.admin-tab-settings .settings-composer-grid{grid-template-columns:1fr!important}
  body.admin-tab-settings .settings-toggle-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Capacidad: 5 columnas son demasiado estrechas en tablet. */
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-health .android-capacity-card{grid-column:1/-1!important}

  /* Importadores y paneles dobles */
  body.admin-tab-imports .import-grid{grid-template-columns:1fr!important}

  /* Tablas: no comprimir columnas hasta superponer contenido. El usuario puede
     desplazarlas horizontalmente dentro de su panel. */
  body.admin-body:not(.superadmin-body) .table-wrap{overflow-x:auto!important;overscroll-behavior-x:contain!important}
  body.admin-body:not(.superadmin-body) .incidents-table{min-width:1040px!important}
  body.admin-body:not(.superadmin-body) .table-wrap table{table-layout:auto!important}

  /* Modales */
  body.admin-body:not(.superadmin-body) .admin-modal-card{
    max-width:calc(100vw - 96px)!important;
    max-height:86dvh!important;
  }
  body.admin-body:not(.superadmin-body) .guard-modal-card,
  body.admin-body:not(.superadmin-body) .report-schedule-modal,
  body.admin-body:not(.superadmin-body) .incident-detail-card{
    width:min(760px,calc(100vw - 96px))!important;
  }
}

/* Tablet horizontal / notebook pequeño: conserva menú desktop pero reduce la
   densidad de las grillas antes de llegar al escritorio amplio. */
@media (min-width:1025px) and (max-width:1366px){
  body.admin-body:not(.superadmin-body) .admin-main,
  body.admin-body:not(.superadmin-body) .report-main{padding-left:20px!important;padding-right:20px!important}
  body.admin-body:not(.superadmin-body) .page-head{flex-wrap:wrap!important}
  body.admin-tab-dashboard .dashboard-critical-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-tab-dashboard .dashboard-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.admin-tab-dashboard .dashboard-filter-actions{grid-column:auto!important}
  body.admin-tab-guards .agents-grid{grid-template-columns:1fr!important}
  body.admin-tab-nodes .node-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-routes .routes-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-users .supervisor-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-report_schedules .report-schedule-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-tab-health .android-capacity-card{grid-column:auto!important}
  body.admin-tab-settings .settings-composer-grid{grid-template-columns:1fr!important}
}

/* Tablet vertical más angosto: una sola columna para tarjetas complejas. */
@media (min-width:781px) and (max-width:900px){
  body.admin-tab-dashboard .dashboard-critical-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-dashboard .dashboard-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-dashboard .dashboard-filter-actions{grid-column:1/-1!important}
  body.admin-tab-nodes .node-catalog-grid,
  body.admin-tab-routes .routes-card-grid,
  body.admin-tab-users .supervisor-card-grid{grid-template-columns:1fr!important}
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-settings .settings-toggle-grid-v2{grid-template-columns:1fr!important}
  body.admin-tab-report_schedules .report-schedule-overview-main{align-items:stretch!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions{width:100%!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions .btn{flex:1 1 180px!important}
}


/* Faro 3.6.194b · estabilización tablet Supervisor */
@media (min-width:781px) and (max-width:1024px){
  /* El tablet usa navegación compacta/drawer, pero conserva densidad de contenido tablet. */
  body.admin-body:not(.superadmin-body) .admin-nav{
    width:68px!important;
    padding:10px 7px!important;
  }
  body.admin-body:not(.superadmin-body) .admin-main,
  body.admin-body:not(.superadmin-body) .report-main{
    margin-left:68px!important;
    width:calc(100% - 68px)!important;
    padding:18px 16px 52px!important;
    overflow-x:hidden!important;
  }
  body.admin-body:not(.superadmin-body).faro-admin-nav-open .admin-nav,
  body.admin-body:not(.superadmin-body):not(.faro-nav-collapsed) .admin-nav{
    width:min(284px,74vw)!important;
  }
  body.admin-body:not(.superadmin-body).faro-admin-nav-open .admin-nav a,
  body.admin-body:not(.superadmin-body):not(.faro-nav-collapsed) .admin-nav a{
    font-size:13px!important;
    justify-content:flex-start!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav a{
    font-size:0!important;justify-content:center!important;
  }

  /* Contenedores base */
  body.admin-body:not(.superadmin-body) .panel,
  body.admin-body:not(.superadmin-body) .page-head,
  body.admin-body:not(.superadmin-body) .admin-main>*{
    min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  }
  body.admin-body:not(.superadmin-body) .page-head-actions .btn,
  body.admin-body:not(.superadmin-body) .filter-row .btn{
    white-space:normal!important;line-height:1.2!important;
  }

  /* Agentes */
  body.admin-tab-guards .agent-card-title-row{align-items:flex-start!important;gap:8px!important}
  body.admin-tab-guards .agent-card-title-row>*{min-width:0!important}
  body.admin-tab-guards .agent-card-actions .btn{white-space:normal!important;min-height:40px!important}

  /* Nodos */
  body.admin-tab-nodes .node-catalog-card{overflow:hidden!important}
  body.admin-tab-nodes .node-card-copy{min-width:0!important}
  body.admin-tab-nodes .node-card-title{flex-wrap:wrap!important;justify-content:flex-start!important}
  body.admin-tab-nodes .node-card-description{min-height:0!important;overflow-wrap:anywhere!important}
  body.admin-tab-nodes .node-card-footer{align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important}

  /* Rutas */
  body.admin-tab-routes .route-maint-top{flex-wrap:wrap!important}
  body.admin-tab-routes .route-maint-top>div{min-width:0!important}
  body.admin-tab-routes .route-maint-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-tab-routes .route-maint-actions .btn{white-space:normal!important;line-height:1.2!important}

  /* Supervisores */
  body.admin-tab-users .supervisor-card-top{grid-template-columns:48px minmax(0,1fr)!important}
  body.admin-tab-users .supervisor-card-top>.status-pill{grid-column:1/-1!important;justify-self:start!important}
  body.admin-tab-users .supervisor-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-users .supervisor-card-actions .btn{white-space:normal!important;min-height:40px!important}

  /* Reportes programados */
  body.admin-tab-report_schedules .report-schedule-overview-main{align-items:flex-start!important}
  body.admin-tab-report_schedules .report-schedule-overview-copy{min-width:0!important;flex:1 1 360px!important}
  body.admin-tab-report_schedules .report-schedule-overview-actions{flex:1 1 220px!important;justify-content:flex-end!important}
  body.admin-tab-report_schedules .schedule-card-top{flex-wrap:wrap!important}
  body.admin-tab-report_schedules .schedule-card-actions{flex-wrap:wrap!important}

  /* Ajustes y Capacidad */
  body.admin-tab-settings .settings-rules-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.admin-tab-settings .settings-rule{grid-column:span 2!important}
  body.admin-tab-settings .settings-rule.settings-rule-wide{grid-column:1/-1!important}
  body.admin-tab-settings .settings-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-health .capacity-plan-grid article{min-width:0!important}
  body.admin-tab-health .capacity-plan-grid article>span,
  body.admin-tab-health .capacity-plan-grid article>em{overflow-wrap:anywhere!important}

  /* Calendarios: mantener celdas legibles; el desplazamiento queda contenido en el panel. */
  body.admin-tab-teams .activity-calendar-wrap,
  body.admin-tab-teams .shift-calendar-wrap{overflow-x:auto!important;overscroll-behavior-x:contain!important}

  /* Tablas complejas: prohibido comprimir hasta superponer contenido. */
  body.admin-tab-incidents .incidents-table-wrap,
  body.admin-tab-devices .table-wrap,
  body.admin-tab-sessions .table-wrap,
  body.admin-tab-audit .table-wrap,
  body.admin-tab-activity .table-wrap{overflow-x:auto!important}
  body.admin-tab-incidents .incidents-table{min-width:1040px!important;table-layout:auto!important}
  body.admin-tab-devices table,body.admin-tab-sessions table,body.admin-tab-audit table,body.admin-tab-activity table{min-width:780px!important;table-layout:auto!important}

  /* Modales: margen seguro en los cuatro lados del tablet. */
  body.admin-body:not(.superadmin-body) .admin-modal-overlay{padding:24px!important}
  body.admin-body:not(.superadmin-body) .admin-modal-card{width:min(760px,calc(100vw - 116px))!important;max-width:calc(100vw - 116px)!important}
}

/* Tablet horizontal / viewport medio. No cambia el escritorio amplio. */
@media (min-width:1025px) and (max-width:1180px){
  body.admin-body:not(.superadmin-body) .admin-main,body.admin-body:not(.superadmin-body) .report-main{padding-left:18px!important;padding-right:18px!important}
  body.admin-tab-guards .agents-grid{grid-template-columns:1fr!important}
  body.admin-tab-nodes .node-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-routes .routes-card-grid{grid-template-columns:1fr!important}
  body.admin-tab-users .supervisor-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-report_schedules .report-schedule-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.admin-tab-health .capacity-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.admin-tab-settings .settings-composer-grid{grid-template-columns:1fr!important}
  body.admin-tab-incidents .incidents-table{min-width:1040px!important}
}


/* Faro 3.6.195 · últimos ajustes tablet: Dashboard + Incidencias */
body.admin-body:not(.superadmin-body) .incident-tablet-meta{display:none}

/* El escritorio conserva exactamente la distribución anterior. Solo se afina
   el rango intermedio donde el ancho útil del tablet es más limitado. */
@media (min-width:781px) and (max-width:1180px){
  /* Dashboard: Estado puede ser más compacto ("Incompleta" es el caso largo)
     y cedemos ~7% relativo de ancho extra a las acciones. */
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(1){width:12%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(2){width:23%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(3){width:11%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(4){width:10%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(5){width:15%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(6){width:14%!important}
  body.admin-tab-dashboard #dashboardRoundsTable th:nth-child(7){width:15%!important}
  body.admin-tab-dashboard .dashboard-round-state-text{padding-left:6px!important;padding-right:6px!important;font-size:8.5px!important}
  body.admin-tab-dashboard .dashboard-rounds-wrap .detail-round-btn,
  body.admin-tab-dashboard .dashboard-rounds-wrap .delete-round-btn{padding-left:7px!important;padding-right:7px!important;font-size:9px!important}

  /* Incidencias: composición específica para tablet, sin scroll horizontal.
     Fecha ya vive bajo Agente; Ronda pasa a Nodo; Foto queda disponible en Detalles. */
  body.admin-tab-incidents .incidents-panel{padding-left:12px!important;padding-right:12px!important}
  body.admin-tab-incidents .incidents-table-wrap{overflow-x:hidden!important;width:100%!important}
  body.admin-tab-incidents .incidents-table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:9.5px!important}
  body.admin-tab-incidents .incidents-table .incident-col-date,
  body.admin-tab-incidents .incidents-table .incident-col-round,
  body.admin-tab-incidents .incidents-table .incident-col-photo{display:none!important}
  body.admin-tab-incidents .incidents-table .incident-col-agent{width:18%!important;text-align:left!important}
  body.admin-tab-incidents .incidents-table .incident-col-node{width:14%!important}
  body.admin-tab-incidents .incidents-table .incident-col-type{width:13%!important}
  body.admin-tab-incidents .incidents-table .incident-col-comment{width:24%!important;max-width:none!important}
  body.admin-tab-incidents .incidents-table .incident-col-status{width:12%!important}
  body.admin-tab-incidents .incidents-table .incident-col-actions{width:19%!important}
  body.admin-tab-incidents .incidents-table th{padding:8px 4px!important;font-size:7.5px!important;letter-spacing:.025em!important;white-space:normal!important}
  body.admin-tab-incidents .incidents-table td{padding:8px 4px!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.25!important}
  body.admin-tab-incidents .incident-agent-datetime{display:block!important;margin-top:3px!important;font-size:7px!important;line-height:1.2!important;color:#8EAAB0!important}
  body.admin-tab-incidents .incident-tablet-meta{display:block!important;margin-top:3px!important;color:#88A9AF!important;font-size:7px!important;font-weight:750!important;line-height:1.15!important}
  body.admin-tab-incidents .incidents-table .status-pill{max-width:100%!important;padding:4px 5px!important;font-size:7.5px!important;line-height:1.1!important;white-space:normal!important}
  body.admin-tab-incidents .incident-row-actions{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;width:100%!important}
  body.admin-tab-incidents .incident-row-actions form{width:100%!important}
  body.admin-tab-incidents .incident-row-actions .btn{width:100%!important;min-width:0!important;min-height:29px!important;height:auto!important;padding:5px 4px!important;font-size:7.5px!important;line-height:1.1!important;white-space:normal!important}

  /* Menú minimizado: contador pegado al ícono y completamente dentro del ancho. */
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-alerts,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-alerts{position:relative!important;overflow:visible!important}
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-alerts .admin-nav-count,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-alerts .admin-nav-count{
    position:absolute!important;right:5px!important;top:4px!important;margin:0!important;
    min-width:17px!important;width:auto!important;height:17px!important;padding:0 4px!important;
    font-size:8px!important;line-height:1!important;z-index:2!important;box-shadow:0 0 0 2px #062B38!important;
  }
  body.admin-body:not(.superadmin-body).faro-nav-collapsed .admin-nav-alerts::before,
  html.faro-admin-precollapsed body.admin-body:not(.superadmin-body) .admin-nav-alerts::before{
    width:24px!important;min-width:24px!important;height:24px!important;font-size:15px!important;
  }
}


/* Faro 3.6.196 · Tablet: Incidencias igual a móvil + Calendario modal */
@media (min-width:701px) and (max-width:1024px){
  /* Incidencias replica exactamente la composición móvil estable. */
  body.admin-tab-incidents .incidents-panel{padding-left:8px!important;padding-right:8px!important}
  body.admin-tab-incidents .incidents-table-wrap{overflow-x:hidden!important;width:100%!important}
  body.admin-tab-incidents .incidents-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  body.admin-tab-incidents .incidents-table .incident-col-date,
  body.admin-tab-incidents .incidents-table .incident-col-round,
  body.admin-tab-incidents .incidents-table .incident-col-node,
  body.admin-tab-incidents .incidents-table .incident-col-type,
  body.admin-tab-incidents .incidents-table .incident-col-comment{display:none!important}
  body.admin-tab-incidents .incidents-table .incident-col-agent{display:table-cell!important;width:28%!important;text-align:center!important;padding:10px 4px!important}
  body.admin-tab-incidents .incidents-table .incident-col-photo{display:table-cell!important;width:24%!important;text-align:center!important;padding:7px 2px!important}
  body.admin-tab-incidents .incidents-table .incident-col-status{display:table-cell!important;width:21%!important;padding:8px 3px!important}
  body.admin-tab-incidents .incidents-table .incident-col-actions{display:table-cell!important;width:27%!important;padding:7px 4px!important}
  body.admin-tab-incidents .incidents-table th{padding:9px 2px!important;font-size:7.7px!important;line-height:1.1!important;letter-spacing:.035em!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
  body.admin-tab-incidents .incidents-table td{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
  body.admin-tab-incidents .incidents-table .incident-col-agent strong{display:block!important;font-size:10px!important;line-height:1.25!important;font-weight:850!important;color:#f3fafb!important}
  body.admin-tab-incidents .incident-photo-thumb{display:inline-flex!important;margin:0 auto!important;padding:2px!important;border-radius:10px!important;max-width:100%!important}
  body.admin-tab-incidents .incident-photo-thumb img{display:block!important;width:56px!important;height:56px!important;max-width:100%!important;object-fit:cover!important;border-radius:7px!important}
  body.admin-tab-incidents .incident-no-photo{display:block!important;font-size:7px!important;line-height:1.15!important}
  body.admin-tab-incidents .incident-status{min-width:0!important;width:100%!important;display:block!important;font-size:7px!important;padding:5px 3px!important;white-space:nowrap!important}
  body.admin-tab-incidents .incident-row-actions{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%!important}
  body.admin-tab-incidents .incident-row-actions form{width:100%!important}
  body.admin-tab-incidents .incident-row-actions .btn{width:100%!important;min-width:0!important;min-height:32px!important;height:32px!important;padding:5px 2px!important;font-size:7.2px!important;border-radius:8px!important;white-space:nowrap!important}
  body.admin-tab-incidents .incident-tablet-meta{display:none!important}

  /* Calendario: en tablet se muestra solo una burbuja con la inicial por agente. */
  body.admin-tab-teams .activity-day{min-height:92px!important;padding:7px!important;gap:6px!important}
  body.admin-tab-teams .activity-day:not(.has-activity){cursor:default!important}
  body.admin-tab-teams .activity-day-tags{display:flex!important;flex-wrap:wrap!important;gap:4px!important;align-content:flex-start!important}
  body.admin-tab-teams .activity-person-tag{width:25px!important;height:25px!important;min-width:25px!important;padding:0!important;border:0!important;border-radius:999px!important;background:var(--shift-color)!important;display:grid!important;place-items:center!important;box-shadow:0 3px 8px rgba(0,0,0,.16)!important}
  body.admin-tab-teams .activity-person-tag i{display:grid!important;width:25px!important;height:25px!important;font-size:9px!important;background:transparent!important;color:#fff!important}
  body.admin-tab-teams .activity-person-tag b,
  body.admin-tab-teams .activity-person-tag small{display:none!important}
  body.admin-tab-teams .activity-none{display:none!important}
}

body.admin-tab-teams .activity-day-modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:20px}
body.admin-tab-teams .activity-day-modal.hidden{display:none!important}
body.admin-tab-teams .activity-day-modal-backdrop{position:absolute;inset:0;background:rgba(1,20,27,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.admin-tab-teams .activity-day-modal-card{position:relative;z-index:1;width:min(680px,calc(100vw - 32px));max-height:min(78dvh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(105,208,198,.23);border-radius:22px;background:#082f3a;box-shadow:0 28px 70px rgba(0,0,0,.42)}
body.admin-tab-teams .activity-day-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 15px;border-bottom:1px solid rgba(105,208,198,.14);background:#0a3541}
body.admin-tab-teams .activity-day-modal-head h2{margin:2px 0 0;color:#f5fbfc;font-size:20px;line-height:1.15;text-transform:capitalize}
body.admin-tab-teams .activity-day-modal-head [data-activity-day-subtitle]{display:block;margin-top:5px;color:#91b0b5;font-size:10px;font-weight:750}
body.admin-tab-teams .activity-day-modal-close{flex:0 0 auto;min-height:38px!important;padding:8px 14px!important}
body.admin-tab-teams .activity-day-modal-body{padding:16px;overflow:auto;-webkit-overflow-scrolling:touch}
body.admin-tab-teams .activity-day-modal-grid{display:grid;gap:9px}
body.admin-tab-teams .activity-day-agent-card{--shift-color:#4e67a8;padding:12px;border:1px solid rgba(128,185,192,.14);border-left:4px solid var(--shift-color);border-radius:15px;background:#0a3541}
body.admin-tab-teams .activity-day-agent-main{display:flex;align-items:center;gap:10px;min-width:0}
body.admin-tab-teams .activity-day-agent-main>i{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--shift-color);color:#fff;font-size:12px;font-style:normal;font-weight:900}
body.admin-tab-teams .activity-day-agent-main>div{min-width:0}
body.admin-tab-teams .activity-day-agent-main strong{display:block;color:#f4fbfc;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin-tab-teams .activity-day-agent-main span{display:block;margin-top:3px;color:#91afb5;font-size:9px}
body.admin-tab-teams .activity-day-agent-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
body.admin-tab-teams .activity-day-agent-stats span{padding:7px 6px;border-radius:9px;background:#072b35;color:#8eabb0;font-size:7.5px;text-align:center;line-height:1.2}
body.admin-tab-teams .activity-day-agent-stats b{display:block;margin-bottom:2px;color:#eef9fa;font-size:10px}
@media(max-width:700px){
  body.admin-tab-teams .activity-day-modal{padding:12px}
  body.admin-tab-teams .activity-day-modal-card{width:100%;max-height:82dvh;border-radius:18px}
  body.admin-tab-teams .activity-day-modal-head{padding:14px;gap:10px}
  body.admin-tab-teams .activity-day-modal-head h2{font-size:17px}
  body.admin-tab-teams .activity-day-modal-body{padding:12px}
  body.admin-tab-teams .activity-day-agent-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Faro 3.6.198 · Landing pública renovada + probador NFC compacto */
.landing-attractive-section,.landing-highlight-shell,.landing-report-section,.landing-comparison-section,.landing-device-section,.landing-plans-section{padding-left:clamp(22px,7vw,105px);padding-right:clamp(22px,7vw,105px)}
.public-hero{padding-bottom:54px!important}
.public-trust{margin-bottom:12px!important}
.public-device-compatibility{margin-top:14px!important;border-radius:16px!important;padding:12px 13px!important;gap:11px!important;background:rgba(5,37,48,.64)!important;border:1px solid rgba(80,203,191,.22)!important;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.public-device-compatibility strong{font-size:12px!important}.public-device-compatibility small{font-size:10px!important;line-height:1.35!important}
.public-device-check-icon{width:34px!important;height:34px!important;font-size:16px!important}
.public-compat-requirements{margin-left:auto!important;padding:9px 12px!important;border-radius:11px!important;border:1px solid rgba(95,213,200,.22)!important;background:rgba(65,171,158,.12)!important;color:#fff!important;font-size:11px!important;font-weight:900!important}
.public-compat-requirements.hidden{display:none!important}
.public-nfc-tester-cta{margin-top:10px!important;padding:12px 14px!important;gap:12px!important;border-radius:16px!important;background:rgba(6,35,46,.78)!important}
.public-nfc-tester-cta strong{font-size:13px!important;line-height:1.25!important}.public-nfc-tester-cta span{font-size:11px!important}
.public-nfc-tester-cta a{padding:11px 14px!important;font-size:12px!important;border-radius:12px!important;white-space:nowrap}
.landing-attractive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.landing-attractive-grid article{padding:22px 20px;border-radius:20px;background:#fff;border:1px solid rgba(15,60,77,.08);box-shadow:0 20px 52px rgba(5,40,54,.08);display:grid;gap:10px}
.landing-attractive-grid article i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#082C39;color:#73DBCE;font-style:normal;font-size:18px;font-weight:900}
.landing-attractive-grid article strong{font-size:18px;line-height:1.1;color:#0A2E3C}.landing-attractive-grid article p{margin:0;color:#5D7680;font-size:14px;line-height:1.6}
.landing-highlight-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:26px;align-items:center;padding-top:8px;padding-bottom:18px}
.landing-highlight-copy p,.landing-report-copy p,.landing-device-copy p{margin:14px 0 0;color:#59747d;font-size:15px;line-height:1.7;max-width:700px}
.landing-highlight-bullets,.landing-report-badges,.landing-device-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.landing-highlight-bullets span,.landing-report-badges span,.landing-device-pills span,.landing-plans-note,.landing-comparison-note{padding:10px 13px;border-radius:999px;background:#E8F5F4;color:#155E59;font-size:12px;font-weight:800}
.landing-showcase-board{border-radius:26px;padding:22px;background:linear-gradient(160deg,#071F2C,#0C3A47);border:1px solid rgba(112,210,195,.18);box-shadow:0 24px 60px rgba(1,20,29,.26);color:#fff}
.landing-board-head{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:11px;color:#9DB8BE;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.landing-board-head b{color:#73DBCE;font-size:12px}.landing-board-main{display:grid;gap:14px;margin-top:18px}
.landing-mini-widget{padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:8px}
.landing-mini-widget small{font-size:10px;color:#94B4BB;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.landing-mini-widget strong{font-size:19px;color:#fff}
.landing-progress{height:10px;border-radius:999px;background:#0E2530;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.landing-progress i{display:block;height:100%;width:var(--progress);border-radius:inherit;background:linear-gradient(90deg,#41AB9E,#79DED0)}
.landing-mini-route span{font-size:13px;color:#AFC5CA}
.landing-mini-alerts ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.landing-mini-alerts li{display:flex;align-items:center;gap:10px}.landing-mini-alerts b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#143844;color:#7FE2D4;font-size:13px}.landing-mini-alerts span{font-size:13px;color:#DCE9EB}
.landing-mini-activity{gap:9px}.landing-activity-row{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;color:#DCE8EB}.landing-activity-row span{font-size:11px;color:#8EAAB1}.landing-activity-row b{font-size:13px}.landing-activity-row em{font-style:normal;font-size:11px;color:#7FE2D4}
.landing-flow-section{padding-left:clamp(22px,7vw,105px)!important;padding-right:clamp(22px,7vw,105px)!important;padding-top:58px!important;padding-bottom:58px!important}
.landing-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:28px}.landing-flow-grid article{padding:18px 16px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.landing-flow-grid article span{font-size:10px;font-weight:900;color:#82D9CD;letter-spacing:.08em}.landing-flow-grid article h3{margin:0;color:#fff;font-size:18px;line-height:1.15}.landing-flow-grid article p{margin:0;color:#AFC5CA;font-size:13px;line-height:1.6}.landing-flow-grid .flow-number{width:42px;height:42px;border-radius:13px;background:rgba(65,171,158,.18);color:#7DE0D2;display:grid;place-items:center;font-weight:950}
.landing-report-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,470px);gap:30px;align-items:center;padding-top:62px;padding-bottom:62px;background:#F4F8F9}
.landing-report-preview{display:flex;justify-content:center}.landing-report-paper{width:min(100%,440px);background:#fff;border-radius:22px;padding:22px;border:1px solid #DCE7EA;box-shadow:0 24px 56px rgba(5,40,54,.10);display:grid;gap:16px}
.landing-report-paper-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.landing-report-paper-head small{display:block;font-size:11px;color:#0A5165;font-weight:900;letter-spacing:.08em}.landing-report-paper-head strong{display:block;margin-top:5px;color:#0B2E3B;font-size:24px;line-height:1.05}.landing-report-paper-head span{font-size:12px;color:#67818A;font-weight:800}
.landing-report-paper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.landing-report-paper-grid div{padding:12px;border-radius:16px;background:#F5FAFB;border:1px solid #E4ECEF}.landing-report-paper-grid small{display:block;font-size:10px;color:#6C8790;text-transform:uppercase;letter-spacing:.08em}.landing-report-paper-grid b{display:block;margin-top:4px;color:#092C38;font-size:22px}
.landing-report-chart{height:150px;border-radius:18px;background:linear-gradient(180deg,#F8FBFC,#EEF5F7);border:1px solid #E2EBEE;padding:18px;display:flex;align-items:flex-end;gap:10px}.landing-report-chart i{flex:1;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#4EC6B7,#0C7187)}
.landing-report-list{display:grid;gap:10px}.landing-report-list div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:11px 12px;border-radius:14px;background:#F8FBFC;border:1px solid #E6EDF0}.landing-report-list span{font-size:13px;color:#0A2D39;font-weight:800}.landing-report-list b{font-size:12px;color:#167468}.landing-report-list em{font-style:normal;font-size:11px;color:#68828B}
.landing-report-foot{padding-top:8px;border-top:1px dashed #D5E2E5;color:#6B858E;font-size:11px}
.landing-comparison-wrap{margin-top:28px;overflow:auto;border-radius:24px;background:#0A2837;padding:12px;border:1px solid rgba(98,186,181,.16);box-shadow:0 24px 56px rgba(2,28,37,.18)}
.landing-comparison-table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px;color:#E7F4F6}.landing-comparison-table th,.landing-comparison-table td{padding:14px 15px;text-align:center;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}.landing-comparison-table th:first-child,.landing-comparison-table td:first-child{text-align:left}.landing-comparison-table thead th{font-size:12px;color:#9EC0C8;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.03)}.landing-comparison-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.02)}.landing-comparison-table .yes{color:#86E6D2;font-weight:900}.landing-comparison-table .soft{color:#F4E1A2;font-weight:800}.landing-comparison-table .no{color:#E6A8A8;font-weight:800}
.landing-device-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:28px;align-items:start;padding-top:22px;padding-bottom:62px}
.landing-device-card{padding:22px;border-radius:24px;background:linear-gradient(160deg,#082431,#0B3743);color:#fff;border:1px solid rgba(115,219,206,.16);box-shadow:0 24px 60px rgba(2,28,37,.24);display:grid;gap:14px}.landing-device-head small{font-size:11px;color:#8CB9C1;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.landing-device-head strong{display:block;margin-top:6px;font-size:24px;line-height:1.08}.landing-device-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.landing-device-card li{display:grid;gap:3px;padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.landing-device-card b{font-size:15px}.landing-device-card span{font-size:12px;color:#B6D0D4}.landing-device-card .public-secondary{justify-content:center;background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important}
.landing-plans-section{padding-top:22px;padding-bottom:62px;background:#F8FBFB}.landing-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.landing-plan-card{padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(12,63,79,.08);box-shadow:0 20px 52px rgba(7,39,52,.08);display:grid;gap:14px}.landing-plan-card.featured{background:linear-gradient(160deg,#071F2C,#0B3743);color:#fff;border-color:rgba(115,219,206,.16);transform:translateY(-4px)}.landing-plan-tag{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;background:#E9F4F3;color:#165B59;font-size:11px;font-weight:900;letter-spacing:.08em}.landing-plan-card.featured .landing-plan-tag{background:rgba(115,219,206,.14);color:#8DE3D8}.landing-plan-card h3{margin:0;color:#0A2C39;font-size:22px;line-height:1.08}.landing-plan-card.featured h3,.landing-plan-card.featured p,.landing-plan-card.featured li{color:#fff}.landing-plan-card ul{margin:0;padding:0 0 0 18px;display:grid;gap:8px;color:#4D6972;font-size:14px;line-height:1.5}.landing-plan-card p{margin:0;color:#5C757E;font-size:14px;line-height:1.6}.landing-plans-note{display:block;margin-top:18px;text-align:center;border-radius:16px;background:#E9F4F3;padding:14px 18px;color:#155E59;font-size:13px}
.device-requirements-shortlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.device-requirements-shortlist div{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.device-requirements-shortlist strong{display:block;color:#F2FBFC;font-size:13px}.device-requirements-shortlist span{display:block;margin-top:4px;color:#9FB8BE;font-size:11px}
.compact-nfc-test-body{min-height:100dvh;display:flex;flex-direction:column}.compact-nfc-test-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:18px 0 26px!important}.compact-nfc-test-card{width:100%;padding:20px 18px!important;border-radius:22px!important}.compact-nfc-test-card h1{font-size:clamp(28px,6vw,42px)!important;margin-bottom:10px!important}.nfc-test-intro.compact{font-size:13px!important;line-height:1.45!important;max-width:540px;margin:0 auto!important;text-align:center}.nfc-test-visual.compact{width:188px!important;height:188px!important;margin:18px auto 16px!important}.nfc-test-visual.compact .nfc-test-rings i:nth-child(2){inset:24px}.nfc-test-visual.compact .nfc-test-rings i:nth-child(3){inset:48px}
.nfc-test-core-button{appearance:none;border:1px solid rgba(95,213,200,.28);cursor:pointer;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;padding:10px;background:#0B4150;color:#6FD6CD;box-shadow:0 0 0 10px rgba(73,190,180,.04);text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.nfc-test-core-button span{display:block;font-size:17px;font-weight:950;letter-spacing:.08em;line-height:1}.nfc-test-core-button small{display:block;margin-top:4px;font-size:10px;font-weight:800;color:#A7CDD2;line-height:1.25}.nfc-test-core-button:active{transform:scale(.985)}.nfc-test-core-button.reading,.nfc-test-visual.success .nfc-test-core-button{background:#45B9AE;color:#062B36}.nfc-test-core-button.reading small,.nfc-test-visual.success .nfc-test-core-button small{color:#083440}.nfc-test-status.compact{padding:12px 14px!important}.nfc-test-status.compact strong{font-size:14px!important}.nfc-test-status.compact span{font-size:11px!important}.nfc-test-result.compact{margin-top:14px!important}.nfc-test-result.compact input{padding:12px 13px!important;font-size:12px!important}.nfc-test-privacy.compact{margin-top:12px!important;font-size:10.5px!important;line-height:1.45!important}
@media(max-width:1024px){.landing-attractive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-report-section,.landing-device-section,.landing-highlight-shell{grid-template-columns:1fr}.landing-report-preview,.landing-showcase-board{max-width:720px;margin:0 auto}.landing-plan-grid{grid-template-columns:1fr}.landing-plan-card.featured{transform:none}.device-requirements-shortlist{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .public-hero{padding-top:34px!important;padding-bottom:34px!important}
  .public-hero-copy p{font-size:14px!important;line-height:1.55!important}
  .public-device-compatibility{padding:11px 12px!important;gap:9px!important}
  .public-device-compatibility{align-items:flex-start!important;flex-wrap:wrap!important}.public-device-compat-copy{min-width:calc(100% - 46px)!important}
  .public-compat-requirements{margin:2px 0 0 46px!important}
  .public-nfc-tester-cta{flex-direction:column!important;align-items:stretch!important}.public-nfc-tester-cta a{text-align:center!important}
  .landing-attractive-section,.landing-highlight-shell,.landing-flow-section,.landing-report-section,.landing-comparison-section,.landing-device-section,.landing-plans-section{padding-left:18px!important;padding-right:18px!important}
  .landing-attractive-grid,.landing-flow-grid,.landing-plan-grid,.device-requirements-shortlist{grid-template-columns:1fr}
  .landing-attractive-grid article{padding:18px 16px}.landing-highlight-shell,.landing-report-section,.landing-device-section{gap:18px}
  .landing-showcase-board,.landing-device-card,.landing-report-paper{border-radius:20px}
  .landing-board-head{font-size:10px}.landing-mini-widget strong{font-size:18px}.landing-activity-row{grid-template-columns:38px 1fr;gap:7px}.landing-activity-row em{grid-column:2}
  .landing-flow-grid article{padding:16px 15px}.landing-report-paper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-report-list div{grid-template-columns:1fr auto;gap:6px}.landing-report-list em{grid-column:1 / -1}
  .landing-comparison-wrap{padding:8px;border-radius:18px}.landing-comparison-note,.landing-plans-note{font-size:12px;line-height:1.55}
  .compact-nfc-test-shell{align-items:flex-start!important;padding:14px 0 18px!important}.compact-nfc-test-card{padding:18px 15px!important;border-radius:20px!important}.compact-nfc-test-card h1{font-size:30px!important}.nfc-test-visual.compact{width:170px!important;height:170px!important;margin:16px auto 14px!important}.nfc-test-core-button{width:100px;height:100px}.nfc-test-core-button span{font-size:16px}.nfc-test-core-button small{font-size:9.5px}.nfc-test-status.compact{padding:11px 12px!important}.nfc-compatible-box{padding:13px!important}
}


/* Faro 3.6.198 · Continuación landing pública */
.landing-plan-link{display:inline-flex;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:12px 14px;border-radius:13px;background:#082C39;color:#fff;text-decoration:none;font-size:13px;font-weight:850;border:1px solid rgba(8,44,57,.08);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.landing-plan-link:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(8,44,57,.16);background:#0B3A49}.landing-plan-card.featured .landing-plan-link{background:#52CABC;color:#062B37;border-color:transparent}.landing-plan-card.featured .landing-plan-link:hover{background:#6EDACE}
.landing-implementation-section{padding-top:18px;padding-bottom:60px}.landing-implementation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.landing-implementation-grid article{padding:22px 18px;border-radius:22px;background:#fff;border:1px solid rgba(10,44,57,.08);box-shadow:0 18px 48px rgba(7,39,52,.08);display:grid;gap:10px}.landing-implementation-grid article b{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#082C39;color:#72DACD;font-size:18px}.landing-implementation-grid article strong{font-size:18px;color:#092C38}.landing-implementation-grid article span{font-size:14px;color:#5E7780;line-height:1.6}
.public-site-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px clamp(22px,7vw,105px) 88px;color:#7E98A1;background:#03151E;border-top:1px solid rgba(112,210,195,.10)}.public-site-footer strong{display:block;color:#F0F8F8;font-size:15px}.public-site-footer span{display:block;margin-top:4px;font-size:12px}.public-site-footer-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.public-site-footer-links a,.public-site-footer-links button{color:#A5C0C6;text-decoration:none;background:none;border:0;padding:0;font-size:12px;font-weight:800;cursor:pointer}.public-site-footer-links a:hover,.public-site-footer-links button:hover{color:#fff}
.public-mobile-cta-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1200;display:none;gap:10px;padding:10px;border-radius:18px;background:rgba(7,30,43,.94);border:1px solid rgba(112,210,195,.18);box-shadow:0 18px 48px rgba(0,12,18,.34);backdrop-filter:blur(16px)}.public-mobile-cta-bar a{flex:1;display:flex;justify-content:center;align-items:center;text-decoration:none;padding:12px 14px;border-radius:13px;background:#41AB9E;color:#052A35;font-size:13px;font-weight:900}.public-mobile-cta-bar a.secondary{background:rgba(255,255,255,.08);color:#F4FBFB;border:1px solid rgba(255,255,255,.08)}
@media(max-width:1024px){.landing-implementation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.landing-implementation-grid{grid-template-columns:1fr}.public-site-footer{padding:18px 18px 110px;flex-direction:column;align-items:flex-start}.public-mobile-cta-bar{display:flex}}

/* Faro 3.6.199 · Paquetes públicos dinámicos desde service_plans */
.dynamic-plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;align-items:stretch}
.dynamic-plan-grid .landing-plan-card{height:100%;align-content:start;grid-template-rows:auto auto auto auto auto 1fr auto}
.landing-plan-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px}
.landing-plan-recommended{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#E8C45E;color:#523F0C;font-size:9px;font-weight:950;letter-spacing:.08em;white-space:nowrap}
.landing-plan-card.featured .landing-plan-recommended{background:#E8C45E;color:#523F0C}
.landing-plan-description{min-height:44px!important;margin:0!important;font-size:13px!important;line-height:1.55!important}
.landing-plan-price{display:grid;gap:2px;padding:14px 0 13px;border-top:1px solid rgba(12,63,79,.08);border-bottom:1px solid rgba(12,63,79,.08)}
.landing-plan-price>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#6D858D}
.landing-plan-price>strong{font-size:31px;line-height:1;color:#082D39;letter-spacing:-.035em}
.landing-plan-price>small{font-size:10px;color:#708890;line-height:1.4}
.landing-plan-card.featured .landing-plan-price{border-color:rgba(255,255,255,.10)}
.landing-plan-card.featured .landing-plan-price>span,.landing-plan-card.featured .landing-plan-price>small{color:#9FBBC1}
.landing-plan-card.featured .landing-plan-price>strong{color:#fff}
.landing-plan-capacity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.landing-plan-capacity>div{padding:10px 6px;border-radius:12px;background:#F4F8F9;text-align:center;border:1px solid #E7EEF0;min-width:0}
.landing-plan-capacity small{display:block;font-size:8px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;color:#789098;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.landing-plan-capacity b{display:block;margin-top:4px;font-size:18px;line-height:1;color:#0A3340}
.landing-plan-card.featured .landing-plan-capacity>div{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08)}
.landing-plan-card.featured .landing-plan-capacity small{color:#8FADB4}.landing-plan-card.featured .landing-plan-capacity b{color:#F4FBFC}
.landing-plan-unlimited{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:#E9F6F3;border:1px solid #D7ECE7}
.landing-plan-unlimited>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#CDEBE5;color:#17675F;font-size:20px;font-weight:950;flex:0 0 32px}
.landing-plan-unlimited strong,.landing-plan-unlimited small{display:block}.landing-plan-unlimited strong{font-size:11px;color:#155D57}.landing-plan-unlimited small{margin-top:2px;font-size:9px;color:#668984}
.landing-plan-card.featured .landing-plan-unlimited{background:rgba(65,171,158,.12);border-color:rgba(112,210,195,.15)}
.landing-plan-card.featured .landing-plan-unlimited>span{background:rgba(112,210,195,.18);color:#83DED2}.landing-plan-card.featured .landing-plan-unlimited strong{color:#EAF9F6}.landing-plan-card.featured .landing-plan-unlimited small{color:#9ABBB8}
.landing-plan-empty{max-width:520px;margin:0 auto;grid-column:1/-1}
@media(max-width:700px){
  .dynamic-plan-grid{grid-template-columns:1fr!important}
  .landing-plan-card{padding:20px 18px!important}
  .landing-plan-price>strong{font-size:28px}
  .landing-plan-capacity{grid-template-columns:repeat(2,minmax(0,1fr))}
  .landing-plan-description{min-height:0!important}
}

/* Faro 3.6.202 · Paquetes públicos administrables + funcionalidades actuales */
.sa-plan-public-settings{margin-bottom:16px!important}.sa-plan-promo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.sa-plan-promo-form>label{display:grid;gap:7px}.sa-plan-promo-form>label>span{font-size:12px;font-weight:850;color:#284a54}.sa-plan-promo-form small{font-size:10px;color:#7d949a;line-height:1.4}.sa-discount-input{display:flex;align-items:center;max-width:210px;border:1px solid #d8e4e7;border-radius:12px;background:#fff;overflow:hidden}.sa-discount-input input{border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.sa-discount-input b{padding:0 13px;color:#467079;font-size:14px}.sa-plan-badge.public-hidden{background:#eef1f2!important;color:#64777c!important}.sa-plan-badge.discount{background:#e7f6ee!important;color:#176848!important}.sa-plan-badge.discount.global{background:#e8f3f7!important;color:#1e6276!important}.sa-package-promo-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;padding:8px 10px;border-radius:11px;background:#edf8f4;border:1px solid #d7eee5}.sa-package-promo-preview span{font-size:9px!important;color:#59766d!important;text-transform:uppercase;font-weight:850;letter-spacing:.05em}.sa-package-promo-preview b{font-size:12px!important;color:#155f49!important}.sa-package-promo-preview em{font-style:normal;padding:3px 6px;border-radius:999px;background:#d7f0e3;color:#176848;font-size:9px;font-weight:900}
.landing-now-section{padding-top:30px!important;padding-bottom:62px!important;background:linear-gradient(180deg,#f8fbfb,#eef5f6)}.landing-now-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.landing-now-grid article{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(9,50,64,.08);box-shadow:0 16px 42px rgba(7,39,52,.06)}.landing-now-grid article>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#082f3c;color:#75d9cd;font-size:11px;font-weight:950;letter-spacing:.06em}.landing-now-grid strong{display:block;color:#0b2f3b;font-size:16px;line-height:1.2}.landing-now-grid p{margin:5px 0 0;color:#607981;font-size:13px;line-height:1.55}
.landing-plan-price.has-discount{position:relative}.landing-plan-discount-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.landing-plan-discount-line del{font-size:13px;color:#81969c;font-weight:750}.landing-plan-discount-badge{display:inline-flex!important;width:max-content!important;padding:5px 8px!important;border-radius:999px!important;background:#e7f7ee!important;color:#176848!important;font-size:10px!important;font-weight:950!important;letter-spacing:.04em}.landing-plan-card.featured .landing-plan-discount-badge{background:rgba(115,219,206,.16)!important;color:#91eadf!important}.landing-plan-card.featured .landing-plan-discount-line del{color:#8daab1}
.landing-compat-intelligence{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:center;padding-top:56px!important;padding-bottom:56px!important;background:#f7fbfb}.landing-compat-intelligence-copy h2{margin:10px 0 0;color:#0a2e3b;font-size:clamp(28px,3.6vw,48px);line-height:1.04;letter-spacing:-.035em;max-width:760px}.landing-compat-intelligence-copy>p{margin:16px 0 0;color:#5e7881;font-size:14px;line-height:1.7;max-width:720px}.landing-privacy-note{display:grid;gap:5px;margin-top:18px;padding:14px 16px;border-radius:16px;background:#e9f5f3;border:1px solid #d4ebe7}.landing-privacy-note b{font-size:12px;color:#17665d}.landing-privacy-note span{font-size:12px;line-height:1.55;color:#56756f}.landing-compat-stats{padding:20px;border-radius:24px;background:linear-gradient(155deg,#071f2c,#0b3945);border:1px solid rgba(112,210,195,.17);box-shadow:0 22px 52px rgba(2,25,34,.22);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.landing-compat-stats>div{padding:13px 10px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);min-width:0}.landing-compat-stats small{display:block;color:#91adb4;font-size:8px;text-transform:uppercase;letter-spacing:.07em;line-height:1.3}.landing-compat-stats strong{display:block;margin-top:5px;color:#fff;font-size:24px}.landing-compat-stats span{display:block;margin-top:3px;color:#88aaaF;font-size:9px;line-height:1.3}.landing-compat-stats>a{grid-column:1/-1;display:flex;justify-content:center;padding:12px;border-radius:13px;background:#45b9ae;color:#062b36;text-decoration:none;font-size:12px;font-weight:900}
@media(max-width:1024px){.landing-compat-intelligence{grid-template-columns:1fr}.landing-compat-stats{max-width:720px}}
@media(max-width:760px){.sa-plan-promo-form{grid-template-columns:1fr}.sa-discount-input{max-width:none}.landing-now-grid{grid-template-columns:1fr}.landing-compat-stats{grid-template-columns:1fr}.landing-compat-stats>a{grid-column:auto}.landing-compat-intelligence{padding-top:38px!important;padding-bottom:38px!important}}

/* =========================================================
   Faro 3.6.202 · Landing pública viva / interactiva
   ========================================================= */
:root{
  --faro-teal:#41AB9E;
  --faro-teal-light:#77D7CB;
  --faro-blue:#3B82F6;
  --faro-violet:#8B5CF6;
  --faro-gold:#E2B34C;
  --faro-ink:#062A36;
}
html{scroll-padding-top:88px}
body.public-body{padding-top:72px;overflow-x:hidden;background:#F6FAFA}
.public-nav{
  position:fixed!important;left:0!important;right:0!important;top:0!important;width:auto!important;
  z-index:1400!important;transition:height .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease!important;
  background:rgba(6,27,39,.86)!important;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)
}
.public-nav.scrolled{background:rgba(5,24,34,.96)!important;box-shadow:0 12px 34px rgba(0,15,23,.28)!important;border-bottom-color:rgba(112,210,195,.20)!important}
.public-nav .public-login-btn{position:relative;overflow:hidden;background:rgba(255,255,255,.055);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.public-nav .public-login-btn:hover{transform:translateY(-1px);background:rgba(65,171,158,.15);border-color:rgba(112,210,195,.52)}
.public-nav nav>a:not(.public-login-btn),.public-faq-link{transition:color .18s ease,transform .18s ease}.public-nav nav>a:not(.public-login-btn):hover,.public-faq-link:hover{transform:translateY(-1px)}

/* Contador público: vivo, pero sobrio. */
.public-round-counter.faro-pride-counter{overflow:hidden!important;isolation:isolate;box-shadow:0 0 0 1px rgba(115,219,206,.05),0 8px 26px rgba(0,0,0,.18)!important;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(65,171,158,.08))!important}
.public-round-counter.faro-pride-counter::after{content:"";position:absolute;inset:-1px auto -1px -45%;width:42%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.20),transparent);transform:skewX(-18deg);animation:faroCounterShine 5.2s ease-in-out infinite;z-index:-1}
.public-round-counter .faro-pride-mark{display:inline-grid!important;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(115,219,206,.13);color:#79DED0!important;animation:faroCounterPulse 2.2s ease-in-out infinite}
.public-round-counter strong{font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(115,219,206,.20)}
@keyframes faroCounterShine{0%,65%{left:-55%;opacity:0}72%{opacity:1}90%{left:125%;opacity:.65}100%{left:125%;opacity:0}}
@keyframes faroCounterPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(115,219,206,.12)}50%{transform:scale(1.08);box-shadow:0 0 0 7px rgba(115,219,206,0)}}

/* Hero conservado: solo microprofundidad y color ambiente. */
.public-hero{position:relative;isolation:isolate}
.public-hero::before,.public-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1;opacity:.7}
.public-hero::before{width:290px;height:290px;left:-90px;top:22%;background:radial-gradient(circle,rgba(59,130,246,.12),transparent 68%)}
.public-hero::after{width:340px;height:340px;right:-100px;bottom:-80px;background:radial-gradient(circle,rgba(139,92,246,.11),transparent 68%)}
.public-hero-actions .public-primary,.public-hero-actions .public-secondary{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.public-hero-actions a:hover{transform:translateY(-2px)}

/* Página más compacta. */
.public-section{padding-top:68px!important;padding-bottom:68px!important}
.public-section-head{margin-bottom:30px!important}.public-section-head h2,.public-contact h2{font-size:clamp(31px,3.7vw,50px)!important}.public-section-head>p{margin-bottom:0}
.landing-report-section{padding-top:58px!important;padding-bottom:58px!important}
.landing-device-section,.landing-implementation-section{padding-top:48px!important;padding-bottom:52px!important}
.public-contact{padding-top:66px!important;padding-bottom:66px!important}

/* Franja de prueba con pequeños acentos. */
.public-proof-strip{position:relative;overflow:hidden;background:linear-gradient(90deg,#fff,#F5FBFA 50%,#fff)}
.public-proof-strip::after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#41AB9E,#3B82F6,#8B5CF6,transparent);opacity:.55}
.public-proof-strip div:nth-child(1) strong{color:#138579}.public-proof-strip div:nth-child(2) strong{color:#2D6FD4}.public-proof-strip div:nth-child(3) strong{color:#7550C8}.public-proof-strip div:nth-child(4) strong{color:#B7871E}

/* Beneficios tipo bento con color individual. */
.landing-color-field{position:relative;background:radial-gradient(circle at 5% 12%,rgba(65,171,158,.10),transparent 21%),radial-gradient(circle at 94% 75%,rgba(59,130,246,.08),transparent 20%),#F6FAFA}
.landing-attractive-grid{gap:13px!important}
.landing-attractive-grid article{position:relative;overflow:hidden;min-height:180px;padding:20px!important;border-color:rgba(11,59,73,.07)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.landing-attractive-grid article::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,var(--card-glow,rgba(65,171,158,.10)),transparent 34%);pointer-events:none}
.landing-attractive-grid article:nth-child(1){--card-accent:#41AB9E;--card-glow:rgba(65,171,158,.15)}
.landing-attractive-grid article:nth-child(2){--card-accent:#3B82F6;--card-glow:rgba(59,130,246,.13)}
.landing-attractive-grid article:nth-child(3){--card-accent:#8B5CF6;--card-glow:rgba(139,92,246,.12)}
.landing-attractive-grid article:nth-child(4){--card-accent:#E07762;--card-glow:rgba(224,119,98,.13)}
.landing-attractive-grid article:nth-child(5){--card-accent:#E2B34C;--card-glow:rgba(226,179,76,.15)}
.landing-attractive-grid article:nth-child(6){--card-accent:#168AA0;--card-glow:rgba(22,138,160,.13)}
.landing-attractive-grid article i{background:color-mix(in srgb,var(--card-accent) 13%,white)!important;color:var(--card-accent)!important;border:1px solid color-mix(in srgb,var(--card-accent) 18%,white)}
.landing-attractive-grid article:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(4,37,49,.11)!important;border-color:color-mix(in srgb,var(--card-accent) 28%,white)!important}

/* Faro hoy: menos alto, más gráfico. */
.landing-now-section{background:linear-gradient(180deg,#F6FAFA,#EDF6F7)}
.landing-now-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
.landing-now-grid article{min-height:0!important;padding:15px 14px!important;border-radius:17px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(11,62,76,.07)!important;box-shadow:0 8px 24px rgba(7,39,52,.04)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.landing-now-grid article:nth-child(4n+1)>span{background:#DDF4EF!important;color:#14786D!important}.landing-now-grid article:nth-child(4n+2)>span{background:#E3EDFF!important;color:#2B68C8!important}.landing-now-grid article:nth-child(4n+3)>span{background:#EEE7FF!important;color:#7150C5!important}.landing-now-grid article:nth-child(4n+4)>span{background:#FFF2CF!important;color:#9C7115!important}
.landing-now-grid article:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(6,40,52,.08)!important;border-color:rgba(65,171,158,.22)!important}
.landing-now-grid article strong{font-size:14px!important}.landing-now-grid article p{font-size:11.5px!important;line-height:1.48!important;margin-top:4px!important}

/* Monitor visual con brillo sutil. */
.landing-showcase-board{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.landing-showcase-board::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 80deg,transparent 0 60%,rgba(65,171,158,.08),transparent 72%);animation:faroAmbientRotate 16s linear infinite;pointer-events:none}.landing-showcase-board>*{position:relative;z-index:1}.landing-showcase-board:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(1,20,29,.32)}
@keyframes faroAmbientRotate{to{transform:rotate(360deg)}}
.landing-progress i{position:relative;overflow:hidden}.landing-progress i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:faroProgressSweep 2.8s ease-in-out infinite}
@keyframes faroProgressSweep{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(140%)}}

/* Flujo más corto y conectado. */
.landing-flow-section{position:relative;background:radial-gradient(circle at 86% 16%,rgba(65,171,158,.12),transparent 26%),linear-gradient(145deg,#061B27,#092F3C)!important}
.landing-flow-grid{gap:10px!important}.landing-flow-grid article{position:relative;padding:16px 15px!important;min-height:180px;transition:transform .2s ease,background .2s ease,border-color .2s ease}.landing-flow-grid article:hover{transform:translateY(-4px);background:rgba(255,255,255,.075);border-color:rgba(115,219,206,.26)}
.landing-flow-grid article:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:23px;color:#63CABC;font-size:13px;z-index:3}

/* Reporte con sombra y pequeño efecto papel. */
.landing-report-section{background:linear-gradient(135deg,#F3F8F9 0,#FFFFFF 55%,#F0F8F6 100%)!important}
.landing-report-paper{position:relative;transform:rotate(.45deg);transition:transform .28s ease,box-shadow .28s ease}.landing-report-paper::before{content:"";position:absolute;inset:8px -8px -8px 8px;border-radius:22px;background:#DDE9EB;z-index:-1;opacity:.55}.landing-report-paper:hover{transform:rotate(0deg) translateY(-4px);box-shadow:0 32px 66px rgba(5,40,54,.14)!important}
.landing-report-badges span:nth-child(1){background:#E3F6F1;color:#166D63}.landing-report-badges span:nth-child(2){background:#E7F0FF;color:#2D63B8}.landing-report-badges span:nth-child(3){background:#EEE8FF;color:#704EB9}.landing-report-badges span:nth-child(4){background:#FFF2D3;color:#916C16}

/* Comparativa reemplazada por nube de pros. */
.landing-pros-section{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(420px,1.22fr);gap:28px;align-items:center;background:linear-gradient(135deg,#071E2B 0,#0A3340 58%,#092937 100%)!important;color:#fff;position:relative;overflow:hidden}
.landing-pros-section::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-130px;top:-170px;background:radial-gradient(circle,rgba(139,92,246,.20),transparent 66%)}
.landing-pros-copy,.landing-pro-cloud,.landing-pros-bottom{position:relative;z-index:1}.landing-pros-copy .public-kicker.dark{color:#7DE0D2}.landing-pros-copy .public-kicker.dark span{background:#57C8BA}.landing-pros-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.02;letter-spacing:-.04em;margin:13px 0 15px;color:#fff}.landing-pros-copy>p{color:#A9C2C8;font-size:15px;line-height:1.65;margin:0}.landing-pros-highlight{margin-top:22px;padding:15px 16px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);display:grid;gap:5px}.landing-pros-highlight span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#71D9CD}.landing-pros-highlight strong{font-size:14px;line-height:1.35;color:#F5FBFC}
.landing-pro-cloud{display:flex;flex-wrap:wrap;gap:9px;align-content:center}.landing-pro-cloud>span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);color:#DDECEF;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.landing-pro-cloud>span:nth-child(4n+1){border-color:rgba(65,171,158,.35);color:#8AE5D9}.landing-pro-cloud>span:nth-child(4n+2){border-color:rgba(59,130,246,.30);color:#AFCBFF}.landing-pro-cloud>span:nth-child(4n+3){border-color:rgba(139,92,246,.30);color:#CFBDFF}.landing-pro-cloud>span:nth-child(4n+4){border-color:rgba(226,179,76,.30);color:#F2D990}.landing-pro-cloud>span:hover{transform:translateY(-3px) scale(1.025);background:rgba(255,255,255,.09);border-color:currentColor}
.landing-pros-bottom{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}.landing-pros-bottom>div{padding:14px 15px;border-radius:16px;background:rgba(0,0,0,.11);border:1px solid rgba(255,255,255,.07)}.landing-pros-bottom b,.landing-pros-bottom span{display:block}.landing-pros-bottom b{font-size:12px;color:#fff}.landing-pros-bottom span{margin-top:4px;color:#8FAEB5;font-size:10.5px;line-height:1.4}

/* Inteligencia de compatibilidad: más color, menos bloque. */
.landing-compat-intelligence{background:radial-gradient(circle at 5% 70%,rgba(59,130,246,.08),transparent 24%),#F7FBFB!important}.landing-compat-stats>div:nth-child(1){border-top:3px solid #41AB9E}.landing-compat-stats>div:nth-child(2){border-top:3px solid #3B82F6}.landing-compat-stats>div:nth-child(3){border-top:3px solid #8B5CF6}.landing-compat-stats strong{font-variant-numeric:tabular-nums}
.public-nfc-compatible-only{display:none!important}body.is-nfc-compatible .public-nfc-compatible-only{display:inline-flex!important}

/* Planes: color propio + tilt/hover moderno. */
.landing-plans-section{position:relative;background:radial-gradient(circle at 15% 10%,rgba(65,171,158,.08),transparent 20%),radial-gradient(circle at 90% 28%,rgba(139,92,246,.07),transparent 24%),#F7FAFB!important}
.dynamic-plan-grid{align-items:stretch!important;gap:16px!important}
.landing-plan-card{
  --plan-accent:#178899;--plan-soft:#EAF7F7;--plan-dark:#0A3843;
  position:relative;isolation:isolate;overflow:hidden;border-top:4px solid var(--plan-accent)!important;
  background:linear-gradient(180deg,var(--plan-soft) 0,#fff 29%,#fff 100%)!important;
  box-shadow:0 16px 42px rgba(7,39,52,.075)!important;
  transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(0);
  transform-style:preserve-3d;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.landing-plan-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--glow-x,78%) var(--glow-y,5%),color-mix(in srgb,var(--plan-accent) 16%,transparent),transparent 32%);pointer-events:none;z-index:-1;opacity:.88}
.landing-plan-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-8px) scale(1.012);box-shadow:0 30px 62px rgba(7,39,52,.15)!important}
.landing-plan-card.plan-tone-base{--plan-accent:#41AB9E;--plan-soft:#E8F7F4;--plan-dark:#0B5B54}
.landing-plan-card.plan-tone-professional{--plan-accent:#3B82F6;--plan-soft:#EDF4FF;--plan-dark:#1F5FB9}
.landing-plan-card.plan-tone-enterprise{--plan-accent:#8B5CF6;--plan-soft:#F2EDFF;--plan-dark:#6840B5}
.landing-plan-card.plan-tone-premium{--plan-accent:#E2B34C;--plan-soft:#FFF7E2;--plan-dark:#977019}
.landing-plan-card.plan-tone-custom{--plan-accent:#168AA0;--plan-soft:#EAF6F8;--plan-dark:#126879}
.landing-plan-card .landing-plan-tag{background:color-mix(in srgb,var(--plan-accent) 13%,white)!important;color:var(--plan-dark)!important;border:1px solid color-mix(in srgb,var(--plan-accent) 18%,white)}
.landing-plan-card h3,.landing-plan-card .landing-plan-price>strong,.landing-plan-card .landing-plan-capacity b{color:var(--plan-dark)!important}.landing-plan-card .landing-plan-link{background:var(--plan-dark)!important}.landing-plan-card .landing-plan-link:hover{background:var(--plan-accent)!important;color:#fff!important}.landing-plan-card .landing-plan-unlimited{background:color-mix(in srgb,var(--plan-accent) 10%,white)!important;border-color:color-mix(in srgb,var(--plan-accent) 18%,white)!important}.landing-plan-card .landing-plan-unlimited>span{background:color-mix(in srgb,var(--plan-accent) 18%,white)!important;color:var(--plan-dark)!important}.landing-plan-card .landing-plan-unlimited strong{color:var(--plan-dark)!important}
.landing-plan-card.featured{border:2px solid var(--plan-accent)!important;border-top-width:5px!important;box-shadow:0 24px 58px color-mix(in srgb,var(--plan-accent) 18%,transparent)!important}.landing-plan-card.featured::after{content:"";position:absolute;left:10%;right:10%;top:-12px;height:26px;border-radius:50%;background:var(--plan-accent);filter:blur(22px);opacity:.17;z-index:-1}.landing-plan-card.featured h3,.landing-plan-card.featured p,.landing-plan-card.featured li{color:inherit!important}.landing-plan-card.featured .landing-plan-price>span,.landing-plan-card.featured .landing-plan-price>small{color:#6D858D!important}.landing-plan-card.featured .landing-plan-capacity>div{background:#fff!important;border-color:#E7EEF0!important}.landing-plan-card.featured .landing-plan-capacity small{color:#789098!important}.landing-plan-card.featured .landing-plan-recommended{background:var(--plan-accent)!important;color:#fff!important;box-shadow:0 7px 18px color-mix(in srgb,var(--plan-accent) 26%,transparent)}
.landing-plan-discount-badge{background:var(--plan-accent)!important;color:#fff!important;box-shadow:0 5px 14px color-mix(in srgb,var(--plan-accent) 25%,transparent)}

/* Implementación en una tira más baja. */
.landing-implementation-section{background:#EEF5F6!important}.landing-implementation-grid{gap:9px!important}.landing-implementation-grid article{padding:15px!important;border-radius:17px!important;box-shadow:none!important;grid-template-columns:38px 1fr;column-gap:10px;align-items:start}.landing-implementation-grid article b{grid-row:1/3;width:38px!important;height:38px!important;border-radius:12px!important;font-size:14px!important}.landing-implementation-grid article strong{font-size:14px!important}.landing-implementation-grid article span{font-size:11px!important;line-height:1.45!important}

/* Barra móvil: NFC solo si el navegador cumple. */
.public-mobile-cta-bar .public-mobile-demo-button{background:#41AB9E!important;color:#052A35!important;border:0!important}.public-mobile-cta-bar:not(:has(.public-nfc-compatible-only[style*="inline-flex"])) .public-mobile-demo-button{flex:1}
body:not(.is-nfc-compatible) .public-mobile-cta-bar .public-mobile-demo-button{width:100%;flex-basis:100%}

/* Volver arriba por encima del CTA inferior. */
@media(max-width:700px){
  body.public-body{padding-top:62px}
  html{scroll-padding-top:74px}
  .public-nav{height:62px!important}
  .public-section{padding-top:52px!important;padding-bottom:52px!important}
  .public-section-head{margin-bottom:22px!important}
  .landing-attractive-grid{grid-template-columns:1fr!important}
  .landing-attractive-grid article{min-height:0;padding:17px!important}
  .landing-now-grid{grid-template-columns:1fr 1fr!important}
  .landing-now-grid article{padding:13px 11px!important}
  .landing-now-grid article>span{width:28px!important;height:28px!important;font-size:8px!important}
  .landing-now-grid article strong{font-size:12px!important}.landing-now-grid article p{font-size:10px!important}
  .landing-flow-grid article:not(:last-child)::after{display:none}
  .landing-flow-grid article{min-height:0}
  .landing-report-paper{transform:none}
  .landing-pros-section{grid-template-columns:1fr!important;padding-top:52px!important;padding-bottom:52px!important}
  .landing-pro-cloud{gap:7px}.landing-pro-cloud>span{min-height:34px;padding:0 11px;font-size:10.5px}
  .landing-pros-bottom{grid-template-columns:1fr!important}
  .landing-plan-card{transform:none!important}.landing-plan-card:hover{transform:translateY(-3px)!important}
  .landing-implementation-grid{grid-template-columns:1fr!important}
  .public-mobile-cta-bar{bottom:calc(10px + env(safe-area-inset-bottom))!important}
  .faro-scroll-top{bottom:calc(92px + env(safe-area-inset-bottom))!important;right:16px!important;width:46px!important;height:46px!important}
}
@media(min-width:701px) and (max-width:1024px){.landing-now-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.landing-pros-section{grid-template-columns:1fr!important}.landing-pros-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-implementation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Revelado al scroll: progresivo y respetuoso con accesibilidad. */
html.faro-js .faro-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.2,.75,.2,1),transform .55s cubic-bezier(.2,.75,.2,1)}
html.faro-js .faro-reveal.is-visible{opacity:1;transform:none}
html.faro-js .faro-stagger-item{opacity:0;transform:translateY(15px) scale(.985);transition:opacity .42s ease,transform .48s cubic-bezier(.2,.75,.2,1);transition-delay:calc(var(--stagger,0) * 45ms)}
html.faro-js .faro-stagger-item.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html.faro-js .faro-reveal,html.faro-js .faro-stagger-item{opacity:1!important;transform:none!important}
  .landing-plan-card,.landing-plan-card:hover{transform:none!important}
}
.public-hero{box-sizing:border-box}

/* Faro 3.6.202 · Remate visual landing dinámica */
.public-scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;z-index:4}.public-scroll-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#43B8AB,#3B82F6,#8B5CF6,#E2B34C);box-shadow:0 0 14px rgba(93,213,200,.48);will-change:transform}
.landing-color-field,.landing-now-section,.landing-report-section,.landing-device-section,.landing-plans-section{position:relative;overflow:hidden;isolation:isolate}.landing-color-field::before,.landing-now-section::before,.landing-report-section::before,.landing-device-section::before,.landing-plans-section::before{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none;z-index:-1;opacity:.52}
.landing-color-field::before{width:390px;height:390px;right:-170px;top:-120px;background:radial-gradient(circle,rgba(65,171,158,.18),transparent 68%)}
.landing-now-section::before{width:340px;height:340px;left:-150px;bottom:-120px;background:radial-gradient(circle,rgba(59,130,246,.14),transparent 68%)}
.landing-report-section::before{width:420px;height:420px;right:-180px;bottom:-200px;background:radial-gradient(circle,rgba(139,92,246,.12),transparent 70%)}
.landing-device-section::before{width:360px;height:360px;left:-160px;top:-120px;background:radial-gradient(circle,rgba(226,179,76,.13),transparent 70%)}
.landing-plans-section::before{width:430px;height:430px;right:-190px;top:-180px;background:radial-gradient(circle,rgba(65,171,158,.13),transparent 70%)}
.landing-attractive-grid article,.landing-now-grid article,.landing-implementation-grid article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.landing-attractive-grid article:hover,.landing-now-grid article:hover,.landing-implementation-grid article:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(5,40,54,.10);border-color:rgba(65,171,158,.24)}
.landing-pro-cloud>span{position:relative;overflow:hidden}.landing-pro-cloud>span::after{content:"";position:absolute;inset:auto 10px 0;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.22;transform:scaleX(.25);transition:transform .2s ease}.landing-pro-cloud>span:hover::after{transform:scaleX(1)}
.landing-plan-card{cursor:default}.landing-plan-card .landing-plan-link{position:relative;overflow:hidden}.landing-plan-card .landing-plan-link::after{content:"";position:absolute;top:-60%;bottom:-60%;width:28%;left:-45%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:left .5s ease}.landing-plan-card:hover .landing-plan-link::after{left:118%}
.public-proof-strip>div{position:relative;overflow:hidden}.public-proof-strip>div::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#41AB9E,#3B82F6);opacity:.65}
@media(max-width:700px){.landing-attractive-grid article:hover,.landing-now-grid article:hover,.landing-implementation-grid article:hover{transform:none;box-shadow:inherit}.landing-plan-card .landing-plan-link::after{display:none}.public-scroll-progress{height:2px}.landing-color-field::before,.landing-now-section::before,.landing-report-section::before,.landing-device-section::before,.landing-plans-section::before{opacity:.34}}

/* Faro 3.6.204 · controles de página pública desde SuperAdmin */
.sa-public-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sa-public-setting-grid .sa-setting-card{height:100%;box-sizing:border-box}.sa-public-setting-grid .sa-setting-switch-row+ .sa-setting-switch-row{margin-top:8px;padding-top:10px;border-top:1px solid rgba(12,76,91,.08)}
body.public-color-accents-off .landing-color-field::before,
body.public-color-accents-off .landing-now-section::before,
body.public-color-accents-off .landing-report-section::before,
body.public-color-accents-off .landing-device-section::before,
body.public-color-accents-off .landing-plans-section::before,
body.public-color-accents-off .landing-pros-section::before{display:none!important}
body.public-color-accents-off .landing-report-section,
body.public-color-accents-off .landing-plans-section,
body.public-color-accents-off .landing-compat-intelligence{background:#F7FAFB!important}
body.public-counter-animation-off .faro-pride-mark,
body.public-counter-animation-off .faro-pride-copy,
body.public-counter-animation-off .public-round-counter::before,
body.public-counter-animation-off .public-round-counter::after{animation:none!important}
body.public-desktop-3d-off .landing-plan-card,
body.public-desktop-3d-off .landing-plan-card:hover{transform:none!important}
@media(max-width:700px){
  body.public-mobile-3d-off .landing-plan-card,
  body.public-mobile-3d-off .landing-plan-card:hover{transform:none!important}
  body.public-mobile-3d-on .landing-plan-card{transform:perspective(760px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important;transition:transform .13s ease,box-shadow .18s ease!important;touch-action:pan-y}
  body.public-mobile-3d-on .landing-plan-card.is-touch-tilting{transform:perspective(760px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(.992)!important;box-shadow:0 24px 52px rgba(7,39,52,.14)!important}
}
@media(max-width:900px){.sa-public-setting-grid{grid-template-columns:1fr}}

/* Faro v3.6.206 · 5 estilos configurables para el contador público */
.public-round-counter.faro-pride-counter,
.signin-round-counter.faro-pride-counter{
  overflow:visible!important;
  min-height:38px!important;
  padding:7px 12px!important;
  gap:9px!important;
  border-radius:15px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.public-round-counter.faro-pride-counter::after,
.signin-round-counter.faro-pride-counter::after{pointer-events:none}
.faro-counter-style-mark{
  position:relative;
  display:inline-block!important;
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.faro-pride-counter .faro-pride-copy{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.faro-pride-counter .faro-pride-copy>span{
  display:inline!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  color:#D9F0F1!important;
}
.faro-pride-counter .faro-pride-copy strong{
  display:inline-block!important;
  min-width:2ch;
  margin:0!important;
  font-size:19px!important;
  font-weight:1000!important;
  font-variant-numeric:tabular-nums;
  color:#FFF!important;
  letter-spacing:-.02em!important;
  text-shadow:0 2px 14px rgba(97,225,211,.22)!important;
}

/* 1 · Clásico Faro: destello geométrico sin círculo/óvalo */
.faro-counter-style-classic{
  border:1px solid rgba(103,214,201,.36)!important;
  background:linear-gradient(135deg,rgba(10,61,75,.96),rgba(8,45,58,.94))!important;
  box-shadow:0 8px 24px rgba(0,18,27,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.faro-counter-style-classic .faro-counter-style-mark::before,
.faro-counter-style-classic .faro-counter-style-mark::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);
  background:linear-gradient(135deg,#A9FFF5,#4CC7BA);box-shadow:0 0 12px rgba(95,221,207,.35)
}
.faro-counter-style-classic .faro-counter-style-mark::before{width:10px;height:10px;border-radius:2px}
.faro-counter-style-classic .faro-counter-style-mark::after{width:4px;height:18px;border-radius:999px;opacity:.78}
.faro-counter-style-classic::after{
  content:"";position:absolute;inset:0 auto 0 -34%;width:28%;z-index:-1;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.14),transparent);
  transform:skewX(-18deg);animation:faroCounterClassicSweep 4.8s ease-in-out infinite
}
@keyframes faroCounterClassicSweep{0%,64%{left:-34%;opacity:0}72%{opacity:1}90%,100%{left:116%;opacity:0}}

/* 2 · Pulso: señal activa */
.faro-counter-style-pulse{
  border:1px solid rgba(89,215,201,.28)!important;
  background:linear-gradient(135deg,rgba(7,52,65,.96),rgba(6,40,52,.96))!important;
  box-shadow:0 8px 24px rgba(0,18,27,.20),inset 0 0 22px rgba(66,190,177,.05)!important;
}
.faro-counter-style-pulse .faro-counter-style-mark{width:18px;height:18px;flex-basis:18px}
.faro-counter-style-pulse .faro-counter-style-mark::before{
  content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);
  background:#69DED0;box-shadow:0 0 0 0 rgba(105,222,208,.35);animation:faroCounterPulseBeacon 1.9s ease-out infinite
}
.faro-counter-style-pulse .faro-counter-style-mark::after{
  content:"";position:absolute;inset:2px;border:1px solid rgba(105,222,208,.34);border-radius:50%;animation:faroCounterPulseRing 1.9s ease-out infinite
}
@keyframes faroCounterPulseBeacon{0%,100%{box-shadow:0 0 0 0 rgba(105,222,208,.34)}60%{box-shadow:0 0 0 7px rgba(105,222,208,0)}}
@keyframes faroCounterPulseRing{0%{transform:scale(.55);opacity:0}28%{opacity:.9}100%{transform:scale(1.35);opacity:0}}

/* 3 · Cristal: borde luminoso y reflejo */
.faro-counter-style-glass{
  border:1px solid rgba(175,239,235,.24)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(29,102,112,.10))!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 10px 28px rgba(0,13,21,.22),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.faro-counter-style-glass .faro-counter-style-mark::before{
  content:"";position:absolute;inset:3px;border:1px solid rgba(132,230,219,.62);border-radius:5px;transform:rotate(45deg)
}
.faro-counter-style-glass .faro-counter-style-mark::after{
  content:"";position:absolute;width:5px;height:5px;left:8px;top:8px;border-radius:50%;background:#A8FFF4;box-shadow:0 0 11px #68D6C9
}
.faro-counter-style-glass::after{
  content:"";position:absolute;inset:0 auto 0 -42%;width:32%;border-radius:inherit;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.19),transparent);animation:faroCounterGlassShine 5.4s ease-in-out infinite
}
@keyframes faroCounterGlassShine{0%,68%{left:-42%;opacity:0}75%{opacity:.9}93%,100%{left:112%;opacity:0}}

/* 4 · Haz: marco energético y barrido inferior */
.faro-counter-style-beam{
  border:1px solid rgba(74,188,204,.26)!important;border-left:3px solid #55CFC1!important;
  background:linear-gradient(90deg,rgba(13,66,78,.94),rgba(7,41,54,.96))!important;
  box-shadow:0 8px 22px rgba(0,17,25,.20)!important;
}
.faro-counter-style-beam .faro-counter-style-mark::before{
  content:"";position:absolute;left:2px;right:2px;top:9px;height:2px;border-radius:99px;background:linear-gradient(90deg,#4FA9DD,#75E1D1)
}
.faro-counter-style-beam .faro-counter-style-mark::after{
  content:"";position:absolute;left:8px;top:4px;width:3px;height:12px;border-radius:99px;background:#D0FFFA;box-shadow:0 0 10px rgba(101,221,209,.5)
}
.faro-counter-style-beam::after{
  content:"";position:absolute;left:8px;bottom:3px;width:24%;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#72E0D2,transparent);animation:faroCounterBeam 2.7s ease-in-out infinite
}
@keyframes faroCounterBeam{0%,100%{left:7%;opacity:.35}50%{left:68%;opacity:1}}

/* 5 · Minimal: sin cápsula pesada */
.faro-counter-style-minimal{
  padding-left:11px!important;border:0!important;border-left:2px solid #5FD7CA!important;border-radius:3px!important;
  background:transparent!important;box-shadow:none!important;
}
.faro-counter-style-minimal .faro-counter-style-mark{width:10px;height:18px;flex-basis:10px}
.faro-counter-style-minimal .faro-counter-style-mark::before{
  content:"";position:absolute;left:2px;top:2px;width:4px;height:4px;border-radius:50%;background:#8EF0E3;box-shadow:0 6px 0 #56BFD0,0 12px 0 #366E9D
}
.faro-counter-style-minimal::after{display:none!important}
.faro-counter-style-minimal .faro-pride-copy strong{color:#78DED1!important;text-shadow:none!important}

/* Hover discreto en cualquiera de los cinco */
@media(hover:hover) and (pointer:fine){
  .public-round-counter.faro-pride-counter:hover{transform:translateY(-1px)!important;box-shadow:0 12px 30px rgba(0,18,27,.27),inset 0 1px 0 rgba(255,255,255,.08)!important}
  .public-round-counter.faro-counter-style-minimal:hover{box-shadow:none!important}
}

/* Configurador SuperAdmin */
.sa-counter-style-picker{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.sa-counter-style-title{display:block;margin-bottom:9px;color:var(--petrol);font-size:11px;font-weight:900}
.sa-counter-style-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sa-counter-style-option{display:grid;gap:6px;align-content:start;padding:9px;border:1px solid var(--line);border-radius:13px;background:#FBFDFD;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.sa-counter-style-option:hover{transform:translateY(-1px);border-color:#7EC9C1;box-shadow:0 8px 18px rgba(13,74,83,.08)}
.sa-counter-style-option>input{position:absolute;opacity:0;pointer-events:none}
.sa-counter-style-option:has(input:checked){border-color:#36AFA2;box-shadow:0 0 0 2px rgba(54,175,162,.10);background:#F3FBFA}
.sa-counter-style-option>b{font-size:10px;color:var(--petrol)}
.sa-counter-style-option>small{font-size:8px;color:var(--muted);line-height:1.35}
.sa-counter-style-preview{position:relative;display:flex;align-items:center;gap:5px;min-height:30px;padding:5px 7px;border-radius:9px;background:#07303C;color:white;overflow:hidden}
.sa-counter-style-preview>span{font-size:7px;font-weight:800;color:#D8F1F1}.sa-counter-style-preview>strong{margin-left:auto;font-size:11px;color:white}.counter-preview-mark{position:relative;width:12px;height:12px;flex:0 0 12px}
.sa-counter-style-preview.counter-style-classic{border:1px solid rgba(103,214,201,.45)}
.sa-counter-style-preview.counter-style-classic .counter-preview-mark::before{content:"";position:absolute;inset:2px;background:#6DDBCF;transform:rotate(45deg);border-radius:2px}
.sa-counter-style-preview.counter-style-pulse{border:1px solid rgba(89,215,201,.3)}
.sa-counter-style-preview.counter-style-pulse .counter-preview-mark::before{content:"";position:absolute;left:4px;top:4px;width:5px;height:5px;border-radius:50%;background:#6BDED1;box-shadow:0 0 0 3px rgba(107,222,209,.12)}
.sa-counter-style-preview.counter-style-glass{background:linear-gradient(135deg,#244D56,#0A303A);border:1px solid rgba(255,255,255,.2)}
.sa-counter-style-preview.counter-style-glass .counter-preview-mark::before{content:"";position:absolute;inset:2px;border:1px solid #89E5DA;transform:rotate(45deg)}
.sa-counter-style-preview.counter-style-beam{border-left:3px solid #5AD4C6}
.sa-counter-style-preview.counter-style-beam .counter-preview-mark::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:#6DDBCF}
.sa-counter-style-preview.counter-style-minimal{background:transparent;border-left:2px solid #5FD7CA;border-radius:2px;color:#0C3F4B}
.sa-counter-style-preview.counter-style-minimal>span{color:#55737B}.sa-counter-style-preview.counter-style-minimal>strong{color:#1B837B}.sa-counter-style-preview.counter-style-minimal .counter-preview-mark::before{content:"";position:absolute;left:3px;top:1px;width:3px;height:3px;border-radius:50%;background:#58CABA;box-shadow:0 4px 0 #4CA9BE,0 8px 0 #315E86}

@media(max-width:1100px){.sa-counter-style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .sa-counter-style-grid{grid-template-columns:1fr 1fr}
  .public-round-counter.faro-pride-counter,.signin-round-counter.faro-pride-counter{min-height:34px!important;padding:5px 9px!important;gap:6px!important}
  .faro-counter-style-mark{width:16px;height:16px;flex-basis:16px}
  .faro-pride-counter .desktop-counter-label,.faro-pride-counter .signin-counter-desktop{display:none!important}
  .faro-pride-counter .mobile-counter-label,.faro-pride-counter .signin-counter-mobile{display:inline!important;font-size:9px!important;color:#BBD0D5!important;font-weight:800!important;letter-spacing:0!important}
  .faro-pride-counter .faro-pride-copy strong{font-size:16px!important}
}
@media(min-width:761px){
  .faro-pride-counter .desktop-counter-label,.faro-pride-counter .signin-counter-desktop{display:inline!important}
  .faro-pride-counter .mobile-counter-label,.faro-pride-counter .signin-counter-mobile{display:none!important}
}
@media(max-width:520px){.sa-counter-style-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .faro-counter-style-classic::after,.faro-counter-style-pulse .faro-counter-style-mark::before,.faro-counter-style-pulse .faro-counter-style-mark::after,.faro-counter-style-glass::after,.faro-counter-style-beam::after{animation:none!important}
}
body.public-counter-animation-off .faro-counter-style-classic::after,
body.public-counter-animation-off .faro-counter-style-pulse .faro-counter-style-mark::before,
body.public-counter-animation-off .faro-counter-style-pulse .faro-counter-style-mark::after,
body.public-counter-animation-off .faro-counter-style-glass::after,
body.public-counter-animation-off .faro-counter-style-beam::after{animation:none!important}


/* Faro v3.6.209 · contador público configurable Rondas / Nodos */
.public-round-counter .public-counter-label,
.signin-round-counter .public-counter-label{
  display:inline!important;
  font-size:10px!important;
  letter-spacing:.06em!important;
  color:#B8D7DB!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .public-round-counter .public-counter-label,
  .signin-round-counter .public-counter-label{
    display:inline!important;
    font-size:9px!important;
    letter-spacing:0!important;
  }
}
.sa-counter-metric-choice{display:grid;gap:9px;margin-top:12px}
.sa-counter-metric-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sa-counter-metric-options label{position:relative;display:block;cursor:pointer}
.sa-counter-metric-options input{position:absolute;opacity:0;pointer-events:none}
.sa-counter-metric-options label>span{display:grid;gap:3px;padding:12px 13px;border-radius:13px;border:1px solid var(--line);background:#F7FBFB;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.sa-counter-metric-options label>span b{font-size:12px;color:var(--petrol)}
.sa-counter-metric-options label>span small{font-size:10px;color:var(--muted)}
.sa-counter-metric-options input:checked+span{border-color:#58BDB2;background:#EAF8F6;box-shadow:0 0 0 2px rgba(65,171,158,.08)}
.sa-counter-metric-options label:hover>span{transform:translateY(-1px);border-color:#8CCBC4}
@media(max-width:560px){.sa-counter-metric-options{grid-template-columns:1fr}}


/* Faro 3.6.210 · diagnóstico del motor de reportes automáticos */
.report-cron-health-card{margin-top:14px!important;border-width:1px!important}.report-cron-health-card.is-ok{border-color:rgba(42,154,114,.32)!important}.report-cron-health-card.is-warning{border-color:rgba(214,154,38,.38)!important}.report-cron-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.report-cron-health-grid>div{min-width:0;padding:13px 14px;border-radius:14px;background:rgba(7,45,57,.035);border:1px solid rgba(79,124,136,.12)}.report-cron-health-grid span,.report-cron-health-grid strong,.report-cron-health-grid small{display:block}.report-cron-health-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}.report-cron-health-grid strong{margin-top:5px;font-size:15px;color:var(--petrol)}.report-cron-health-grid small{margin-top:4px;color:var(--muted);font-size:10px}.report-cron-command code{display:block;margin-top:6px;padding:9px 10px;border-radius:10px;background:#092E3A;color:#C8F4EE;font-size:10px;overflow-wrap:anywhere;white-space:normal}.report-cron-warning{margin-top:12px!important}.report-cron-warning code{font-size:10px}@media(max-width:1024px){.report-cron-health-grid{grid-template-columns:1fr 1fr}.report-cron-command{grid-column:1/-1}}@media(max-width:700px){.report-cron-health-grid{grid-template-columns:1fr}.report-cron-command{grid-column:auto}}


/* Faro 3.6.211 · Motor automático integrado al tema oscuro Faro */
body.admin-body:not(.superadmin-body) .report-cron-health-card{
  background:linear-gradient(180deg,#0b3b47 0%,#09333e 100%)!important;
  border:1px solid rgba(104,205,197,.22)!important;
  box-shadow:0 16px 36px rgba(0,18,24,.15)!important;
  color:#edfafa!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-card.is-ok{border-color:rgba(73,207,155,.34)!important}
body.admin-body:not(.superadmin-body) .report-cron-health-card.is-warning{border-color:rgba(223,173,62,.34)!important}
body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head{
  align-items:center!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head h2{
  color:#f5ffff!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head p,
body.admin-body:not(.superadmin-body) .report-cron-health-card .muted{
  color:#a9c7cc!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-grid>div{
  background:#082e38!important;
  border:1px solid rgba(109,197,199,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-grid span{
  color:#72d7cd!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-grid strong{
  color:#f2fbfc!important;
}
body.admin-body:not(.superadmin-body) .report-cron-health-grid small{
  color:#a6c1c6!important;
  line-height:1.45!important;
}
body.admin-body:not(.superadmin-body) .report-cron-command code{
  background:#061f28!important;
  color:#bff5ee!important;
  border:1px solid rgba(100,214,203,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.admin-body:not(.superadmin-body) .report-cron-warning.notice.warning{
  background:rgba(214,154,38,.10)!important;
  border:1px solid rgba(225,178,67,.34)!important;
  color:#f3dfaa!important;
}
body.admin-body:not(.superadmin-body) .report-cron-warning.notice.warning strong{
  color:#fff0c5!important;
}
body.admin-body:not(.superadmin-body) .report-cron-warning.notice.warning code{
  background:#061f28!important;
  color:#c6f3ed!important;
  border-radius:5px!important;
  padding:2px 4px!important;
}
@media(max-width:700px){
  body.admin-body:not(.superadmin-body) .report-cron-health-card{
    padding:18px 16px!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head{
    align-items:flex-start!important;
    gap:10px!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head>div{
    min-width:0!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-card .report-section-head h2{
    font-size:25px!important;
    line-height:1.05!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-card .status-pill{
    flex:0 0 auto!important;
    max-width:155px!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-grid{
    gap:9px!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-grid>div{
    padding:12px 13px!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-health-grid strong{
    font-size:14px!important;
    overflow-wrap:anywhere!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-command code{
    font-size:10px!important;
    line-height:1.45!important;
  }
  body.admin-body:not(.superadmin-body) .report-cron-warning.notice.warning{
    font-size:10px!important;
    line-height:1.5!important;
  }
}


/* Faro v3.6.212 · SuperAdmin / Automatizaciones */
.sa-automation-engine{padding:22px!important;border:1px solid rgba(63,186,175,.28)!important;background:linear-gradient(145deg,#083744,#0A4350)!important;color:#fff!important;box-shadow:0 18px 48px rgba(5,35,44,.12)!important}
.sa-automation-engine.is-warning{border-color:rgba(226,179,76,.44)!important;background:linear-gradient(145deg,#103B45,#173E43)!important}
.sa-automation-engine-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.sa-automation-engine-head h2{margin:4px 0 5px;color:#fff!important}.sa-automation-engine .muted{color:#B7CFD3!important}.sa-automation-engine .eyebrow{color:#72DDD0!important}
.sa-automation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sa-automation-kpis article{padding:14px;border:1px solid rgba(132,211,204,.17);border-radius:15px;background:rgba(4,34,43,.36)}.sa-automation-kpis article span,.sa-automation-kpis article small{display:block;color:#A6C2C7;font-size:10px}.sa-automation-kpis article strong{display:block;margin:5px 0 3px;color:#fff;font-size:21px}
.sa-automation-command{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:18px;align-items:center;margin-top:14px;padding:14px;border-radius:15px;background:rgba(3,29,37,.48);border:1px solid rgba(116,219,207,.14)}.sa-automation-command span{display:block;color:#9DBCC1;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sa-automation-command code{display:block;margin-top:6px;padding:9px 11px;border-radius:9px;background:#041F28;color:#8EF0E4;font-size:12px;overflow-wrap:anywhere}.sa-automation-command p{margin:0;color:#D4E6E8;font-size:11px;line-height:1.5}
.sa-automation-summary{margin-top:14px}.sa-automation-kpis-light article{background:#F7FAFA;border-color:#DDE9EA}.sa-automation-kpis-light article span,.sa-automation-kpis-light article small{color:#688187}.sa-automation-kpis-light article strong{color:#073744}
.sa-automation-list-panel{margin-top:14px}.sa-automation-list{display:grid;gap:9px}.sa-automation-row{display:grid;grid-template-columns:1.15fr 1.5fr .8fr auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid #DCE8E9;border-radius:15px;background:#FBFDFD}.sa-automation-row.is-paused{opacity:.72}.sa-automation-org span,.sa-automation-report span,.sa-automation-last span{display:block;font-size:9px;color:#668188;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.sa-automation-org strong,.sa-automation-report strong,.sa-automation-last strong{display:block;margin:3px 0;color:#082F3A;font-size:13px}.sa-automation-org small,.sa-automation-report small,.sa-automation-last small{display:block;color:#71898E;font-size:10px;overflow-wrap:anywhere}.sa-automation-state{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.sa-automation-state form{margin:0}
@media(max-width:1024px){.sa-automation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-automation-row{grid-template-columns:1fr 1fr}.sa-automation-state{align-items:flex-start}.sa-automation-command{grid-template-columns:1fr}}
@media(max-width:700px){.sa-automation-engine{padding:16px!important}.sa-automation-engine-head{flex-direction:column}.sa-automation-kpis{grid-template-columns:1fr 1fr}.sa-automation-kpis article{padding:11px}.sa-automation-kpis article strong{font-size:17px}.sa-automation-command{padding:11px}.sa-automation-row{grid-template-columns:1fr;padding:13px}.sa-automation-state{flex-direction:row;align-items:center;justify-content:space-between}.sa-automation-report small{font-size:9px}}

/* Faro v3.6.213 · Automatizaciones: contraste correcto en SuperAdmin */
body.superadmin-body[data-sa-view="automations"] .sa-automation-summary,
body.superadmin-body[data-sa-view="automations"] .sa-automation-list-panel{
  background:linear-gradient(180deg,#123d4a,#0b313d)!important;
  border:1px solid rgba(111,202,199,.18)!important;
  color:#eefafa!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-summary .sa-section-title h2,
body.superadmin-body[data-sa-view="automations"] .sa-automation-list-panel .sa-section-title h2{
  color:#f5ffff!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-kpis-light article{
  background:#082f3a!important;
  border:1px solid rgba(112,204,201,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-kpis-light article span,
body.superadmin-body[data-sa-view="automations"] .sa-automation-kpis-light article small{
  color:#9dbbc0!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-kpis-light article strong{
  color:#f4ffff!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-row{
  background:#082f3a!important;
  border:1px solid rgba(111,202,199,.16)!important;
  color:#eefafa!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-org span,
body.superadmin-body[data-sa-view="automations"] .sa-automation-report span,
body.superadmin-body[data-sa-view="automations"] .sa-automation-last span{
  color:#74d8cf!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-org strong,
body.superadmin-body[data-sa-view="automations"] .sa-automation-report strong,
body.superadmin-body[data-sa-view="automations"] .sa-automation-last strong{
  color:#f3fbfc!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-org small,
body.superadmin-body[data-sa-view="automations"] .sa-automation-report small,
body.superadmin-body[data-sa-view="automations"] .sa-automation-last small{
  color:#9bb7bc!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-list-panel .empty-state{
  background:#082f3a!important;
  border:1px dashed rgba(111,202,199,.22)!important;
  color:#9db9be!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-list-panel .notice.warning{
  background:rgba(201,151,47,.12)!important;
  border:1px solid rgba(225,178,67,.30)!important;
  color:#e8d39f!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-automation-list-panel .notice.warning strong{
  color:#fff0c5!important;
}
body.superadmin-body[data-sa-view="automations"] .sa-result-count{
  color:#eaf9f8!important;
  border-color:rgba(112,204,201,.22)!important;
  background:#0a3945!important;
}



/* Faro v3.6.214 · Ajustes SuperAdmin con tema correcto y mejor adaptación intermedia */
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-picker{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(105,208,198,.14);
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-title{
  display:block;
  margin-bottom:9px;
  color:#7FB9C0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options label{position:relative;display:block;cursor:pointer}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options input{position:absolute;opacity:0;pointer-events:none}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options label>span{
  display:grid;
  gap:3px;
  padding:12px 13px;
  border-radius:13px;
  border:1px solid rgba(105,208,198,.18);
  background:#0A2230;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options label>span b{font-size:12px;color:#EAF8F8}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options label>span small{font-size:10px;color:#89AAB1}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options input:checked+span{
  border-color:#58BDB2;
  background:#0E3440;
  box-shadow:0 0 0 2px rgba(65,171,158,.11), inset 0 1px 0 rgba(255,255,255,.03);
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options label:hover>span{
  transform:translateY(-1px);
  border-color:#8CCBC4;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option{
  position:relative;
  display:grid;
  gap:7px;
  align-content:start;
  min-width:0;
  padding:10px;
  border:1px solid rgba(105,208,198,.16);
  border-radius:14px;
  background:#0A2230;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  cursor:pointer;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,background .16s ease;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option:hover{
  transform:translateY(-1px);
  border-color:#7EC9C1;
  box-shadow:0 10px 22px rgba(0,17,24,.12), inset 0 1px 0 rgba(255,255,255,.03);
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option>input{position:absolute;opacity:0;pointer-events:none}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option:has(input:checked){
  border-color:#36AFA2;
  box-shadow:0 0 0 2px rgba(54,175,162,.12), inset 0 1px 0 rgba(255,255,255,.04);
  background:#0E2E3A;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option>b{font-size:10px;color:#EEF8F8}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-option>small{font-size:8px;color:#87A7AE;line-height:1.38}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-preview{
  width:100%;
  min-width:0;
  min-height:42px!important;
  padding:7px 8px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  pointer-events:none;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-preview .faro-pride-copy{
  width:100%;
  min-width:0;
  gap:5px!important;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-preview .public-counter-label{
  font-size:7px!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
  line-height:1.15!important;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-preview strong{
  margin-left:auto!important;
  font-size:12px!important;
}
body.superadmin-body[data-sa-view="settings"] .sa-counter-style-preview.faro-counter-style-minimal{
  padding-left:9px!important;
}
body.superadmin-body[data-sa-view="settings"] .sa-public-setting-grid .sa-setting-card{
  min-width:0;
}
@media(max-width:1280px){
  body.superadmin-body[data-sa-view="settings"] .sa-public-setting-grid{grid-template-columns:1fr}
  body.superadmin-body[data-sa-view="settings"] .sa-counter-style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  body.superadmin-body[data-sa-view="settings"] .sa-counter-style-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  body.superadmin-body[data-sa-view="settings"] .sa-counter-metric-options{grid-template-columns:1fr}
  body.superadmin-body[data-sa-view="settings"] .sa-counter-style-grid{grid-template-columns:1fr}
}


/* Faro v3.6.215 · vista Agente / Ronda optimizada para Android NFC */
body.scanner-body{
  background:
    radial-gradient(circle at 50% -10%,rgba(84,210,196,.14),transparent 34%),
    radial-gradient(circle at 100% 0,rgba(71,130,180,.14),transparent 28%),
    linear-gradient(180deg,#041C27 0%,#072B37 48%,#0A2E39 100%)!important;
}
body.scanner-body .scanner-shell{
  max-width:540px!important;
  padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important;
  gap:8px!important;
}
body.scanner-body .scanner-header{
  min-height:60px!important;
  padding:10px 12px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#072837,#0D4250)!important;
  border:1px solid rgba(105,208,198,.14)!important;
  box-shadow:0 18px 40px rgba(0,18,26,.26)!important;
}
body.scanner-body .scanner-brand h1{letter-spacing:-.02em}
body.scanner-body .sound-toggle,
body.scanner-body .logout-link{
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.06)!important;
  color:#F4FBFB!important;
}
body.scanner-body .device-strip{
  min-height:42px!important;
  border-radius:16px!important;
  padding:10px 12px!important;
  background:linear-gradient(180deg,#0E3947,#0B313D)!important;
}
body.scanner-body .device-strip strong{font-size:11px!important;color:#F5FBFB!important}
body.scanner-body .device-right{color:#8DCFC7!important;font-weight:800!important}
body.scanner-body .main-card{
  border-radius:24px!important;
  padding:14px!important;
}
body.scanner-body .idle-card,
body.scanner-body .identify-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:14px!important;
}
body.scanner-body .idle-art{gap:12px!important}
body.scanner-body .idle-art h2{font-size:29px!important;line-height:1.02!important;margin:8px 0 4px!important}
body.scanner-body .idle-art p{font-size:13px!important;line-height:1.5!important;color:#AFC8CE!important;max-width:320px!important}
body.scanner-body .nfc-icon{
  width:86px!important;height:86px!important;border-radius:24px!important;
  margin:0 auto 2px!important;
  box-shadow:0 18px 36px rgba(0,18,25,.24)!important;
}
body.scanner-body .idle-actions{display:grid!important;gap:10px!important}
body.scanner-body .faro-start-btn{
  min-height:62px!important;
  border-radius:18px!important;
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
  box-shadow:0 16px 30px rgba(7,40,52,.25)!important;
}
body.scanner-body .auto-nfc-hint{
  text-align:center!important;
  font-size:10px!important;
  color:#86AAB2!important;
}
body.scanner-body .panic-placeholder-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px 13px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(66,41,48,.94),rgba(96,41,54,.90));
  border:1px solid rgba(255,125,125,.24);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
body.scanner-body .panic-placeholder-copy strong,
body.scanner-body .panic-slot-copy strong{display:block;color:#FFF7F7!important;font-size:13px!important}
body.scanner-body .panic-placeholder-copy small,
body.scanner-body .panic-slot-copy small{display:block;color:#F5CCCC!important;font-size:9.5px!important;line-height:1.4!important;margin-top:3px!important}
body.scanner-body .panic-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.11em;color:#FFB4B4;margin-bottom:4px}
body.scanner-body .panic-preview-btn{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.10);
  color:#FFF;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
body.scanner-body .identify-card h2{font-size:28px!important;margin-top:4px!important}
body.scanner-body .identify-card p{font-size:13px!important;line-height:1.45!important;color:#AFC8CE!important}
body.scanner-body .rut-fallback,
body.scanner-body .identify-card .btn{min-height:50px!important;border-radius:16px!important;font-size:14px!important}
body.scanner-body .patrol-card{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  overflow-y:auto!important;
  padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
}
body.scanner-body .patrol-top{align-items:center!important;gap:10px!important}
body.scanner-body .scanner-guard-avatar{
  width:72px!important;height:72px!important;border-radius:20px!important;
  background:#FFFFFF!important;border:1px solid rgba(117,170,182,.24)!important;
  box-shadow:0 10px 24px rgba(0,18,26,.14)!important;
}
body.scanner-body .guard-info h2{font-size:22px!important;white-space:normal!important;line-height:1.08!important;margin:5px 0 2px!important}
body.scanner-body .round-chip{
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:9px!important;
  background:rgba(82,202,190,.12)!important;
  color:#86E2D7!important;
}
body.scanner-body .progress-box{
  min-width:88px;
  padding:9px 11px;
  border-radius:16px;
  background:#0A2A35;
  border:1px solid rgba(126,190,199,.14);
}
body.scanner-body .progress-box strong{font-size:28px!important}
body.scanner-body .progress-track{height:12px!important;border-radius:999px!important;overflow:hidden!important;background:#173E49!important}
body.scanner-body .progress-track > div{border-radius:inherit!important}
body.scanner-body .nfc-reconnect-banner{
  border-radius:18px!important;
  background:linear-gradient(145deg,#103946,#0B303B)!important;
  border:1px solid rgba(105,208,198,.16)!important;
  padding:12px!important;
}
body.scanner-body .travel-panel,
body.scanner-body .ready-panel{
  border-radius:22px!important;
  padding:13px!important;
}
body.scanner-body .travel-countdown{font-size:clamp(54px,18vw,86px)!important;letter-spacing:-.05em!important}
body.scanner-body .ready-check{width:58px!important;height:58px!important;margin:8px auto 2px!important}
body.scanner-body .panic-slot{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  padding:12px 13px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(69,34,43,.96),rgba(100,37,52,.92));
  border:1px solid rgba(255,125,125,.28);
  box-shadow:0 14px 32px rgba(0,0,0,.16);
}
body.scanner-body .panic-action-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:12px 14px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#A53545,#C64657);
  color:#FFF!important;
  box-shadow:0 14px 28px rgba(114,26,40,.32);
  text-align:left;
}
body.scanner-body .panic-action-icon{
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.14);font-size:18px;flex:0 0 34px;
}
body.scanner-body .panic-action-btn b{display:block;font-size:15px;line-height:1.05;color:#FFF!important}
body.scanner-body .panic-action-btn small{display:block;font-size:10px;color:#FFD8DE!important;margin-top:3px}
body.scanner-body .patrol-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  position:sticky!important;
  bottom:0!important;
  z-index:4!important;
  background:linear-gradient(180deg,rgba(8,34,43,0) 0%, rgba(8,34,43,.96) 22%, rgba(8,34,43,1) 100%)!important;
  padding-top:14px!important;
  margin-top:auto!important;
}
body.scanner-body .patrol-actions .micro-action{
  min-height:52px!important;
  border-radius:16px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(0,18,24,.14)!important;
}
body.scanner-body .patrol-actions .warning-action{
  background:linear-gradient(145deg,#FFE9C7,#FFD89A)!important;
  color:#885000!important;
  border:1px solid rgba(255,205,122,.38)!important;
}
body.scanner-body .patrol-actions #finishBtn{
  background:#183C47!important;
  color:#F4FBFB!important;
  border:1px solid rgba(126,190,199,.20)!important;
}
body.scanner-body .toast{border-radius:16px!important;box-shadow:0 16px 34px rgba(0,18,26,.24)!important}
body.scanner-body .scanner-footer{padding-bottom:max(2px,env(safe-area-inset-bottom))}
@media (max-width:430px){
  body.scanner-body .scanner-shell{padding-left:8px!important;padding-right:8px!important}
  body.scanner-body .scanner-header{min-height:56px!important;padding:9px 10px!important}
  body.scanner-body .scanner-logo{width:34px!important;height:34px!important}
  body.scanner-body .scanner-header h1{font-size:18px!important}
  body.scanner-body .main-card{padding:12px!important;border-radius:20px!important}
  body.scanner-body .idle-art h2{font-size:25px!important}
  body.scanner-body .faro-start-btn{min-height:58px!important;font-size:17px!important}
  body.scanner-body .scanner-guard-avatar{width:64px!important;height:64px!important}
  body.scanner-body .guard-info h2{font-size:19px!important}
  body.scanner-body .progress-box{min-width:78px;padding:8px 10px}
  body.scanner-body .progress-box strong{font-size:25px!important}
  body.scanner-body .panic-placeholder-card{grid-template-columns:1fr!important}
  body.scanner-body .panic-preview-btn{width:100%}
}
@media (max-height:740px){
  body.scanner-body .scanner-shell{gap:6px!important}
  body.scanner-body .scanner-header{min-height:54px!important}
  body.scanner-body .device-strip{min-height:38px!important;padding:8px 10px!important}
  body.scanner-body .main-card{padding:11px!important}
  body.scanner-body .idle-card,body.scanner-body .identify-card{gap:10px!important}
  body.scanner-body .idle-art h2{font-size:24px!important}
  body.scanner-body .nfc-icon{width:72px!important;height:72px!important}
  body.scanner-body .faro-start-btn{min-height:56px!important;font-size:16px!important}
  body.scanner-body .scanner-guard-avatar{width:60px!important;height:60px!important}
  body.scanner-body .guard-info h2{font-size:18px!important}
  body.scanner-body .travel-countdown{font-size:clamp(48px,16vw,70px)!important}
  body.scanner-body .panic-action-btn{min-height:52px}
  body.scanner-body .patrol-actions .micro-action{min-height:48px!important;font-size:11px!important}
}


/* Faro v3.6.216 · vista Agente 100% en una sola pantalla + configuración pánico */
body.scanner-body .scanner-shell{
  max-width:500px!important;
  height:100svh!important;
  max-height:100svh!important;
  padding:max(8px,env(safe-area-inset-top)) 8px max(6px,env(safe-area-inset-bottom))!important;
  gap:6px!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
body.scanner-body .scanner-header{
  min-height:50px!important;
  height:50px!important;
  padding:7px 9px!important;
  border-radius:18px!important;
}
body.scanner-body .scanner-logo{width:32px!important;height:32px!important}
body.scanner-body .scanner-header .eyebrow{font-size:7px!important}
body.scanner-body .scanner-header h1{font-size:18px!important;margin:0!important}
body.scanner-body .scanner-head-actions{gap:5px!important;flex-wrap:nowrap!important}
body.scanner-body .header-panic-btn{
  display:inline-flex;align-items:center;gap:6px;
  height:34px;max-width:116px;padding:0 10px;
  border:1px solid rgba(255,116,132,.26);border-radius:12px;
  background:linear-gradient(135deg,#8E2D3C,#B74152);color:#FFF!important;
  font-size:11px;font-weight:900;line-height:1;box-shadow:0 10px 24px rgba(55,9,16,.24);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.scanner-body .header-panic-btn.is-idle{background:linear-gradient(135deg,#5A3340,#7A4550)!important;border-color:rgba(255,167,176,.20)!important}
body.scanner-body .panic-mini-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:7px;background:rgba(255,255,255,.16);font-size:11px;flex:0 0 18px}
body.scanner-body .sound-toggle{width:34px!important;height:34px!important;border-radius:12px!important}
body.scanner-body #netBadge{height:34px!important;display:inline-flex!important;align-items:center!important;padding:0 8px!important;border-radius:12px!important;font-size:10px!important;white-space:nowrap!important}
body.scanner-body .logout-link{height:34px!important;display:inline-flex!important;align-items:center!important;border-radius:12px!important;padding:0 9px!important;font-size:10px!important}
body.scanner-body .device-strip{
  min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:13px!important;font-size:9.5px!important;
}
body.scanner-body .tiny-dot{width:6px!important;height:6px!important}
body.scanner-body .device-strip strong{font-size:9.8px!important}
body.scanner-body .device-right{font-size:9px!important}
body.scanner-body .idle-card,
body.scanner-body .identify-card,
body.scanner-body .patrol-card{
  height:100%!important;min-height:0!important;overflow:hidden!important;
  border-radius:22px!important;padding:12px!important;
}
body.scanner-body .idle-card,body.scanner-body .identify-card{justify-content:center!important;gap:10px!important}
body.scanner-body .idle-art h2,body.scanner-body .identify-card h2{font-size:24px!important;line-height:1.02!important;margin:5px 0 2px!important}
body.scanner-body .idle-art p,body.scanner-body .identify-card p{font-size:11.5px!important;line-height:1.36!important;max-width:300px!important;margin:0 auto!important}
body.scanner-body .nfc-icon{width:70px!important;height:70px!important;border-radius:20px!important;margin-bottom:4px!important}
body.scanner-body .faro-start-btn,body.scanner-body .rut-fallback,body.scanner-body #cancelIdentifyBtn{min-height:52px!important;border-radius:15px!important;font-size:15px!important}
body.scanner-body .auto-nfc-hint{font-size:9px!important;margin-top:-2px!important}
body.scanner-body .patrol-card{display:flex!important;flex-direction:column!important;gap:7px!important}
body.scanner-body .patrol-top{gap:8px!important;align-items:center!important}
body.scanner-body .scanner-guard-avatar{width:54px!important;height:54px!important;border-radius:16px!important}
body.scanner-body .guard-info h2{font-size:18px!important;line-height:1.06!important;max-height:38px;overflow:hidden!important}
body.scanner-body .scanner-guard-line{gap:8px!important}
body.scanner-body #routeMeta{font-size:9.5px!important;line-height:1.25!important;max-height:24px;overflow:hidden!important}
body.scanner-body .round-chip{padding:4px 8px!important;font-size:8px!important}
body.scanner-body .progress-box{min-width:72px!important;padding:7px 8px!important;border-radius:14px!important}
body.scanner-body .progress-box strong{font-size:22px!important}.progress-box span{font-size:8px!important}
body.scanner-body .progress-track{height:10px!important}
body.scanner-body .nfc-reconnect-banner{padding:9px!important;border-radius:14px!important;gap:8px!important}
body.scanner-body .nfc-reconnect-banner strong{font-size:11px!important}
body.scanner-body .nfc-reconnect-banner span{font-size:9px!important;line-height:1.25!important}
body.scanner-body .nfc-reconnect-banner .btn{min-height:38px!important;border-radius:12px!important;font-size:10px!important}
body.scanner-body .travel-panel,body.scanner-body .ready-panel{
  flex:1 1 auto!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;
  padding:11px 12px!important;border-radius:18px!important;text-align:center!important;overflow:hidden!important;
}
body.scanner-body .travel-panel .panel-label,body.scanner-body .ready-panel .panel-label{font-size:9px!important;margin-bottom:4px!important}
body.scanner-body .travel-panel h3,body.scanner-body .ready-panel h3{font-size:20px!important;line-height:1.06!important;margin:2px 0!important;max-height:44px;overflow:hidden!important}
body.scanner-body .travel-caption{font-size:9px!important;margin-top:2px!important}
body.scanner-body .travel-countdown{font-size:clamp(40px,13vw,64px)!important;margin:4px 0!important}
body.scanner-body .orange-note,body.scanner-body .ready-note{font-size:9px!important;line-height:1.24!important;padding:5px 8px!important;margin-top:4px!important}
body.scanner-body .ready-check{width:48px!important;height:48px!important;font-size:28px!important;margin:6px auto 2px!important}
body.scanner-body .next-point-photo{margin:4px 0 6px!important;border-radius:14px!important;aspect-ratio:16/7!important;max-height:88px!important}
body.scanner-body .patrol-actions{
  position:static!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;
  background:none!important;padding-top:0!important;margin-top:0!important;
}
body.scanner-body .patrol-actions .micro-action{min-height:46px!important;height:46px!important;border-radius:14px!important;font-size:11px!important;padding:0 8px!important}
body.scanner-body .scanner-footer{min-height:11px!important;font-size:7px!important;line-height:1!important;color:#6F8C95!important}
body.scanner-body .toast{max-width:calc(100vw - 18px)!important;font-size:11px!important}
/* quitar bloques de pánico antiguos si quedaran en caché del DOM */
body.scanner-body .panic-placeholder-card,
body.scanner-body .panic-slot{display:none!important}
@media (max-height:760px){
  body.scanner-body .scanner-shell{gap:5px!important;padding-top:max(6px,env(safe-area-inset-top))!important}
  body.scanner-body .scanner-header{height:46px!important;min-height:46px!important;padding:6px 8px!important}
  body.scanner-body .scanner-header h1{font-size:16px!important}
  body.scanner-body .header-panic-btn{height:31px;max-width:104px;font-size:10px;padding:0 8px}
  body.scanner-body .sound-toggle,body.scanner-body #netBadge,body.scanner-body .logout-link{height:31px!important}
  body.scanner-body .device-strip{height:28px!important;min-height:28px!important;font-size:8.6px!important}
  body.scanner-body .idle-card,body.scanner-body .identify-card,body.scanner-body .patrol-card{padding:10px!important}
  body.scanner-body .nfc-icon{width:60px!important;height:60px!important}
  body.scanner-body .idle-art h2,body.scanner-body .identify-card h2{font-size:21px!important}
  body.scanner-body .idle-art p,body.scanner-body .identify-card p{font-size:10.5px!important}
  body.scanner-body .faro-start-btn,body.scanner-body .rut-fallback,body.scanner-body #cancelIdentifyBtn{min-height:46px!important;font-size:14px!important}
  body.scanner-body .scanner-guard-avatar{width:48px!important;height:48px!important}
  body.scanner-body .guard-info h2{font-size:16px!important;max-height:34px}
  body.scanner-body .progress-box strong{font-size:20px!important}
  body.scanner-body .travel-panel h3,body.scanner-body .ready-panel h3{font-size:18px!important}
  body.scanner-body .travel-countdown{font-size:clamp(36px,12vw,56px)!important}
  body.scanner-body .next-point-photo{display:none!important}
  body.scanner-body .ready-check{width:42px!important;height:42px!important;font-size:24px!important}
  body.scanner-body .patrol-actions .micro-action{min-height:42px!important;height:42px!important;font-size:10px!important}
}
@media (max-height:680px){
  body.scanner-body .scanner-footer{display:none!important}
  body.scanner-body .idle-art h2,body.scanner-body .identify-card h2{font-size:19px!important}
  body.scanner-body .idle-art p,body.scanner-body .identify-card p{font-size:9.8px!important}
  body.scanner-body .faro-start-btn,body.scanner-body .rut-fallback,body.scanner-body #cancelIdentifyBtn{min-height:42px!important;font-size:13px!important}
  body.scanner-body .guard-info h2{font-size:15px!important}
  body.scanner-body .travel-panel h3,body.scanner-body .ready-panel h3{font-size:16px!important}
  body.scanner-body .travel-countdown{font-size:clamp(32px,11vw,50px)!important}
  body.scanner-body .orange-note,body.scanner-body .ready-note{font-size:8.5px!important}
}

/* Ajustes del Supervisor: configuración Shelly para botón de pánico */
.panic-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.panic-settings-grid .settings-rule,.panic-settings-grid .settings-toggle{height:100%}
.panic-settings-grid .settings-rule input[type="text"],
.panic-settings-grid .settings-rule input[type="password"]{width:100%}
.settings-mini-card-panic{position:relative;overflow:hidden}
.settings-mini-card-panic::after{content:"";position:absolute;right:-28px;top:-28px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(239,97,118,.14),transparent 70%);pointer-events:none}
.settings-mini-card-panic .settings-section-icon{background:linear-gradient(135deg,#A43B4C,#CD5D70)!important;color:#fff!important}
.settings-mini-card-panic .panic-toggle{grid-column:1 / -1;background:linear-gradient(135deg,#112E3A,#153743)!important;border-color:rgba(105,208,198,.16)!important}
@media(max-width:900px){.panic-settings-grid{grid-template-columns:1fr}}

/* Faro v3.6.217 · Vista Agente replicada desde referencia aprobada */
body.scanner-body{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(38,190,177,.08),transparent 22%),
    radial-gradient(circle at 88% 32%,rgba(22,102,126,.10),transparent 28%),
    linear-gradient(180deg,#020A10 0%,#031722 42%,#041A24 100%)!important;
  color:#F7FBFB!important;
}
body.scanner-body .agent-reference-shell{
  width:100%!important;
  max-width:540px!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:max(6px,env(safe-area-inset-top)) 6px max(4px,env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  gap:6px!important;
  overflow:hidden!important;
  background:transparent!important;
}

/* Header de referencia */
body.scanner-body .agent-reference-header{
  min-height:54px!important;
  height:54px!important;
  padding:6px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
  border-radius:18px 18px 0 0!important;
  background:linear-gradient(135deg,#031A25 0%,#042B37 55%,#052733 100%)!important;
  border:1px solid rgba(54,178,176,.14)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  color:#fff!important;
  overflow:hidden!important;
}
body.scanner-body .agent-reference-brand{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
body.scanner-body .agent-reference-brand .scanner-logo{
  width:36px!important;height:36px!important;min-width:36px!important;border-radius:13px!important;
  box-shadow:0 0 0 1px rgba(90,217,205,.22),0 8px 18px rgba(0,0,0,.20)!important;
}
body.scanner-body .agent-reference-brand h1{
  margin:0!important;
  font-size:20px!important;
  line-height:1!important;
  color:#fff!important;
  white-space:nowrap!important;
  letter-spacing:-.035em!important;
}
body.scanner-body .agent-rounds-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  max-width:110px!important;
  height:27px!important;
  padding:0 8px!important;
  border-radius:10px!important;
  border:1px solid rgba(42,213,195,.54)!important;
  background:rgba(4,55,64,.72)!important;
  color:#DCEEEE!important;
  font-size:8.5px!important;
  font-weight:750!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.scanner-body .agent-rounds-pill strong{color:#fff!important;font-size:10px!important}
body.scanner-body .agent-reference-actions{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
}
body.scanner-body .header-panic-btn{
  height:36px!important;
  min-width:72px!important;
  max-width:86px!important;
  padding:0 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border-radius:11px!important;
  border:1px solid #F44646!important;
  background:linear-gradient(180deg,#BD2B2B 0%,#951B1B 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 7px 16px rgba(124,13,13,.28)!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.scanner-body .header-panic-btn.is-disabled{opacity:.52!important;filter:saturate(.45)!important}
body.scanner-body .panic-mini-icon{
  width:18px!important;height:18px!important;display:grid!important;place-items:center!important;
  border:1.5px solid rgba(255,255,255,.86)!important;border-radius:5px!important;
  background:transparent!important;font-size:10px!important;line-height:1!important;
}
body.scanner-body .agent-icon-button,
body.scanner-body .agent-header-nfc{
  width:36px!important;height:36px!important;min-width:36px!important;
  display:grid!important;place-items:center!important;
  border-radius:11px!important;
  border:1px solid rgba(107,190,203,.30)!important;
  background:rgba(5,39,49,.78)!important;
  color:#E9F7F7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body.scanner-body .sound-toggle.agent-icon-button{font-size:16px!important;padding:0!important}
body.scanner-body .agent-exit-button{font-size:20px!important;text-decoration:none!important;padding:0!important}
body.scanner-body .agent-header-nfc{
  position:relative!important;
  grid-template-rows:13px 10px!important;
  align-content:center!important;
  gap:0!important;
  font-size:7px!important;
  font-weight:900!important;
  color:#59D8CE!important;
}
body.scanner-body .agent-header-nfc-wave{font-size:15px!important;line-height:11px!important;transform:rotate(-8deg)!important}
body.scanner-body .agent-header-nfc i{
  position:absolute!important;left:5px!important;bottom:5px!important;width:5px!important;height:5px!important;border-radius:50%!important;
  background:#FFB648!important;box-shadow:0 0 0 2px rgba(255,182,72,.10)!important;
}
body.scanner-body .agent-header-nfc.is-ready i{background:#1BE467!important;box-shadow:0 0 6px rgba(27,228,103,.65)!important}
body.scanner-body .agent-header-nfc.is-offline{color:#8CA4AA!important;border-color:rgba(145,164,169,.20)!important}
body.scanner-body .agent-network-hidden{display:none!important}

/* Estado Teléfono/NFC */
body.scanner-body .agent-reference-status{
  height:40px!important;
  min-height:40px!important;
  padding:0 13px!important;
  display:grid!important;
  grid-template-columns:1fr 1px 1fr!important;
  align-items:center!important;
  gap:12px!important;
  border-radius:13px!important;
  background:linear-gradient(90deg,#082A34,#093743,#082A34)!important;
  border:1px solid rgba(65,180,180,.10)!important;
  box-shadow:none!important;
  color:#fff!important;
}
body.scanner-body .agent-device-state,
body.scanner-body .agent-nfc-state{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:0!important}
body.scanner-body .agent-reference-status strong{font-size:10.5px!important;color:#F0F8F8!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-status-divider{height:22px!important;width:1px!important;background:rgba(99,204,197,.24)!important}
body.scanner-body .agent-status-icon,
body.scanner-body .agent-nfc-icon{
  width:24px!important;height:24px!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(52,218,203,.48)!important;border-radius:9px!important;color:#55E1D4!important;font-weight:950!important;
}
body.scanner-body .agent-nfc-icon{border-radius:50%!important;font-size:14px!important}
body.scanner-body .agent-reference-status .tiny-dot{width:6px!important;height:6px!important;min-width:6px!important;background:#1BE467!important;box-shadow:0 0 7px rgba(27,228,103,.55)!important}
body.scanner-body .agent-reference-status .tiny-dot.warn{background:#F3A43E!important;box-shadow:0 0 7px rgba(243,164,62,.4)!important}
body.scanner-body .agent-reference-status .nfc-disconnected{color:#F2B06A!important}

/* La tarjeta principal deja de ser una tarjeta: contiene las tarjetas de la referencia */
body.scanner-body .agent-reference-patrol{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  gap:6px!important;
  min-height:0!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  color:#fff!important;
}
body.scanner-body .agent-summary-card{
  position:relative!important;
  min-height:126px!important;
  padding:10px 12px 11px!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#05232E 0%,#07303B 52%,#06232E 100%)!important;
  border:1px solid rgba(65,177,182,.22)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
  overflow:hidden!important;
}
body.scanner-body .agent-summary-card .round-chip{
  display:inline-flex!important;
  align-items:center!important;
  height:24px!important;
  margin:0 0 6px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:7px!important;
  background:#084354!important;
  color:#4DE3D7!important;
  box-shadow:none!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
}
body.scanner-body .agent-summary-grid{
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
body.scanner-body .agent-summary-card .scanner-guard-avatar{
  width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important;
  border-radius:50%!important;
  padding:2px!important;
  background:#071D25!important;
  border:2px solid #24D6C6!important;
  box-shadow:0 0 0 2px rgba(36,214,198,.06)!important;
}
body.scanner-body .agent-summary-card .scanner-guard-avatar img{border-radius:50%!important;object-fit:cover!important;background:#0B2731!important}
body.scanner-body .agent-summary-copy{min-width:0!important;align-self:center!important}
body.scanner-body .agent-summary-copy h2{
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.05!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.scanner-body .agent-route-line{
  position:relative!important;
  margin-bottom:7px!important;
  padding-left:18px!important;
  color:#39D2C5!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.scanner-body .agent-route-line::before{
  content:""!important;position:absolute!important;left:2px!important;top:2px!important;
  width:8px!important;height:8px!important;border:3px solid #42D7CB!important;border-radius:50% 50% 50% 0!important;transform:rotate(-45deg)!important;
}
body.scanner-body .agent-summary-card .progress-track{
  width:100%!important;height:8px!important;margin:0 0 6px!important;border-radius:999px!important;background:#0A4A53!important;overflow:hidden!important;
}
body.scanner-body .agent-summary-card .progress-track>div{height:100%!important;background:linear-gradient(90deg,#26D5C5,#52DACC)!important;border-radius:inherit!important}
body.scanner-body .agent-progress-sub{font-size:10px!important;color:#A2B8BE!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-summary-card .progress-box{
  min-width:auto!important;width:auto!important;padding:0!important;background:transparent!important;border:0!important;align-self:center!important;text-align:right!important;
}
body.scanner-body .agent-summary-card .progress-box strong{
  font-size:27px!important;line-height:1!important;color:#fff!important;font-weight:950!important;letter-spacing:-.05em!important;white-space:nowrap!important;
}
body.scanner-body .agent-summary-card .progress-box strong::first-letter{color:#fff!important}

/* Nodo principal */
body.scanner-body .agent-node-card{
  position:relative!important;
  min-height:0!important;
  height:100%!important;
  padding:11px 13px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:7px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 82% 32%,rgba(36,204,190,.07),transparent 28%),
    linear-gradient(135deg,#021B25,#052934 60%,#041D27)!important;
  border:1.5px solid #24D8C8!important;
  box-shadow:inset 0 0 30px rgba(33,190,178,.025),0 8px 22px rgba(0,0,0,.12)!important;
  color:#fff!important;
  overflow:hidden!important;
}
body.scanner-body .agent-node-topline{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;min-width:0!important}
body.scanner-body .agent-node-topline>div:first-child{min-width:0!important}
body.scanner-body .agent-node-card .panel-label{
  margin:0 0 3px!important;color:#35D6C8!important;font-size:9.5px!important;font-weight:850!important;letter-spacing:.015em!important;text-align:left!important;
}
body.scanner-body .agent-node-card h3{
  margin:0!important;color:#fff!important;font-size:30px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.035em!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;
}
body.scanner-body .agent-node-nfc-badge{
  width:50px!important;height:50px!important;min-width:50px!important;border-radius:50%!important;
  border:1px solid rgba(52,208,201,.40)!important;background:#05222C!important;
  display:grid!important;grid-template-rows:19px 13px!important;align-content:center!important;place-items:center!important;
  color:#2FDDCF!important;box-shadow:inset 0 0 18px rgba(48,216,204,.04)!important;
}
body.scanner-body .agent-node-nfc-badge span{font-size:22px!important;line-height:17px!important}
body.scanner-body .agent-node-nfc-badge strong{font-size:9px!important;color:#2FDDCF!important;line-height:1!important}
body.scanner-body .agent-node-content,
body.scanner-body .agent-ready-content{
  flex:1 1 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:12px!important;
  align-items:center!important;
}
body.scanner-body .agent-node-content:has(.next-point-photo.hidden),
body.scanner-body .agent-ready-content:has(.next-point-photo.hidden){grid-template-columns:1fr!important}
body.scanner-body .agent-node-card .next-point-photo{
  width:100%!important;height:100%!important;max-height:112px!important;min-height:76px!important;margin:0!important;aspect-ratio:auto!important;
  border-radius:14px!important;border:1px solid rgba(42,212,198,.40)!important;background:#061821!important;overflow:hidden!important;
}
body.scanner-body .agent-node-card .next-point-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
body.scanner-body .agent-countdown-block{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important}
body.scanner-body .agent-node-card .travel-countdown{
  margin:0!important;color:#25D5C6!important;font-size:clamp(46px,14vw,70px)!important;line-height:.88!important;font-weight:950!important;letter-spacing:-.06em!important;text-shadow:0 0 22px rgba(37,213,198,.10)!important;white-space:nowrap!important;
}
body.scanner-body .agent-node-card .travel-caption{
  margin:8px 0 0!important;color:#9EB1B7!important;font-size:12px!important;line-height:1.22!important;font-weight:500!important;text-align:left!important;
}
body.scanner-body .agent-node-card .orange-note{display:none!important}
body.scanner-body .agent-ready-action{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:0!important}
body.scanner-body .agent-ready-action .ready-check{
  width:78px!important;height:78px!important;margin:0 0 8px!important;border-radius:50%!important;border:5px solid #31D7C8!important;background:rgba(16,116,107,.14)!important;color:#B9FFF8!important;font-size:44px!important;box-shadow:0 0 0 12px rgba(49,215,200,.05)!important;
}
body.scanner-body .agent-ready-action .ready-note{font-size:11px!important;color:#B7C8CC!important;text-align:center!important}

/* Estado inferior */
body.scanner-body .agent-meta-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;min-height:66px!important}
body.scanner-body .agent-meta-card{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#052631,#082D37)!important;
  border:1px solid rgba(73,159,169,.24)!important;
  color:#fff!important;
  overflow:hidden!important;
}
body.scanner-body .agent-meta-icon{
  width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(55,209,198,.40)!important;color:#4BE0D3!important;font-size:19px!important;font-weight:950!important;
}
body.scanner-body .agent-meta-icon.pulse{font-size:22px!important}
body.scanner-body .agent-meta-label{font-size:7.5px!important;color:#42DACA!important;font-weight:850!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-meta-card strong{display:block!important;margin-top:4px!important;font-size:11px!important;line-height:1.1!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-meta-card small{display:block!important;margin-top:4px!important;font-size:9px!important;line-height:1!important;color:#A3B5BA!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Acciones inferiores */
body.scanner-body .agent-reference-bottom-actions{
  position:static!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
}
body.scanner-body .agent-reference-bottom-actions .micro-action{
  height:52px!important;min-height:52px!important;max-height:52px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  padding:0 11px!important;border-radius:16px!important;font-size:12px!important;font-weight:900!important;color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.15)!important;white-space:nowrap!important;
}
body.scanner-body .agent-reference-bottom-actions .warning-action{
  background:linear-gradient(135deg,#08756E,#079384)!important;
  border:1px solid #11B9A9!important;color:#fff!important;
}
body.scanner-body .agent-reference-bottom-actions .finish-action{
  background:linear-gradient(135deg,#8D1616,#B32626)!important;
  border:1px solid #E34242!important;color:#fff!important;
}
body.scanner-body .agent-action-icon{
  width:31px!important;height:31px!important;min-width:31px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(255,255,255,.26)!important;background:rgba(0,0,0,.08)!important;font-size:13px!important;
}
body.scanner-body .agent-reference-bottom-actions .finish-action .agent-action-icon{color:#fff!important}

/* Reconexión: overlay para no romper el layout de una sola pantalla */
body.scanner-body .agent-reference-patrol .nfc-reconnect-banner{
  position:absolute!important;left:8px!important;right:8px!important;top:38%!important;z-index:20!important;
  padding:10px!important;border-radius:15px!important;background:linear-gradient(135deg,#073440,#0A4550)!important;border:1px solid rgba(85,218,204,.44)!important;box-shadow:0 18px 45px rgba(0,0,0,.42)!important;
}

body.scanner-body .agent-reference-shell .scanner-footer{
  min-height:9px!important;height:9px!important;margin:0!important;padding:0!important;font-size:7px!important;line-height:9px!important;color:#70858C!important;text-align:center!important;
}

/* Iniciar / identificar mantienen el mismo lenguaje visual sin scroll */
body.scanner-body .agent-reference-idle,
body.scanner-body .agent-reference-identify{
  height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:18px!important;
  background:linear-gradient(150deg,#05232E,#082E39)!important;border:1px solid rgba(67,175,181,.20)!important;box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
}

/* Ajuste 393/360 px */
@media(max-width:420px){
  body.scanner-body .agent-reference-shell{padding-left:5px!important;padding-right:5px!important;gap:5px!important}
  body.scanner-body .agent-reference-header{height:50px!important;min-height:50px!important;padding:5px 6px!important;gap:4px!important}
  body.scanner-body .agent-reference-brand{gap:4px!important}
  body.scanner-body .agent-reference-brand .scanner-logo{width:32px!important;height:32px!important;min-width:32px!important;border-radius:11px!important}
  body.scanner-body .agent-reference-brand h1{font-size:17px!important}
  body.scanner-body .agent-rounds-pill{height:24px!important;max-width:92px!important;padding:0 6px!important;font-size:7.2px!important}
  body.scanner-body .agent-rounds-pill strong{font-size:8.5px!important}
  body.scanner-body .agent-reference-actions{gap:3px!important}
  body.scanner-body .header-panic-btn{height:33px!important;min-width:62px!important;max-width:68px!important;padding:0 6px!important;font-size:9px!important;gap:4px!important}
  body.scanner-body .panic-mini-icon{width:16px!important;height:16px!important;font-size:8px!important}
  body.scanner-body .agent-icon-button,body.scanner-body .agent-header-nfc{width:33px!important;height:33px!important;min-width:33px!important;border-radius:10px!important}
  body.scanner-body .agent-reference-status{height:36px!important;min-height:36px!important;padding:0 9px!important;gap:8px!important}
  body.scanner-body .agent-reference-status strong{font-size:9.5px!important}
  body.scanner-body .agent-status-icon,body.scanner-body .agent-nfc-icon{width:21px!important;height:21px!important;font-size:11px!important}
  body.scanner-body .agent-summary-card{min-height:116px!important;padding:8px 10px 9px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:57px minmax(0,1fr) auto!important;gap:8px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important}
  body.scanner-body .agent-summary-copy h2{font-size:17px!important}
  body.scanner-body .agent-route-line{font-size:10px!important;margin-bottom:6px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:24px!important}
  body.scanner-body .agent-node-card{padding:9px 10px!important;gap:5px!important}
  body.scanner-body .agent-node-card h3{font-size:26px!important}
  body.scanner-body .agent-node-nfc-badge{width:44px!important;height:44px!important;min-width:44px!important}
  body.scanner-body .agent-node-content,body.scanner-body .agent-ready-content{gap:9px!important}
  body.scanner-body .agent-node-card .travel-countdown{font-size:clamp(42px,14vw,61px)!important}
  body.scanner-body .agent-node-card .travel-caption{font-size:10.5px!important;margin-top:6px!important}
  body.scanner-body .agent-meta-card{grid-template-columns:36px minmax(0,1fr)!important;gap:6px!important;padding:7px 8px!important}
  body.scanner-body .agent-meta-icon{width:32px!important;height:32px!important;font-size:16px!important}
  body.scanner-body .agent-meta-label{font-size:6.8px!important}
  body.scanner-body .agent-meta-card strong{font-size:10px!important}.agent-meta-card small{font-size:8px!important}
  body.scanner-body .agent-reference-bottom-actions{min-height:48px!important}
  body.scanner-body .agent-reference-bottom-actions .micro-action{height:48px!important;min-height:48px!important;max-height:48px!important;font-size:10.5px!important;gap:7px!important;padding:0 7px!important;border-radius:14px!important}
  body.scanner-body .agent-action-icon{width:28px!important;height:28px!important;min-width:28px!important}
}

/* Pantallas Android de menor altura: todo sigue visible y sin scroll */
@media(max-height:760px){
  body.scanner-body .agent-reference-shell{gap:4px!important;padding-top:max(4px,env(safe-area-inset-top))!important;padding-bottom:max(2px,env(safe-area-inset-bottom))!important}
  body.scanner-body .agent-reference-header{height:46px!important;min-height:46px!important;padding-top:4px!important;padding-bottom:4px!important}
  body.scanner-body .agent-reference-brand .scanner-logo{width:30px!important;height:30px!important;min-width:30px!important}
  body.scanner-body .agent-reference-brand h1{font-size:16px!important}
  body.scanner-body .agent-rounds-pill{height:22px!important;font-size:7px!important}
  body.scanner-body .header-panic-btn{height:31px!important}.agent-icon-button,body.scanner-body .agent-header-nfc{height:31px!important;width:31px!important;min-width:31px!important}
  body.scanner-body .agent-reference-status{height:32px!important;min-height:32px!important}
  body.scanner-body .agent-summary-card{min-height:101px!important;padding:7px 9px!important}
  body.scanner-body .agent-summary-card .round-chip{height:20px!important;margin-bottom:3px!important;font-size:8px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:49px minmax(0,1fr) auto!important;gap:7px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:47px!important;height:47px!important;max-width:47px!important;max-height:47px!important}
  body.scanner-body .agent-summary-copy h2{font-size:15px!important;margin-bottom:3px!important}
  body.scanner-body .agent-route-line{font-size:9px!important;margin-bottom:4px!important;padding-left:15px!important}
  body.scanner-body .agent-summary-card .progress-track{height:6px!important;margin-bottom:4px!important}
  body.scanner-body .agent-progress-sub{font-size:8px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:21px!important}
  body.scanner-body .agent-node-card{padding:7px 9px!important;gap:4px!important}
  body.scanner-body .agent-node-card .panel-label{font-size:8px!important}
  body.scanner-body .agent-node-card h3{font-size:22px!important}
  body.scanner-body .agent-node-nfc-badge{width:38px!important;height:38px!important;min-width:38px!important;grid-template-rows:15px 10px!important}
  body.scanner-body .agent-node-nfc-badge span{font-size:17px!important}.agent-node-nfc-badge strong{font-size:7px!important}
  body.scanner-body .agent-node-card .next-point-photo{max-height:82px!important;min-height:58px!important;border-radius:11px!important}
  body.scanner-body .agent-node-card .travel-countdown{font-size:clamp(36px,12vw,52px)!important}
  body.scanner-body .agent-node-card .travel-caption{font-size:9px!important;margin-top:4px!important}
  body.scanner-body .agent-meta-grid{min-height:57px!important;gap:4px!important}
  body.scanner-body .agent-meta-card{grid-template-columns:31px minmax(0,1fr)!important;padding:5px 7px!important;gap:5px!important;border-radius:13px!important}
  body.scanner-body .agent-meta-icon{width:28px!important;height:28px!important;font-size:13px!important}
  body.scanner-body .agent-meta-label{font-size:6.2px!important}.agent-meta-card strong{font-size:9px!important;margin-top:2px!important}.agent-meta-card small{font-size:7.2px!important;margin-top:2px!important}
  body.scanner-body .agent-reference-bottom-actions{min-height:42px!important;gap:4px!important}
  body.scanner-body .agent-reference-bottom-actions .micro-action{height:42px!important;min-height:42px!important;max-height:42px!important;font-size:9.5px!important;border-radius:12px!important}
  body.scanner-body .agent-action-icon{width:24px!important;height:24px!important;min-width:24px!important;font-size:10px!important}
  body.scanner-body .agent-reference-shell .scanner-footer{display:none!important}
}

@media(max-height:660px){
  body.scanner-body .agent-reference-header{height:42px!important;min-height:42px!important}
  body.scanner-body .agent-reference-status{height:28px!important;min-height:28px!important}
  body.scanner-body .agent-reference-status strong{font-size:8.5px!important}
  body.scanner-body .agent-summary-card{min-height:88px!important;padding:5px 8px!important}
  body.scanner-body .agent-summary-card .round-chip{height:18px!important;font-size:7px!important;padding:0 6px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:42px minmax(0,1fr) auto!important}
  body.scanner-body .agent-summary-copy h2{font-size:13px!important}.agent-route-line{font-size:8px!important}.agent-progress-sub{font-size:7px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:18px!important}
  body.scanner-body .agent-node-card h3{font-size:19px!important}
  body.scanner-body .agent-node-card .next-point-photo{max-height:66px!important;min-height:45px!important}
  body.scanner-body .agent-node-card .travel-countdown{font-size:clamp(31px,11vw,44px)!important}
  body.scanner-body .agent-meta-grid{min-height:49px!important}
  body.scanner-body .agent-meta-icon{width:24px!important;height:24px!important}.agent-meta-card{grid-template-columns:26px minmax(0,1fr)!important}
  body.scanner-body .agent-reference-bottom-actions .micro-action{height:38px!important;min-height:38px!important;max-height:38px!important;font-size:8.8px!important}
}
body.scanner-body .agent-node-card .next-point-photo:not(.hidden){display:block!important}


/* Faro v3.6.218 · Vista agente fiel a referencia aprobada + corrección de estados ocultos */
body.scanner-body .hidden,
body.scanner-body #idleView.hidden,
body.scanner-body #identifyView.hidden,
body.scanner-body #patrolView.hidden,
body.scanner-body #travelPanel.hidden,
body.scanner-body #readyPanel.hidden,
body.scanner-body #nfcReconnectBanner.hidden,
body.scanner-body .next-point-photo.hidden{display:none!important}
body.scanner-body .agent-network-hidden{display:none!important}
body.scanner-body{overflow:hidden!important;background:#031923!important}
body.scanner-body .agent-reference-shell{
  width:100%!important;max-width:760px!important;height:100svh!important;max-height:100svh!important;
  margin:0 auto!important;padding:max(7px,env(safe-area-inset-top)) 8px max(5px,env(safe-area-inset-bottom))!important;
  display:grid!important;grid-template-rows:58px 48px minmax(0,1fr) 13px!important;gap:8px!important;overflow:hidden!important
}
body.scanner-body .agent-reference-header{
  grid-row:1!important;height:58px!important;min-height:58px!important;padding:7px 10px!important;border-radius:18px!important;
  background:linear-gradient(135deg,#052834,#073744)!important;border:1px solid rgba(87,207,195,.13)!important;
  box-shadow:0 12px 28px rgba(0,12,18,.24)!important
}
body.scanner-body .agent-reference-brand{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important}
body.scanner-body .agent-reference-brand .scanner-logo{width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important}
body.scanner-body .agent-reference-brand h1{font-size:20px!important;line-height:1!important;white-space:nowrap!important}
body.scanner-body .agent-rounds-pill{height:29px!important;padding:0 9px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;font-size:9.5px!important;color:#DDF3F1!important;background:#083744!important;border:1px solid rgba(43,207,190,.42)!important}
body.scanner-body .agent-reference-actions{display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important}
body.scanner-body .header-panic-btn{height:40px!important;min-width:92px!important;max-width:112px!important;padding:0 12px!important;border-radius:12px!important;font-size:12px!important;background:linear-gradient(145deg,#9E2634,#C53A49)!important;border:1px solid #EF5360!important;box-shadow:0 7px 17px rgba(101,12,23,.30)!important}
body.scanner-body .panic-mini-icon{width:24px!important;height:24px!important;min-width:24px!important;border-radius:8px!important;font-size:13px!important}
body.scanner-body .agent-icon-button,body.scanner-body .agent-header-nfc{width:40px!important;min-width:40px!important;height:40px!important;border-radius:12px!important;background:#092F3B!important;border:1px solid rgba(105,208,198,.22)!important;color:#EEF9F8!important;display:grid!important;place-items:center!important}
body.scanner-body .agent-header-nfc{grid-template-rows:19px 11px!important;font-size:8px!important;position:relative!important}.agent-header-nfc i{position:absolute!important;right:6px!important;bottom:7px!important;width:7px!important;height:7px!important;background:#28DB56!important;border-radius:50%!important}
body.scanner-body .agent-reference-status{grid-row:2!important;height:48px!important;min-height:48px!important;border-radius:15px!important;padding:0 14px!important;display:grid!important;grid-template-columns:1fr 1px 1fr!important;align-items:center!important;background:linear-gradient(90deg,#093441,#0A3946)!important;border:1px solid rgba(105,208,198,.12)!important}
body.scanner-body .agent-device-state,body.scanner-body .agent-nfc-state{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:0!important}
body.scanner-body .agent-device-state strong,body.scanner-body .agent-nfc-state strong{font-size:12px!important;color:#F0FAF9!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-status-divider{height:28px!important;width:1px!important;background:rgba(105,208,198,.25)!important}
body.scanner-body .agent-status-icon,body.scanner-body .agent-nfc-icon{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#42D2C2!important;border:1px solid rgba(66,210,194,.38)!important;font-size:16px!important}
body.scanner-body .agent-reference-patrol{grid-row:3!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;display:grid!important;grid-template-rows:minmax(145px,22%) minmax(0,1fr) minmax(82px,12%) minmax(66px,10%)!important;gap:9px!important}
body.scanner-body .agent-summary-card{height:100%!important;min-height:0!important;padding:14px 16px!important;border-radius:20px!important;background:linear-gradient(145deg,#0B303C,#0B3642)!important;border:1px solid rgba(105,208,198,.17)!important;box-shadow:0 14px 30px rgba(0,10,15,.19)!important;overflow:hidden!important}
body.scanner-body .agent-summary-card .round-chip{height:27px!important;padding:0 10px!important;margin:0 0 9px 0!important;border-radius:8px!important;font-size:10px!important;display:inline-flex!important;align-items:center!important;background:#0B5362!important;color:#60DBCE!important;border:0!important}
body.scanner-body .agent-summary-grid{display:grid!important;grid-template-columns:84px minmax(0,1fr) 90px!important;gap:15px!important;align-items:center!important;height:calc(100% - 36px)!important}
body.scanner-body .agent-summary-card .scanner-guard-avatar{width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important;border-radius:50%!important;border:2px solid #2BD9C5!important;padding:0!important;background:#082A35!important;box-shadow:none!important}
body.scanner-body .agent-summary-card .scanner-guard-avatar img{object-fit:cover!important;border-radius:50%!important;background:#082A35!important}
body.scanner-body .agent-summary-copy{align-self:center!important;min-width:0!important}
body.scanner-body .agent-summary-copy h2{font-size:24px!important;line-height:1.05!important;margin:0 0 7px!important;color:#FFF!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.scanner-body .agent-route-line{font-size:14px!important;color:#33D3C3!important;margin:0 0 9px!important;padding-left:22px!important;position:relative!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.agent-route-line:before{content:'●'!important;position:absolute!important;left:2px!important;top:-1px!important;color:#32D6C5!important;font-size:13px!important}
body.scanner-body .agent-summary-card .progress-track{height:9px!important;margin:0 0 7px!important;background:#124854!important;border-radius:999px!important;overflow:hidden!important}.agent-summary-card .progress-track>div{background:linear-gradient(90deg,#24D3C1,#4CD7C8)!important}
body.scanner-body .agent-progress-sub{font-size:12px!important;color:#9FB4B9!important}
body.scanner-body .agent-summary-card .progress-box{align-self:center!important;min-width:90px!important;padding:0!important;border:0!important;background:transparent!important;text-align:right!important}.agent-summary-card .progress-box strong{font-size:34px!important;line-height:1!important;color:#FFF!important;letter-spacing:-.04em!important}.agent-summary-card .progress-box strong::first-letter{color:#FFF!important}
body.scanner-body .agent-node-card{height:100%!important;min-height:0!important;padding:16px 18px!important;border-radius:23px!important;background:linear-gradient(145deg,#062833,#07303A)!important;border:2px solid #24D6C4!important;box-shadow:0 12px 34px rgba(0,12,18,.22)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:8px!important}
body.scanner-body .agent-node-topline{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}.agent-node-card .panel-label{font-size:11px!important;color:#43D8CA!important;margin-bottom:5px!important}.agent-node-card h3{font-size:32px!important;line-height:1!important;color:#FFF!important;margin:0!important;max-height:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.scanner-body .agent-node-nfc-badge{width:60px!important;height:60px!important;min-width:60px!important;border-radius:50%!important;border:1px solid rgba(60,210,199,.35)!important;background:#082B35!important;display:grid!important;place-items:center!important;grid-template-rows:26px 14px!important;color:#2BDACA!important}.agent-node-nfc-badge span{font-size:24px!important}.agent-node-nfc-badge strong{font-size:10px!important;color:#2BDACA!important}
body.scanner-body .agent-node-content,body.scanner-body .agent-ready-content{display:grid!important;grid-template-columns:minmax(120px,40%) minmax(0,1fr)!important;gap:18px!important;align-items:center!important;min-height:0!important;overflow:hidden!important}
body.scanner-body .agent-node-card .next-point-photo:not(.hidden){display:block!important;width:100%!important;height:100%!important;max-height:180px!important;min-height:100px!important;margin:0!important;border-radius:17px!important;aspect-ratio:auto!important;border:1px solid rgba(105,208,198,.28)!important;overflow:hidden!important}.agent-node-card .next-point-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
body.scanner-body .agent-countdown-block{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important}.agent-node-card .travel-countdown{font-size:clamp(56px,13vw,92px)!important;line-height:.86!important;color:#24D5C3!important;margin:0!important;letter-spacing:-.055em!important;white-space:nowrap!important}.agent-node-card .travel-caption{font-size:18px!important;line-height:1.2!important;color:#A6B6BA!important;margin-top:12px!important;font-weight:500!important;text-align:left!important}
body.scanner-body .agent-node-card .orange-note{font-size:9px!important;line-height:1.2!important;margin:0!important;padding:4px 8px!important;border-radius:8px!important;background:rgba(144,96,17,.14)!important;color:#D9B36B!important;text-align:center!important}
body.scanner-body .agent-ready-content{grid-template-columns:minmax(100px,34%) minmax(0,1fr)!important}.agent-ready-action{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}.agent-ready-action .ready-check{width:84px!important;height:84px!important;border-radius:50%!important;font-size:48px!important;background:transparent!important;border:7px solid #39D6C4!important;color:#D7FFFA!important;box-shadow:0 0 0 10px rgba(50,211,194,.08)!important;margin:0 0 12px!important}.agent-ready-action .ready-note{font-size:15px!important;color:#C4D0D3!important;text-align:center!important;line-height:1.35!important}
body.scanner-body .agent-meta-grid{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.agent-meta-card{height:100%!important;min-height:0!important;border-radius:18px!important;padding:10px 12px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;background:linear-gradient(145deg,#0B303B,#0C3540)!important;border:1px solid rgba(105,208,198,.16)!important;overflow:hidden!important}.agent-meta-icon{width:44px!important;height:44px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#42DDCE!important;border:1px solid rgba(66,221,206,.30)!important;font-size:22px!important}.agent-meta-label{font-size:8.5px!important;color:#3ED5C7!important;font-weight:900!important;white-space:nowrap!important}.agent-meta-card strong{display:block!important;font-size:14px!important;line-height:1.1!important;margin-top:4px!important;color:#FFF!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.agent-meta-card small{display:block!important;font-size:10.5px!important;color:#A5B5B9!important;margin-top:4px!important;white-space:nowrap!important}
body.scanner-body .agent-reference-bottom-actions{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;position:static!important;background:none!important;padding:0!important;margin:0!important}.agent-reference-bottom-actions .micro-action{height:100%!important;min-height:0!important;max-height:none!important;border-radius:17px!important;font-size:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;font-weight:900!important;padding:0 14px!important}.agent-reference-bottom-actions .warning-action{background:linear-gradient(135deg,#087D70,#0D9D8A)!important;color:#FFF!important;border:1px solid #2AC8B7!important}.agent-reference-bottom-actions .finish-action{background:linear-gradient(135deg,#8E171F,#B92730)!important;color:#FFF!important;border:1px solid #E13A45!important}.agent-action-icon{width:38px!important;height:38px!important;min-width:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(0,0,0,.09)!important;color:#FFF!important}
body.scanner-body .agent-reference-shell .scanner-footer{grid-row:4!important;height:13px!important;min-height:13px!important;font-size:7.5px!important;color:#607C84!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.scanner-body .agent-reference-idle,body.scanner-body .agent-reference-identify{grid-row:3!important;height:100%!important;min-height:0!important;overflow:hidden!important}
/* compactación progresiva sin alterar composición */
@media(max-width:620px){body.scanner-body .agent-reference-shell{padding-left:7px!important;padding-right:7px!important}.agent-rounds-pill{font-size:8px!important;padding:0 7px!important}.header-panic-btn{min-width:84px!important;padding:0 9px!important}.agent-reference-brand h1{font-size:18px!important}.agent-summary-grid{grid-template-columns:72px minmax(0,1fr) 72px!important;gap:10px!important}.agent-summary-card .scanner-guard-avatar{width:70px!important;height:70px!important;max-width:70px!important;max-height:70px!important}.agent-summary-copy h2{font-size:20px!important}.agent-summary-card .progress-box strong{font-size:29px!important}.agent-node-card h3{font-size:28px!important}.agent-node-card .travel-caption{font-size:14px!important}.agent-meta-card{grid-template-columns:40px minmax(0,1fr)!important;padding:8px 9px!important}.agent-meta-icon{width:36px!important;height:36px!important}.agent-meta-label{font-size:7.2px!important}.agent-meta-card strong{font-size:12px!important}.agent-meta-card small{font-size:9px!important}.agent-reference-bottom-actions .micro-action{font-size:12px!important}}
@media(max-height:790px){body.scanner-body .agent-reference-shell{grid-template-rows:50px 40px minmax(0,1fr) 10px!important;gap:5px!important}.agent-reference-header{height:50px!important;min-height:50px!important;padding:5px 8px!important}.agent-reference-brand .scanner-logo{width:32px!important;height:32px!important;min-width:32px!important}.agent-reference-brand h1{font-size:17px!important}.agent-rounds-pill{height:24px!important;font-size:7.5px!important}.header-panic-btn{height:34px!important;font-size:10.5px!important}.agent-icon-button,.agent-header-nfc{width:34px!important;min-width:34px!important;height:34px!important}.agent-reference-status{height:40px!important;min-height:40px!important}.agent-reference-status strong{font-size:10px!important}.agent-reference-patrol{grid-template-rows:minmax(105px,22%) minmax(0,1fr) minmax(64px,13%) minmax(50px,10%)!important;gap:6px!important}.agent-summary-card{padding:8px 10px!important}.agent-summary-card .round-chip{height:22px!important;margin-bottom:4px!important;font-size:8px!important}.agent-summary-grid{grid-template-columns:55px minmax(0,1fr) 58px!important;gap:8px!important;height:calc(100% - 26px)!important}.agent-summary-card .scanner-guard-avatar{width:53px!important;height:53px!important;max-width:53px!important;max-height:53px!important}.agent-summary-copy h2{font-size:16px!important;margin-bottom:4px!important}.agent-route-line{font-size:10px!important;margin-bottom:5px!important;padding-left:16px!important}.agent-summary-card .progress-track{height:6px!important;margin-bottom:4px!important}.agent-progress-sub{font-size:8px!important}.agent-summary-card .progress-box strong{font-size:23px!important}.agent-node-card{padding:9px 11px!important;gap:4px!important}.agent-node-card .panel-label{font-size:8px!important;margin-bottom:3px!important}.agent-node-card h3{font-size:23px!important}.agent-node-nfc-badge{width:42px!important;height:42px!important;min-width:42px!important;grid-template-rows:18px 10px!important}.agent-node-nfc-badge span{font-size:17px!important}.agent-node-nfc-badge strong{font-size:7px!important}.agent-node-content,.agent-ready-content{gap:9px!important}.agent-node-card .next-point-photo:not(.hidden){max-height:93px!important;min-height:60px!important;border-radius:12px!important}.agent-node-card .travel-countdown{font-size:clamp(38px,12vw,58px)!important}.agent-node-card .travel-caption{font-size:10px!important;margin-top:5px!important}.agent-node-card .orange-note{font-size:7px!important;padding:2px 5px!important}.agent-ready-action .ready-check{width:54px!important;height:54px!important;font-size:30px!important;border-width:5px!important;margin-bottom:5px!important}.agent-ready-action .ready-note{font-size:10px!important}.agent-meta-grid{gap:5px!important}.agent-meta-card{grid-template-columns:30px minmax(0,1fr)!important;gap:6px!important;padding:5px 7px!important;border-radius:13px!important}.agent-meta-icon{width:27px!important;height:27px!important;font-size:13px!important}.agent-meta-label{font-size:5.8px!important}.agent-meta-card strong{font-size:9px!important;margin-top:2px!important}.agent-meta-card small{font-size:7px!important;margin-top:2px!important}.agent-reference-bottom-actions{gap:5px!important}.agent-reference-bottom-actions .micro-action{font-size:9.5px!important;border-radius:12px!important;padding:0 7px!important;gap:6px!important}.agent-action-icon{width:25px!important;height:25px!important;min-width:25px!important;font-size:10px!important}.agent-reference-shell .scanner-footer{font-size:6px!important}}
@media(max-height:670px){body.scanner-body .agent-reference-shell{grid-template-rows:45px 34px minmax(0,1fr) 0!important;gap:4px!important}.agent-reference-shell .scanner-footer{display:none!important}.agent-reference-header{height:45px!important;min-height:45px!important}.agent-reference-status{height:34px!important;min-height:34px!important}.agent-reference-patrol{grid-template-rows:minmax(88px,21%) minmax(0,1fr) 52px 42px!important;gap:4px!important}.agent-summary-card .scanner-guard-avatar{width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important}.agent-summary-grid{grid-template-columns:45px minmax(0,1fr) 48px!important}.agent-summary-copy h2{font-size:13px!important}.agent-route-line{font-size:8px!important}.agent-summary-card .progress-box strong{font-size:18px!important}.agent-node-card h3{font-size:18px!important}.agent-node-card .next-point-photo:not(.hidden){max-height:65px!important;min-height:42px!important}.agent-node-card .travel-countdown{font-size:clamp(30px,10vw,43px)!important}.agent-node-card .travel-caption{font-size:8px!important}.agent-meta-card{grid-template-columns:24px minmax(0,1fr)!important;padding:3px 5px!important}.agent-meta-icon{width:21px!important;height:21px!important}.agent-meta-label{font-size:5px!important}.agent-meta-card strong{font-size:7.5px!important}.agent-meta-card small{font-size:6px!important}.agent-reference-bottom-actions .micro-action{font-size:8px!important}.agent-action-icon{width:20px!important;height:20px!important;min-width:20px!important}}

/* SuperAdmin · estados incluidos en el contador de rondas */
.sa-round-status-choice{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(105,208,198,.14)}
.sa-round-status-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sa-round-status-options label{position:relative;display:block;cursor:pointer}.sa-round-status-options input{position:absolute;opacity:0;pointer-events:none}.sa-round-status-options label>span{display:grid;gap:3px;padding:10px 11px;border-radius:12px;border:1px solid rgba(105,208,198,.16);background:#0A2230;transition:.16s}.sa-round-status-options label>span b{color:#EDF9F8;font-size:10px}.sa-round-status-options label>span small{color:#83A4AB;font-size:8px}.sa-round-status-options input:checked+span{background:#0D3943;border-color:#45C4B5;box-shadow:0 0 0 2px rgba(69,196,181,.10)}.sa-round-status-help{color:#789BA3;font-size:8px;line-height:1.35}@media(max-width:700px){.sa-round-status-options{grid-template-columns:1fr}}


/* Faro v3.6.219 · Agente: corrección por secciones (header + estados + orden) */
/* Header: sólo Faro, Pánico, sonido y NFC. */
body.scanner-body .agent-reference-brand{flex:1 1 auto!important;min-width:0!important;gap:8px!important}
body.scanner-body .agent-reference-brand h1{font-size:21px!important;white-space:nowrap!important}
body.scanner-body .agent-rounds-pill,
body.scanner-body .agent-exit-button,
body.scanner-body .logout-link.agent-icon-button,
body.scanner-body .agent-network-hidden{display:none!important}
body.scanner-body .agent-reference-actions{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex:0 0 auto!important}
body.scanner-body .header-panic-btn{
  min-width:104px!important;max-width:none!important;height:42px!important;padding:0 14px!important;
  font-size:13px!important;gap:8px!important;border-radius:13px!important;touch-action:manipulation!important
}
body.scanner-body .panic-mini-icon{width:24px!important;height:24px!important;min-width:24px!important;font-size:12px!important}
body.scanner-body .agent-icon-button,
body.scanner-body .agent-header-nfc{width:42px!important;height:42px!important;min-width:42px!important;border-radius:13px!important}
/* Estado superior permanece exactamente en dos mitades. */
body.scanner-body .agent-reference-status{grid-template-columns:1fr 1px 1fr!important}
body.scanner-body .agent-device-state{justify-content:center!important}
body.scanner-body .agent-nfc-state{justify-content:center!important}
/* Bloqueo defensivo de vistas: durante una ronda activa jamás se mezclan Identificación/Inicio. */
body.scanner-body.agent-patrol-active #idleView,
body.scanner-body.agent-patrol-active #identifyView{display:none!important;visibility:hidden!important;pointer-events:none!important;position:absolute!important;inset:auto!important;width:0!important;height:0!important;overflow:hidden!important}
body.scanner-body.agent-patrol-active #patrolView{display:grid!important;visibility:visible!important}
body.scanner-body.agent-identify-active #idleView,
body.scanner-body.agent-identify-active #patrolView{display:none!important}
body.scanner-body.agent-identify-active #identifyView{display:flex!important}
body.scanner-body.agent-idle-active #identifyView,
body.scanner-body.agent-idle-active #patrolView{display:none!important}
/* Dentro de una ronda sólo existe UNA tarjeta de nodo a la vez. */
body.scanner-body.agent-node-waiting #travelPanel{display:grid!important}
body.scanner-body.agent-node-waiting #readyPanel{display:none!important}
body.scanner-body.agent-node-ready #travelPanel{display:none!important}
body.scanner-body.agent-node-ready #readyPanel{display:grid!important}
/* Orden rígido: agente > nodo > metadatos > acciones. */
body.scanner-body .agent-reference-patrol{grid-template-areas:"summary" "node" "meta" "actions"!important}
body.scanner-body .agent-summary-card{grid-area:summary!important;width:100%!important}
body.scanner-body #travelPanel,
body.scanner-body #readyPanel{grid-area:node!important;width:100%!important}
body.scanner-body .agent-meta-grid{grid-area:meta!important;width:100%!important}
body.scanner-body .agent-reference-bottom-actions{grid-area:actions!important;width:100%!important}
body.scanner-body .agent-reference-patrol .nfc-reconnect-banner{grid-area:node!important}
@media(max-width:420px){
  body.scanner-body .agent-reference-brand h1{font-size:19px!important}
  body.scanner-body .header-panic-btn{min-width:96px!important;height:40px!important;padding:0 12px!important;font-size:12px!important}
  body.scanner-body .agent-icon-button,body.scanner-body .agent-header-nfc{width:40px!important;height:40px!important;min-width:40px!important}
}
@media(max-height:760px){
  body.scanner-body .header-panic-btn{height:36px!important;min-width:90px!important;font-size:11px!important}
  body.scanner-body .agent-icon-button,body.scanner-body .agent-header-nfc{height:36px!important;width:36px!important;min-width:36px!important}
}

/* Faro v3.6.220 · Tarjeta de agente afinada + fondo seleccionable */
/* Separación visual entre header, estado y contenido, como referencia aprobada. */
body.scanner-body .agent-reference-shell{
  gap:8px!important;
}
body.scanner-body .agent-reference-header,
body.scanner-body .agent-reference-status,
body.scanner-body .agent-summary-card{
  flex:0 0 auto!important;
}
body.scanner-body .agent-reference-status{
  margin:0!important;
}
body.scanner-body .agent-reference-patrol{
  gap:9px!important;
  grid-template-rows:128px minmax(0,1fr) 76px 54px!important;
}

/* Tema opcional: azul oscuro de la referencia. El tema app queda intacto. */
body.scanner-body.agent-theme-reference_blue{
  background:
    radial-gradient(circle at 74% -8%,rgba(28,151,149,.055),transparent 31%),
    linear-gradient(180deg,#000C14 0%,#00141D 48%,#001720 100%)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-header{
  background:linear-gradient(135deg,#00141E,#00242F)!important;
  border-color:rgba(63,160,168,.18)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-status,
body.scanner-body.agent-theme-reference_blue .agent-summary-card,
body.scanner-body.agent-theme-reference_blue .agent-meta-card{
  background:linear-gradient(135deg,#021A23,#032630)!important;
  border-color:rgba(58,136,148,.25)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-node-card{
  background:
    radial-gradient(circle at 82% 31%,rgba(34,204,190,.065),transparent 28%),
    linear-gradient(135deg,#00141D,#00232D 60%,#001821)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-bottom-actions .warning-action{
  background:linear-gradient(135deg,#08756E,#078F82)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-bottom-actions .finish-action{
  background:linear-gradient(135deg,#871414,#B02121)!important;
}

/* Tarjeta agente: proporciones de la referencia. */
body.scanner-body .agent-summary-card{
  position:relative!important;
  min-height:128px!important;
  height:128px!important;
  padding:10px 13px 11px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
body.scanner-body .agent-summary-card .round-chip{
  height:24px!important;
  margin:0 0 7px!important;
  padding:0 9px!important;
  font-size:9px!important;
  border-radius:7px!important;
}
body.scanner-body .agent-summary-grid{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr) 72px!important;
  align-items:center!important;
  gap:12px!important;
  height:58px!important;
  min-width:0!important;
}
body.scanner-body .agent-summary-card .scanner-guard-avatar{
  width:72px!important;
  height:72px!important;
  max-width:72px!important;
  max-height:72px!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  padding:2px!important;
  border:2px solid #25D9C8!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
body.scanner-body .agent-summary-card .scanner-guard-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  border-radius:50%!important;
}
body.scanner-body .agent-summary-copy{
  min-width:0!important;
  overflow:visible!important;
  align-self:center!important;
}
body.scanner-body .agent-summary-copy h2{
  margin:0 0 7px!important;
  font-size:20px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:#FFF!important;
}
body.scanner-body .agent-route-line{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#38D4C7!important;
  font-size:12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.scanner-body .agent-route-line::before{display:none!important;content:none!important}
body.scanner-body .agent-route-line #routeMeta{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.scanner-body .agent-route-pin{
  position:relative!important;
  display:inline-block!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:50% 50% 50% 0!important;
  transform:rotate(-45deg)!important;
  background:#39D8CA!important;
  flex:0 0 14px!important;
}
body.scanner-body .agent-route-pin::after{
  content:""!important;
  position:absolute!important;
  width:5px!important;
  height:5px!important;
  left:4.5px!important;
  top:4.5px!important;
  border-radius:50%!important;
  background:#07313B!important;
}
body.scanner-body .agent-summary-card .progress-box{
  align-self:center!important;
  justify-self:end!important;
  width:72px!important;
  min-width:72px!important;
  padding:0!important;
  text-align:right!important;
  background:transparent!important;
  border:0!important;
}
body.scanner-body .agent-summary-card .progress-box strong{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:1px!important;
  font-size:31px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
}
body.scanner-body .agent-progress-num{color:#FFF!important}
body.scanner-body .agent-progress-slash{color:#27D6C7!important;padding:0 1px!important}
body.scanner-body .agent-progress-row{
  margin:8px 0 0 86px!important;
  width:calc(100% - 86px)!important;
  min-width:0!important;
}
body.scanner-body .agent-progress-row .progress-track{
  width:100%!important;
  height:8px!important;
  margin:0 0 7px!important;
  border-radius:999px!important;
  background:#0B4650!important;
  overflow:hidden!important;
}
body.scanner-body .agent-progress-row .progress-track>div{
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#25D4C5,#50DBCE)!important;
}
body.scanner-body .agent-progress-sub{
  font-size:10.5px!important;
  line-height:1.15!important;
  color:#A4B8BE!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* El badge de red jamás debe convertirse en una barra visible. */
body.scanner-body #netBadge.agent-network-hidden,
body.scanner-body #netBadge[data-network-state]{display:none!important;position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}

/* SuperAdmin: selector visual del fondo de la vista del agente. */
.sa-agent-theme-panel{display:grid;gap:14px}
.sa-agent-theme-form{display:grid;gap:12px}
.sa-agent-theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sa-agent-theme-choice{position:relative;display:block;cursor:pointer}
.sa-agent-theme-choice>input{position:absolute;opacity:0;pointer-events:none}
.sa-agent-theme-preview{display:grid;grid-template-columns:74px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px;border:1px solid rgba(105,208,198,.16);border-radius:15px;background:#0A2935;transition:.16s}
.sa-agent-theme-preview>i{grid-row:1/3;width:74px;height:52px;border-radius:11px;border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(105,208,198,.06)}
.sa-agent-theme-preview.theme-app>i{background:linear-gradient(160deg,#041D28,#07313E)}
.sa-agent-theme-preview.theme-reference>i{background:linear-gradient(160deg,#000C14,#001A24)}
.sa-agent-theme-preview>b{color:#F1FAFA;font-size:12px}.sa-agent-theme-preview>small{color:#87A6AD;font-size:9px;line-height:1.35;margin-top:3px}
.sa-agent-theme-choice>input:checked+.sa-agent-theme-preview{border-color:#48C9BA;background:#0D3540;box-shadow:0 0 0 2px rgba(72,201,186,.10)}
@media(max-width:760px){.sa-agent-theme-options{grid-template-columns:1fr}}

/* En teléfonos angostos conservamos nombre, avatar y KPI sin aplastarlos. */
@media(max-width:420px){
  body.scanner-body .agent-reference-shell{gap:7px!important}
  body.scanner-body .agent-reference-patrol{gap:8px!important;grid-template-rows:124px minmax(0,1fr) 72px 52px!important}
  body.scanner-body .agent-summary-card{height:124px!important;min-height:124px!important;padding:9px 11px 10px!important}
  body.scanner-body .agent-summary-card .round-chip{height:22px!important;margin-bottom:6px!important;font-size:8.5px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:68px minmax(0,1fr) 66px!important;gap:10px!important;height:55px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important}
  body.scanner-body .agent-summary-copy h2{font-size:18px!important;margin-bottom:6px!important}
  body.scanner-body .agent-route-line{font-size:11px!important;gap:7px!important}
  body.scanner-body .agent-route-pin{width:13px!important;height:13px!important;min-width:13px!important;flex-basis:13px!important}
  body.scanner-body .agent-summary-card .progress-box{width:66px!important;min-width:66px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:29px!important}
  body.scanner-body .agent-progress-row{margin-left:78px!important;width:calc(100% - 78px)!important;margin-top:7px!important}
  body.scanner-body .agent-progress-row .progress-track{height:7px!important;margin-bottom:6px!important}
  body.scanner-body .agent-progress-sub{font-size:9.5px!important}
}

/* Alturas reducidas: la tarjeta sigue parecida a la referencia, sin volver a miniaturizarse. */
@media(max-height:760px){
  body.scanner-body .agent-reference-shell{gap:6px!important}
  body.scanner-body .agent-reference-patrol{gap:7px!important;grid-template-rows:118px minmax(0,1fr) 68px 48px!important}
  body.scanner-body .agent-summary-card{height:118px!important;min-height:118px!important;padding:8px 10px 9px!important}
  body.scanner-body .agent-summary-card .round-chip{height:21px!important;margin-bottom:5px!important;font-size:8px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:64px minmax(0,1fr) 64px!important;gap:9px!important;height:52px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important}
  body.scanner-body .agent-summary-copy h2{font-size:17px!important;margin-bottom:5px!important}
  body.scanner-body .agent-route-line{font-size:10.5px!important}
  body.scanner-body .agent-summary-card .progress-box{width:64px!important;min-width:64px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:28px!important}
  body.scanner-body .agent-progress-row{margin:6px 0 0 73px!important;width:calc(100% - 73px)!important}
  body.scanner-body .agent-progress-row .progress-track{height:7px!important;margin-bottom:5px!important}
  body.scanner-body .agent-progress-sub{font-size:9px!important}
}
@media(max-height:670px){
  body.scanner-body .agent-reference-patrol{grid-template-rows:110px minmax(0,1fr) 58px 44px!important}
  body.scanner-body .agent-summary-card{height:110px!important;min-height:110px!important;padding:7px 9px!important}
  body.scanner-body .agent-summary-grid{grid-template-columns:58px minmax(0,1fr) 58px!important;gap:8px!important;height:48px!important}
  body.scanner-body .agent-summary-card .scanner-guard-avatar{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important}
  body.scanner-body .agent-summary-copy h2{font-size:15.5px!important}
  body.scanner-body .agent-route-line{font-size:9.5px!important}
  body.scanner-body .agent-summary-card .progress-box{width:58px!important;min-width:58px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:25px!important}
  body.scanner-body .agent-progress-row{margin-left:66px!important;width:calc(100% - 66px)!important;margin-top:5px!important}
}


/* Faro v3.6.221 · encuadre editable de foto de agente + cierre de ronda */
.js-agent-photo-adaptive,
body.scanner-body .scanner-guard-avatar img,
.agent-photo-crop-stage img{
  object-fit:cover!important;
  object-position:var(--photo-x,50%) var(--photo-y,50%)!important;
  transform:scale(var(--photo-zoom,1))!important;
  transform-origin:center!important;
}
.agent-photo-editor{padding:14px;border:1px solid #d6e2e5;border-radius:16px;background:#f7fbfb;box-sizing:border-box}
.agent-photo-editor-head{margin-bottom:12px}.agent-photo-editor-head strong{display:block;color:var(--petrol);font-size:13px}.agent-photo-editor-head span{display:block;margin-top:3px}
.agent-photo-editor-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}
.agent-photo-crop-stage{width:180px;height:180px;border-radius:50%;overflow:hidden;position:relative;background:#0b3340;border:3px solid #3ac6b7;box-shadow:0 12px 28px rgba(3,45,57,.14);touch-action:none;cursor:grab;display:grid;place-items:center;user-select:none}
.agent-photo-crop-stage.is-dragging{cursor:grabbing}.agent-photo-crop-stage img{width:100%;height:100%;display:block}.agent-photo-crop-stage span{position:absolute;color:#aac2c7;font-size:11px;font-weight:800;pointer-events:none}.agent-photo-editor-controls{display:grid;gap:10px}.agent-photo-editor-controls label{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;font-size:10px!important}.agent-photo-editor-controls input[type="range"]{width:100%;accent-color:#25b9aa}.agent-photo-editor-controls input[type="file"]{font-size:10px}.agent-photo-editor-controls .btn{justify-self:start}
@media(max-width:680px){.agent-photo-editor-layout{grid-template-columns:1fr;justify-items:center}.agent-photo-editor-controls{width:100%}.agent-photo-editor-controls label{grid-template-columns:90px minmax(0,1fr)}}

body.scanner-body .round-complete-overlay{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;padding:20px;background:rgba(0,16,23,.88);backdrop-filter:blur(9px)}
body.scanner-body .round-complete-overlay.hidden{display:none!important}
body.scanner-body .round-complete-card{width:min(360px,88vw);padding:30px 22px 28px;border-radius:26px;text-align:center;background:linear-gradient(180deg,#0b3b47,#082d38);border:1px solid rgba(77,215,197,.32);box-shadow:0 26px 70px rgba(0,0,0,.35)}
body.scanner-body .round-complete-icon{width:82px;height:82px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;border:5px solid #42d4c2;color:#86eee2;font-size:46px;line-height:1;background:rgba(38,184,167,.08)}
body.scanner-body .round-complete-label{font-size:11px;font-weight:900;letter-spacing:.08em;color:#6fd9cd;margin-bottom:8px;white-space:normal}
body.scanner-body .round-complete-card strong{display:block;font-size:34px;line-height:1;color:#fff!important}

/* Faro v3.6.224 · afinación vista agente + NFC persistente + modales */
body.scanner-body .agent-reference-actions{gap:7px!important}
body.scanner-body .agent-reference-actions .agent-header-nfc{display:none!important}

/* KPI de avance 2/2 más protagonista */
body.scanner-body .agent-summary-card .progress-box{width:88px!important;min-width:88px!important}
body.scanner-body .agent-summary-card .progress-box strong{font-size:40px!important;line-height:.95!important;letter-spacing:-.05em!important}
body.scanner-body .agent-progress-num{font-size:1em!important}
body.scanner-body .agent-progress-slash{font-size:.88em!important;padding:0 2px!important}

/* El texto queda centrado exactamente bajo el contador */
body.scanner-body .agent-countdown-block{align-items:center!important;text-align:center!important}
body.scanner-body .agent-node-card .travel-caption{width:100%!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}

/* Terminar ronda usa semántica Danger */
body.scanner-body .agent-reference-bottom-actions .finish-action.danger,
body.scanner-body .agent-reference-bottom-actions .finish-action{
  background:linear-gradient(135deg,#A81720,#D72C35)!important;
  border:1px solid #EF424B!important;
  color:#FFF!important;
  box-shadow:0 10px 24px rgba(168,23,32,.24)!important;
}

/* Modal de incidencia homologado al tema oscuro Faro */
body.scanner-body #incidentModal{
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:rgba(0,13,19,.76)!important;
  backdrop-filter:blur(7px)!important;
}
body.scanner-body #incidentModal .sheet{
  width:min(430px,100%)!important;
  max-height:min(88dvh,720px)!important;
  overflow:auto!important;
  margin:0!important;
  padding:18px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#0A3440 0%,#062732 100%)!important;
  border:1px solid rgba(77,201,190,.24)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.42)!important;
  color:#F4FBFB!important;
}
body.scanner-body #incidentModal .sheet-handle{display:none!important}
body.scanner-body #incidentModal .eyebrow{color:#5ED6CB!important}
body.scanner-body #incidentModal h3{color:#FFF!important;font-size:22px!important;margin:5px 0 7px!important;text-align:center!important}
body.scanner-body #incidentModal .incident-context{color:#A8C1C6!important;font-size:11px!important;line-height:1.45!important}
body.scanner-body #incidentModal .reason-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;margin:12px 0!important}
body.scanner-body #incidentModal .reason-grid button{
  min-height:46px!important;border-radius:13px!important;background:#0B2F3A!important;color:#DCEAEC!important;
  border:1px solid rgba(104,190,191,.18)!important;font-size:11px!important
}
body.scanner-body #incidentModal .reason-grid button.selected{
  background:linear-gradient(135deg,#0D615C,#0D7A70)!important;color:#FFF!important;border-color:#48CFC1!important;
  box-shadow:0 0 0 2px rgba(72,207,193,.10)!important
}
body.scanner-body #incidentModal textarea{
  min-height:76px!important;border-radius:13px!important;background:#05242D!important;color:#FFF!important;border:1px solid rgba(112,192,195,.22)!important;
}
body.scanner-body #incidentModal .incident-camera-button,
body.scanner-body #incidentModal .incident-photo-preview{
  border-radius:14px!important;background:#0A3944!important;border:1px solid rgba(79,203,190,.22)!important;color:#F4FBFB!important
}
body.scanner-body #incidentModal .incident-camera-button small{color:#9DB8BE!important}
body.scanner-body #incidentModal .incident-skip-option{border-radius:13px!important;background:#3A321D!important;border-color:#746136!important;color:#F9E3B3!important}
body.scanner-body #incidentModal #incidentSend{
  min-height:48px!important;border-radius:14px!important;background:linear-gradient(135deg,#0B9E8D,#18B6A3)!important;border:1px solid #39D1C0!important;color:#FFF!important;
}
body.scanner-body #incidentModal #incidentClose{
  min-height:44px!important;border-radius:14px!important;background:#102F38!important;color:#D7E6E8!important;border:1px solid rgba(127,180,189,.18)!important;
}

/* Modal centrado del botón de pánico: solo prueba */
body.scanner-body .panic-test-modal{
  position:fixed!important;inset:0!important;z-index:7000!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:20px!important;background:rgba(0,11,17,.78)!important;backdrop-filter:blur(8px)!important
}
body.scanner-body .panic-test-modal.hidden{display:none!important}
body.scanner-body .panic-test-card{
  width:min(360px,92vw)!important;padding:24px 20px 20px!important;border-radius:24px!important;text-align:center!important;
  background:linear-gradient(180deg,#0D3742,#082A34)!important;border:1px solid rgba(242,76,84,.30)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.44)!important;color:#F8FBFB!important
}
body.scanner-body .panic-test-icon{
  width:64px!important;height:64px!important;margin:0 auto 13px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:linear-gradient(145deg,#AE1E28,#D63C46)!important;color:#FFF!important;font-size:34px!important;font-weight:900!important;
  border:1px solid #F05C65!important;box-shadow:0 12px 28px rgba(176,25,36,.28)!important
}
body.scanner-body .panic-test-card .eyebrow{color:#FF9097!important}
body.scanner-body .panic-test-card h3{margin:5px 0 8px!important;color:#FFF!important;font-size:23px!important}
body.scanner-body .panic-test-card p{margin:0 0 18px!important;color:#AEC2C7!important;font-size:12px!important;line-height:1.5!important}
body.scanner-body .panic-test-card .btn{min-height:48px!important;border-radius:14px!important}

@media(max-width:420px){
  body.scanner-body .agent-summary-card .progress-box{width:76px!important;min-width:76px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:35px!important}
}
@media(max-height:760px){
  body.scanner-body .agent-summary-card .progress-box{width:72px!important;min-width:72px!important}
  body.scanner-body .agent-summary-card .progress-box strong{font-size:33px!important}
  body.scanner-body #incidentModal .sheet{max-height:92dvh!important;padding:14px!important}
}


/* Faro v3.6.225 · restaurar ambos temas + carga de inicio */
body.scanner-body.agent-theme-app{
  background:
    radial-gradient(circle at 82% 2%,rgba(47,180,170,.10),transparent 32%),
    radial-gradient(circle at 10% -4%,rgba(12,69,90,.26),transparent 30%),
    linear-gradient(180deg,#031B26 0%,#062D39 48%,#083543 100%)!important;
}
body.scanner-body.agent-theme-app .agent-reference-header{
  background:linear-gradient(135deg,#062632,#0A3846)!important;
  border-color:rgba(99,203,196,.16)!important;
}
body.scanner-body.agent-theme-app .agent-reference-status,
body.scanner-body.agent-theme-app .agent-summary-card,
body.scanner-body.agent-theme-app .agent-meta-card{
  background:linear-gradient(135deg,#072B37,#0B3441)!important;
  border-color:rgba(105,208,198,.16)!important;
}
body.scanner-body.agent-theme-app .agent-node-card{
  background:
    radial-gradient(circle at 85% 26%,rgba(39,214,199,.08),transparent 26%),
    linear-gradient(135deg,#031F29,#063441 58%,#072630)!important;
  border-color:rgba(78,206,196,.32)!important;
}
body.scanner-body.agent-theme-app .agent-reference-bottom-actions .warning-action{background:linear-gradient(135deg,#0E9688,#2AB8A8)!important}
body.scanner-body.agent-theme-app .agent-reference-bottom-actions .finish-action{background:linear-gradient(135deg,#B71E25,#D72B33)!important}

body.scanner-body.agent-theme-reference_blue{
  background:
    radial-gradient(circle at 74% -8%,rgba(28,151,149,.055),transparent 31%),
    linear-gradient(180deg,#000B12 0%,#00141D 48%,#001923 100%)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-header{
  background:linear-gradient(135deg,#00111A,#00202A)!important;
  border-color:rgba(84,173,182,.17)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-status,
body.scanner-body.agent-theme-reference_blue .agent-summary-card,
body.scanner-body.agent-theme-reference_blue .agent-meta-card{
  background:linear-gradient(135deg,#001721,#04232C)!important;
  border-color:rgba(78,153,165,.22)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-node-card{
  background:
    radial-gradient(circle at 85% 20%,rgba(46,212,197,.07),transparent 26%),
    linear-gradient(135deg,#00141D,#00212B 60%,#001821)!important;
  border-color:rgba(80,199,196,.34)!important;
}
body.scanner-body.agent-theme-reference_blue .agent-reference-bottom-actions .warning-action{background:linear-gradient(135deg,#0B8177,#15988F)!important}
body.scanner-body.agent-theme-reference_blue .agent-reference-bottom-actions .finish-action{background:linear-gradient(135deg,#9A161D,#BB2027)!important}

body.scanner-body .modal{background:rgba(1,14,20,.60)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;align-items:flex-end!important}
body.scanner-body .sheet{
  width:min(600px,100%)!important;
  max-height:88dvh!important;
  overflow:auto!important;
  border-radius:26px 26px 18px 18px!important;
  padding:16px 16px 15px!important;
  box-shadow:0 -18px 44px rgba(0,0,0,.28)!important;
  color:#EEF8F9!important;
}
body.scanner-body.agent-theme-app .sheet{background:linear-gradient(180deg,#0A3040 0%,#08313B 100%)!important;border:1px solid rgba(96,205,198,.18)!important}
body.scanner-body.agent-theme-reference_blue .sheet{background:linear-gradient(180deg,#001C27 0%,#001A24 100%)!important;border:1px solid rgba(86,173,181,.18)!important}
body.scanner-body .sheet-handle{background:rgba(214,241,244,.34)!important;margin-bottom:12px!important}
body.scanner-body .sheet h3{color:#F5FBFB!important;font-size:20px!important;margin:5px 0 10px!important}
body.scanner-body .sheet .muted,body.scanner-body .sheet p{color:#BDD2D6!important}
body.scanner-body .reason-grid button,body.scanner-body .sheet textarea,body.scanner-body .sheet input,body.scanner-body .finish-option,body.scanner-body .incident-camera-button,body.scanner-body .incident-photo-preview,body.scanner-body .incident-skip-option{color:#EDF9FA!important}
body.scanner-body.agent-theme-app .reason-grid button,body.scanner-body.agent-theme-app .sheet textarea,body.scanner-body.agent-theme-app .sheet input,body.scanner-body.agent-theme-app .finish-option,body.scanner-body.agent-theme-app .incident-camera-button,body.scanner-body.agent-theme-app .incident-photo-preview,body.scanner-body.agent-theme-app .incident-skip-option{background:#072A35!important;border-color:rgba(111,196,198,.18)!important}
body.scanner-body.agent-theme-reference_blue .reason-grid button,body.scanner-body.agent-theme-reference_blue .sheet textarea,body.scanner-body.agent-theme-reference_blue .sheet input,body.scanner-body.agent-theme-reference_blue .finish-option,body.scanner-body.agent-theme-reference_blue .incident-camera-button,body.scanner-body.agent-theme-reference_blue .incident-photo-preview,body.scanner-body.agent-theme-reference_blue .incident-skip-option{background:#001723!important;border-color:rgba(86,173,181,.20)!important}
body.scanner-body .reason-grid button.selected{background:linear-gradient(135deg,#0F988B,#26B8A8)!important;border-color:#58D4C8!important;color:#fff!important}
body.scanner-body .sheet textarea::placeholder,body.scanner-body .sheet input::placeholder{color:#8FB0B8!important}
body.scanner-body .incident-camera-button{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:16px!important;border-radius:18px!important;border:1px solid rgba(106,195,195,.18)!important}
body.scanner-body .incident-camera-icon{width:54px!important;height:54px!important;border-radius:16px!important;background:rgba(21,109,137,.34)!important;display:grid!important;place-items:center!important;font-size:28px!important}
body.scanner-body .incident-skip-option{border-radius:18px!important;padding:16px!important;border:1px solid rgba(210,177,73,.28)!important;background:linear-gradient(135deg,rgba(111,86,22,.88),rgba(95,72,18,.86))!important}
body.scanner-body .incident-skip-option strong,body.scanner-body .incident-skip-option small{color:#FFF6D9!important}
body.scanner-body .finish-option.danger{background:linear-gradient(135deg,rgba(113,28,40,.95),rgba(153,33,45,.92))!important;border-color:rgba(255,126,140,.24)!important;color:#FFF3F5!important}
body.scanner-body .finish-option.disabled{opacity:.45!important}
body.scanner-body .btn.ghost.full{background:rgba(255,255,255,.08)!important;color:#F3FBFB!important;border-color:rgba(255,255,255,.16)!important}
body.scanner-body .panic-test-modal{display:grid!important;place-items:center!important;padding:18px!important}
body.scanner-body .panic-test-modal.hidden{display:none!important}
body.scanner-body .panic-test-card{width:min(420px,94vw)!important;border-radius:24px!important;padding:24px 20px!important;text-align:center!important;box-shadow:0 24px 60px rgba(0,0,0,.34)!important;border:1px solid rgba(255,255,255,.10)!important}
body.scanner-body.agent-theme-app .panic-test-card{background:linear-gradient(180deg,#0A3140,#08313A)!important}
body.scanner-body.agent-theme-reference_blue .panic-test-card{background:linear-gradient(180deg,#001C26,#001822)!important}
body.scanner-body .panic-test-card h3{margin:7px 0 8px!important;color:#fff!important}.panic-test-card p{color:#C6D9DD!important;line-height:1.5!important;margin:0 0 14px!important}
body.scanner-body .panic-test-icon{width:58px!important;height:58px!important;border-radius:18px!important;background:linear-gradient(135deg,#BF2833,#E14A55)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:28px!important;font-weight:900!important;margin:0 auto 10px!important}

body.scanner-body.start-round-loading{overflow:hidden!important}
body.scanner-body .start-round-overlay{position:fixed!important;inset:0!important;z-index:2050!important;display:grid!important;place-items:center!important;padding:20px!important;background:rgba(1,15,22,.46)!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important}
body.scanner-body .start-round-overlay.hidden{display:none!important}
body.scanner-body .start-round-card{width:min(330px,88vw)!important;display:grid!important;justify-items:center!important;gap:10px!important;padding:24px 20px!important;border-radius:24px!important;text-align:center!important;box-shadow:0 24px 60px rgba(0,0,0,.32)!important;border:1px solid rgba(255,255,255,.10)!important}
body.scanner-body.agent-theme-app .start-round-card{background:linear-gradient(180deg,#083241,#0A3641)!important}
body.scanner-body.agent-theme-reference_blue .start-round-card{background:linear-gradient(180deg,#001B25,#001722)!important}
body.scanner-body .start-round-card strong{font-size:24px!important;line-height:1.04!important;color:#fff!important}
body.scanner-body .start-round-card span{font-size:12px!important;line-height:1.45!important;color:#BCD5DA!important;max-width:260px!important}
body.scanner-body .start-round-spinner{width:56px!important;height:56px!important;border-radius:50%!important;border:4px solid rgba(255,255,255,.10)!important;border-top-color:#58D2C6!important;animation:faro-spin .9s linear infinite!important}
@keyframes faro-spin{to{transform:rotate(360deg)}}


/* Faro v3.6.226 · selector de ruta + control empresa botón pánico */
body.scanner-body .route-choice-modal{display:grid!important;place-items:center!important;padding:18px!important;background:rgba(1,14,20,.62)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
body.scanner-body .route-choice-modal.hidden{display:none!important}
body.scanner-body .route-choice-card{width:min(440px,94vw)!important;max-height:86dvh!important;overflow:auto!important;border-radius:24px!important;padding:22px 18px 18px!important;text-align:center!important;box-shadow:0 28px 70px rgba(0,0,0,.38)!important;border:1px solid rgba(105,208,198,.17)!important}
body.scanner-body.agent-theme-app .route-choice-card{background:linear-gradient(180deg,#0A3140,#082D38)!important}
body.scanner-body.agent-theme-reference_blue .route-choice-card{background:linear-gradient(180deg,#001C26,#00151F)!important}
body.scanner-body .route-choice-icon{width:56px!important;height:56px!important;margin:0 auto 10px!important;border-radius:18px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#0D8F84,#2AC3B4)!important;color:#fff!important;font-size:28px!important;font-weight:900!important}
body.scanner-body .route-choice-card h3{margin:7px 0 7px!important;color:#fff!important;font-size:22px!important}
body.scanner-body .route-choice-card p{color:#AFC8CD!important;font-size:11px!important;line-height:1.45!important;margin:0 0 14px!important}
body.scanner-body .route-choice-list{display:grid!important;gap:9px!important;margin:0 0 12px!important}
body.scanner-body .route-choice-option{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 15px!important;border-radius:16px!important;text-align:left!important;cursor:pointer!important;color:#EFF9FA!important;border:1px solid rgba(105,208,198,.17)!important}
body.scanner-body.agent-theme-app .route-choice-option{background:#072A35!important}
body.scanner-body.agent-theme-reference_blue .route-choice-option{background:#001722!important}
body.scanner-body .route-choice-option strong,body.scanner-body .route-choice-option small{display:block!important}.route-choice-option strong{font-size:14px!important;color:#fff!important}.route-choice-option small{font-size:9px!important;color:#8EB0B7!important;margin-top:4px!important}.route-choice-option b{padding:8px 11px!important;border-radius:999px!important;background:rgba(48,198,183,.13)!important;color:#62DACE!important;font-size:10px!important}.route-choice-option:disabled{opacity:.5!important}
.sa-agent-panic-toggle{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px 13px!important;border-radius:14px!important;background:#0A2935!important;border:1px solid rgba(105,208,198,.16)!important}.sa-agent-panic-toggle input{margin-top:3px!important}.sa-agent-panic-toggle span{display:block!important}.sa-agent-panic-toggle strong{display:block!important;color:#F3FBFB!important;font-size:11px!important}.sa-agent-panic-toggle small{display:block!important;color:#87A6AD!important;font-size:9px!important;line-height:1.4!important;margin-top:3px!important}


/* Faro v3.6.228 · correcciones landing, configuración inicial y acompañamiento en vivo */
/* Plan destacado: el fondo comercial actual es claro, por lo que el título nunca puede quedar blanco. */
.landing-plan-card.featured h3{color:var(--plan-dark,#07556b)!important;text-shadow:none!important}

/* Puesta en marcha: tema oscuro real del Supervisor. */
body.admin-body .setup-flow{
  background:linear-gradient(145deg,#0B3743,#0A303B)!important;
  border:1px solid rgba(105,208,198,.16)!important;
  box-shadow:0 12px 30px rgba(0,15,22,.14)!important;
  color:#EAF7F8!important;
}
body.admin-body .setup-flow-head>div strong{color:#F4FBFC!important}
body.admin-body .setup-flow-head>div span{color:#91B0B6!important}
body.admin-body .setup-flow-track:before{background:#194650!important}
body.admin-body .setup-step-dot{background:#0A2C36!important;border-color:#0B3743!important;box-shadow:0 0 0 1px rgba(113,197,198,.22)!important;color:#91B0B6!important}
body.admin-body .setup-step-copy strong{color:#B9CFD3!important}
body.admin-body .setup-step-copy small{color:#7599A0!important}
body.admin-body .setup-step.current .setup-step-dot{background:#1E6FB7!important;color:#fff!important;box-shadow:0 0 0 3px rgba(56,151,228,.18)!important}
body.admin-body .setup-step.current .setup-step-copy strong{color:#73C4FF!important}
body.admin-body .setup-step.done .setup-step-dot{background:#35B5A7!important;color:#fff!important;box-shadow:0 0 0 1px #35B5A7!important}
body.admin-body .setup-step.done .setup-step-copy strong{color:#69D9CD!important}
body.admin-body .setup-step.locked{opacity:.48!important}
body.admin-body .setup-step.locked .setup-step-dot{background:#102F38!important;color:#66858C!important}

/* Alerta de agente en ruta */
body.admin-body .admin-live-patrol-alert{background:linear-gradient(90deg,#0D4B48,#0B3D45)!important;border:1px solid rgba(70,211,194,.25)!important;color:#EFFFFC!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
body.admin-body .admin-live-patrol-alert strong{display:flex!important;align-items:center!important;gap:9px!important}
body.admin-body .admin-live-dot{width:10px;height:10px;border-radius:50%;background:#35E7B5;box-shadow:0 0 0 5px rgba(53,231,181,.10),0 0 14px rgba(53,231,181,.5);animation:faro-live-pulse 1.6s ease-in-out infinite}
@keyframes faro-live-pulse{50%{transform:scale(.82);opacity:.72}}
body.admin-body .admin-live-patrol-open{min-width:112px!important}

/* Modal centrado de acompañamiento; no existe en navegación y solo se renderiza con rondas activas. */
body.admin-body .live-patrol-modal{z-index:11000!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(1,18,25,.72)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
body.admin-body .live-patrol-modal.hidden{display:none!important}
body.admin-body .live-patrol-card{width:min(1040px,96vw)!important;height:min(86dvh,820px)!important;max-width:1040px!important;max-height:820px!important;padding:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:24px!important;background:linear-gradient(160deg,#082F3A,#07313C)!important;border:1px solid rgba(91,204,197,.24)!important;box-shadow:0 34px 90px rgba(0,12,18,.48)!important;color:#EDF9FA!important}
body.admin-body .live-patrol-head{padding:17px 19px 14px!important;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(101,198,198,.14);background:#0A3945}
body.admin-body .live-patrol-head h2{margin:3px 0 3px!important;color:#fff!important;font-size:24px!important}
body.admin-body .live-patrol-head p{margin:0!important;color:#8CAEB4!important}
body.admin-body .live-patrol-selector{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
body.admin-body .live-patrol-agent-choice{border:1px solid rgba(111,204,201,.20);background:#082C36;color:#9BB8BD;padding:8px 10px;border-radius:11px;font-weight:850;font-size:10px;cursor:pointer}
body.admin-body .live-patrol-agent-choice.active{background:#2CB8AC;border-color:#5DD8CE;color:#fff}
body.admin-body .live-patrol-scroll{min-height:0;overflow:auto;padding:16px 18px 20px;overscroll-behavior:contain}
body.admin-body .live-patrol-loading{height:100%;min-height:260px;display:grid;place-items:center;color:#9AB9BE;font-weight:850}
body.admin-body .live-patrol-summary{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px;border-radius:19px;background:linear-gradient(135deg,#0A3A46,#0D4651);border:1px solid rgba(102,205,199,.17)}
body.admin-body .live-patrol-avatar{width:82px;height:82px;border-radius:22px;display:grid;place-items:center;overflow:hidden;background:#082B35;border:2px solid #46CFC3;color:#fff;font-size:24px;font-weight:950}
body.admin-body .live-patrol-avatar img{width:100%;height:100%;object-fit:cover}
body.admin-body .live-patrol-round{display:inline-flex;width:max-content;padding:5px 8px;border-radius:8px;background:#0B5360;color:#63E0D4;font-size:8px;font-weight:900;letter-spacing:.07em}
body.admin-body .live-patrol-summary-copy h3{margin:6px 0 4px;color:#fff;font-size:23px;line-height:1.05}
body.admin-body .live-patrol-summary-copy p{margin:0;display:flex;gap:14px;flex-wrap:wrap;color:#80A6AD;font-size:11px}.live-patrol-summary-copy p strong{color:#58D5CA}.live-patrol-summary-copy p b{color:#EAF6F7}
body.admin-body .live-patrol-progress{text-align:center;min-width:84px}.live-patrol-progress strong{display:block;color:#fff;font-size:30px;line-height:1}.live-patrol-progress span{display:block;color:#7FA3A9;font-size:8px;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}
body.admin-body .live-patrol-current{margin-top:11px;padding:13px 15px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#0B373F,#0C494A);border:1px solid rgba(63,218,199,.20)}
body.admin-body .live-patrol-current>div:first-child>span{display:block;color:#42D6C7;font-size:8px;font-weight:900;letter-spacing:.10em}.live-patrol-current strong{display:block;color:#fff;font-size:19px;margin-top:3px}.live-patrol-current small{display:block;color:#91B0B5;font-size:9px;margin-top:3px}
body.admin-body .live-patrol-pulse{width:44px;height:44px;border-radius:50%;border:1px solid rgba(61,221,202,.34);display:grid;place-items:center}.live-patrol-pulse i{width:11px;height:11px;border-radius:50%;background:#3DE1C9;box-shadow:0 0 0 8px rgba(61,225,201,.08);animation:faro-live-pulse 1.6s infinite}
body.admin-body .live-patrol-timeline-section{margin-top:13px;padding:14px;border-radius:18px;background:#072A34;border:1px solid rgba(101,193,195,.13)}
body.admin-body .live-patrol-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.live-patrol-section-head span{color:#50D2C7;font-size:8px;font-weight:900;letter-spacing:.08em}.live-patrol-section-head h3{margin:2px 0 0;color:#fff;font-size:17px}.live-patrol-section-head small{color:#759AA1;font-size:8px}
body.admin-body .live-patrol-timeline{display:flex;gap:10px;overflow-x:auto;padding:5px 3px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#28606a transparent}
body.admin-body .live-patrol-node{position:relative;flex:0 0 170px;min-height:104px;padding:12px 11px 10px 42px;border-radius:15px;background:#0A3540;border:1px solid rgba(106,191,194,.13);scroll-snap-align:center;transition:.18s}
body.admin-body .live-patrol-node.current{border-color:#4DDBCE;background:linear-gradient(145deg,#0D4649,#0B3B45);box-shadow:0 0 0 2px rgba(77,219,206,.08),0 12px 26px rgba(0,0,0,.14)}
body.admin-body .live-patrol-node.marked{opacity:.82}.live-patrol-node.skipped{border-color:rgba(229,174,83,.30)}.live-patrol-node.incident{border-color:rgba(229,174,83,.28)}
body.admin-body .live-patrol-node-index{position:absolute;left:10px;top:11px;width:23px;height:23px;border-radius:8px;display:grid;place-items:center;background:#08303A;color:#6DCFC9;font-size:9px;font-weight:950}
body.admin-body .live-patrol-node small{display:block;color:#6FD1C8;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.live-patrol-node strong{display:block;color:#F0F8F9;font-size:13px;line-height:1.15;margin-top:5px}.live-patrol-node time{display:block;color:#849FA5;font-size:10px;margin-top:7px}
body.admin-body .live-patrol-incident-badge{margin-top:8px;border:1px solid rgba(224,165,57,.25);background:rgba(105,70,13,.30);color:#F3C970;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;cursor:pointer}
body.admin-body .live-patrol-incident-detail{margin-top:11px;padding:12px;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:rgba(91,59,11,.24);border:1px solid rgba(222,164,58,.22)}
body.admin-body .live-patrol-incident-detail span{display:block;color:#E4B956;font-size:8px;font-weight:900;letter-spacing:.06em}.live-patrol-incident-detail strong{display:block;color:#FFF3D3;font-size:13px;margin-top:3px}.live-patrol-incident-detail p{margin:4px 0 0;color:#CDBE98;font-size:10px}
body.admin-body .live-patrol-photo{border:0;background:transparent;padding:0;cursor:pointer}.live-patrol-photo img{width:82px;height:62px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.12)}
body.admin-body .live-patrol-footer{position:sticky;bottom:0;z-index:3;padding:12px 18px;background:#0A3945;border-top:1px solid rgba(105,208,198,.14);display:flex;justify-content:flex-end}.live-patrol-footer .btn.primary{min-width:130px!important}
@media(max-width:720px){
 body.admin-body .admin-live-patrol-alert{align-items:flex-start!important;flex-direction:column!important}.admin-live-patrol-open{width:100%!important}
 body.admin-body .live-patrol-modal{padding:7px!important}.live-patrol-card{width:100%!important;height:92dvh!important;border-radius:19px!important}.live-patrol-head{display:block!important;padding:14px!important}.live-patrol-selector{justify-content:flex-start!important;margin-top:9px!important}.live-patrol-scroll{padding:11px!important}.live-patrol-summary{grid-template-columns:62px minmax(0,1fr) 58px!important;gap:9px!important;padding:10px!important}.live-patrol-avatar{width:58px!important;height:58px!important;border-radius:17px!important}.live-patrol-summary-copy h3{font-size:17px!important}.live-patrol-progress strong{font-size:22px!important}.live-patrol-current strong{font-size:16px!important}.live-patrol-node{flex-basis:145px!important}.live-patrol-footer{padding:10px 12px!important}.live-patrol-footer .btn.primary{width:100%!important}
}

body.admin-body .setup-flow-track{grid-template-columns:repeat(3,minmax(0,1fr))!important}

.admin-live-patrol-alert.hidden{display:none!important}
.live-patrol-selector.hidden{display:none!important}


/* Faro v3.6.229 · acompañamiento en vivo ampliado y modal arriba */
body.admin-body .admin-live-patrol-alert.hidden{display:none!important}
body.admin-body .live-patrol-modal{
  align-items:flex-start!important;
  justify-content:center!important;
  padding:8px 10px!important;
  overflow:hidden!important;
}
body.admin-body .live-patrol-card{
  width:min(1120px,calc(100vw - 20px))!important;
  height:calc(100dvh - 16px)!important;
  max-height:none!important;
  margin:0 auto!important;
  border-radius:22px!important;
}
body.admin-body .live-patrol-head{position:relative!important;z-index:4!important;flex:0 0 auto!important}
body.admin-body .live-patrol-scroll{padding:12px 16px 14px!important;overflow-y:auto!important;overflow-x:hidden!important}
body.admin-body .live-patrol-footer{position:relative!important;z-index:4!important;flex:0 0 auto!important}
body.admin-body .live-patrol-status-banner{display:flex;align-items:center;gap:10px;padding:10px 13px;margin-bottom:10px;border-radius:14px;border:1px solid rgba(105,208,198,.16);background:#0A3440}
body.admin-body .live-patrol-status-banner>span{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:#44D9C8;box-shadow:0 0 0 5px rgba(68,217,200,.08)}
body.admin-body .live-patrol-status-banner small{display:block;color:#82A8AE;font-size:7px;font-weight:900;letter-spacing:.1em}
body.admin-body .live-patrol-status-banner strong{display:block;color:#fff;font-size:13px;margin-top:2px}
body.admin-body .live-patrol-status-banner.is-complete{background:rgba(20,103,83,.28);border-color:rgba(70,213,177,.25)}
body.admin-body .live-patrol-status-banner.is-complete>span{background:#46D5A7}
body.admin-body .live-patrol-status-banner.is-interrupted{background:rgba(117,70,15,.30);border-color:rgba(224,169,72,.28)}
body.admin-body .live-patrol-status-banner.is-interrupted>span{background:#E0A948}
body.admin-body .live-patrol-status-banner.is-cancelled{background:rgba(115,35,45,.30);border-color:rgba(227,100,116,.26)}
body.admin-body .live-patrol-status-banner.is-cancelled>span{background:#E36474}
body.admin-body .live-patrol-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
body.admin-body .live-patrol-kpis article{min-width:0;padding:10px 12px;border-radius:15px;background:#082E38;border:1px solid rgba(105,195,196,.14)}
body.admin-body .live-patrol-kpis span{display:block;color:#75A0A7;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
body.admin-body .live-patrol-kpis strong{display:block;margin-top:4px;color:#F4FAFB;font-size:18px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin-body .live-patrol-kpis small{display:block;margin-top:4px;color:#78A0A7;font-size:8px}
body.admin-body .live-patrol-current-v2{display:grid!important;grid-template-columns:104px minmax(0,1fr) 46px!important;align-items:center!important;padding:10px 12px!important}
body.admin-body .live-patrol-current-photo{width:96px;height:74px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#062832;border:1px solid rgba(91,193,194,.16)}
body.admin-body .live-patrol-current-photo button{width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer}
body.admin-body .live-patrol-current-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.admin-body .live-patrol-current-photo.is-empty span{color:#6E969D;font-size:8px}
body.admin-body .live-patrol-current-copy>span{display:block;color:#42D6C7;font-size:8px;font-weight:900;letter-spacing:.10em}
body.admin-body .live-patrol-current-copy>strong{display:block;color:#fff;font-size:20px;margin-top:3px}
body.admin-body .live-patrol-current-copy>small{display:block;color:#91B0B5;font-size:9px;margin-top:4px;line-height:1.35}
body.admin-body .live-patrol-node{padding-left:40px!important;min-height:132px!important;display:grid;align-content:start}
body.admin-body .live-patrol-node-photo{width:100%;height:48px;object-fit:cover;border-radius:9px;margin:0 0 6px}
body.admin-body .live-patrol-node em{display:block;margin-top:4px;color:#74A5AB;font-size:7px;font-style:normal}
@media(max-width:760px){
  body.admin-body .live-patrol-modal{padding:4px!important}
  body.admin-body .live-patrol-card{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;border-radius:17px!important}
  body.admin-body .live-patrol-head{padding:11px 12px!important}
  body.admin-body .live-patrol-head h2{font-size:19px!important}
  body.admin-body .live-patrol-scroll{padding:8px!important}
  body.admin-body .live-patrol-kpis{grid-template-columns:1fr 1fr!important;gap:6px!important}
  body.admin-body .live-patrol-kpis article:last-child{grid-column:1/-1!important}
  body.admin-body .live-patrol-kpis strong{font-size:15px!important}
  body.admin-body .live-patrol-current-v2{grid-template-columns:74px minmax(0,1fr) 34px!important;gap:8px!important;padding:8px!important}
  body.admin-body .live-patrol-current-photo{width:68px;height:58px!important;border-radius:10px!important}
  body.admin-body .live-patrol-current-copy>strong{font-size:15px!important}
  body.admin-body .live-patrol-current-copy>small{font-size:8px!important}
  body.admin-body .live-patrol-pulse{width:32px!important;height:32px!important}
  body.admin-body .live-patrol-summary{grid-template-columns:54px minmax(0,1fr) 54px!important;padding:8px!important}
  body.admin-body .live-patrol-avatar{width:50px!important;height:50px!important}
  body.admin-body .live-patrol-summary-copy h3{font-size:15px!important}
  body.admin-body .live-patrol-timeline-section{padding:9px!important;margin-top:8px!important}
  body.admin-body .live-patrol-node{flex-basis:138px!important;min-height:120px!important}
}

/* Patch v3.6.235 · selector de tema por organización (SuperAdmin) */
.sa-company-ui-theme-panel{display:grid;gap:14px}
.sa-company-ui-theme-form{display:grid;gap:13px}
.sa-company-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sa-company-theme-choice{position:relative;display:block;cursor:pointer}
.sa-company-theme-choice>input{position:absolute;opacity:0;pointer-events:none}
.sa-company-theme-preview{height:100%;display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;align-content:start;padding:14px;border:1px solid rgba(105,208,198,.16);border-radius:18px;background:#092D38;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
.sa-company-theme-preview:hover{transform:translateY(-1px);border-color:rgba(105,208,198,.34)}
.sa-company-theme-choice>input:checked+.sa-company-theme-preview{border-color:#4ECBBC;background:#0D3540;box-shadow:0 0 0 2px rgba(78,203,188,.10)}
.sa-company-theme-preview>.theme-preview-window{grid-row:1/4;width:120px;height:84px;border-radius:14px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.sa-company-theme-preview>.theme-preview-window:before{content:"";position:absolute;left:0;top:0;bottom:0;width:25px;background:rgba(0,0,0,.20);border-right:1px solid rgba(255,255,255,.08)}
.sa-company-theme-preview>.theme-preview-window b{position:absolute;left:35px;top:12px;width:69px;height:17px;border-radius:5px;background:rgba(255,255,255,.08)}
.sa-company-theme-preview>.theme-preview-window em{position:absolute;left:35px;top:37px;width:31px;height:28px;border-radius:7px;background:rgba(255,255,255,.08)}
.sa-company-theme-preview>.theme-preview-window small{position:absolute;right:13px;top:37px;width:31px;height:28px;border-radius:7px;background:rgba(255,255,255,.08)}
.sa-company-theme-preview.theme-petrol>.theme-preview-window{background:linear-gradient(145deg,#071E2B,#0B3B49)}
.sa-company-theme-preview.theme-petrol>.theme-preview-window:after{content:"";position:absolute;left:35px;bottom:8px;width:68px;height:4px;border-radius:99px;background:#41AB9E}
.sa-company-theme-preview.theme-fluor>.theme-preview-window{background:linear-gradient(145deg,#00141D,#0D1F2B)}
.sa-company-theme-preview.theme-fluor>.theme-preview-window:after{content:"";position:absolute;left:35px;bottom:8px;width:68px;height:4px;border-radius:99px;background:#A6FF00;box-shadow:0 0 10px rgba(166,255,0,.24)}
.sa-company-theme-preview>strong{align-self:end;color:#F2FAFA;font-size:13px;line-height:1.2}
.sa-company-theme-preview>small{color:#8EAAB0;font-size:9px;line-height:1.45;margin-top:4px}
.sa-theme-swatches{display:flex;gap:5px;align-self:end;margin-top:10px}
.sa-theme-swatches i{width:19px;height:19px;border-radius:7px;background:var(--c);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.sa-theme-contrast-note{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:#082A35;border:1px solid rgba(105,208,198,.14)}
.sa-theme-contrast-note strong{color:#62D3C7;font-size:10px;white-space:nowrap}.sa-theme-contrast-note span{color:#91AEB4;font-size:9px;line-height:1.4}
@media(max-width:820px){.sa-company-theme-options{grid-template-columns:1fr}.sa-company-theme-preview{grid-template-columns:96px minmax(0,1fr)}.sa-company-theme-preview>.theme-preview-window{width:96px;height:74px}.sa-company-theme-preview>.theme-preview-window b{width:53px}.sa-company-theme-preview>.theme-preview-window:after{width:52px!important}.sa-theme-contrast-note{align-items:flex-start;flex-direction:column;gap:3px}}


/* PATCH Faro24 · nueva marca de nodos + radar de red en Index */
.public-brand-faro24{gap:11px!important}
.public-brand-faro24 img{
  width:38px!important;height:38px!important;object-fit:contain!important;
  filter:drop-shadow(0 0 12px rgba(0,230,255,.20));
}
.public-brand-faro24 .public-brand-word{
  display:inline-flex;align-items:baseline;gap:0;
  color:#F4FBFD!important;font-size:20px;font-weight:850;letter-spacing:.055em;line-height:1;
}
.public-brand-faro24 .public-brand-word>span{color:#2DDAE4!important;font-weight:900}

/* Consola principal: el radar pasa a representar la misma red de nodos del isotipo. */
.faro24-network-console{
  position:relative;overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 40%,rgba(0,230,255,.085),transparent 32%),
    linear-gradient(150deg,#00141D 0%,#001F29 58%,#002B34 100%)!important;
  border:1px solid rgba(51,207,218,.23)!important;
  box-shadow:0 32px 80px rgba(0,8,13,.38),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.faro24-network-console::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;
  background-image:
    linear-gradient(rgba(0,230,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,230,255,.05) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 78%,transparent 100%);
}
.faro24-network-console .console-head{position:relative;z-index:3;border-bottom-color:rgba(45,218,228,.14)!important}
.faro24-network-console .console-head>span{color:#B9DDE2!important;letter-spacing:.12em!important}
.faro24-network-console .console-head>b{display:inline-flex!important;align-items:center;gap:6px;color:#75F0E9!important;background:rgba(0,230,255,.07)!important;border:1px solid rgba(45,218,228,.18)!important}
.faro24-network-console .console-head>b i{width:6px;height:6px;border-radius:50%;background:#49E9B1;box-shadow:0 0 12px #49E9B1;animation:faro24NodePulse 1.5s ease-in-out infinite}

.faro24-node-radar{
  width:min(79vw,370px)!important;margin:24px auto 20px!important;
  overflow:visible!important;border:1px solid rgba(45,218,228,.22)!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(0,230,255,.12),rgba(0,20,29,.30) 42%,rgba(0,20,29,.06) 69%,transparent 70%)!important;
  box-shadow:inset 0 0 52px rgba(0,230,255,.035),0 0 44px rgba(0,230,255,.025)!important;
}
.faro24-node-radar::before,.faro24-node-radar::after{background:rgba(76,216,224,.09)!important}
.faro24-node-radar .radar-ring{border-color:rgba(72,220,228,.16)!important}
.faro24-node-radar .radar-ring.r1{inset:12%!important}.faro24-node-radar .radar-ring.r2{inset:27%!important}.faro24-node-radar .radar-ring.r3{inset:41%!important}
.faro24-node-radar .radar-sweep{
  opacity:.55!important;
  background:conic-gradient(from 0deg,rgba(0,230,255,.25),rgba(0,230,255,.06) 13%,transparent 22%,transparent)!important;
  animation-duration:6.4s!important;
}
.radar-grid-glow{position:absolute;inset:7%;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 52% 49%,rgba(0,230,255,.12),transparent 42%);filter:blur(10px)}
.faro24-radar-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2}
.faro24-radar-links path{fill:none;stroke:#24D8E2;stroke-width:1.15;vector-effect:non-scaling-stroke;opacity:.55;filter:drop-shadow(0 0 4px rgba(0,230,255,.45))}
.faro24-live-node{position:absolute;z-index:4;display:grid;justify-items:center;gap:6px;transform:translate(-50%,-50%);color:#8CB9C0;font-size:7px;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.faro24-live-node i{display:block;width:13px;height:13px;border-radius:50%;background:#23D9E3;border:2px solid rgba(219,255,255,.84);box-shadow:0 0 0 7px rgba(0,230,255,.055),0 0 20px rgba(0,230,255,.72);animation:faro24NodePulse 2.2s ease-in-out infinite}
.faro24-live-node small{opacity:.78}
.faro24-live-node.n1{left:22%;top:66%}.faro24-live-node.n2{left:52%;top:82%}.faro24-live-node.n3{left:79%;top:61%}.faro24-live-node.n4{left:50%;top:47%}
.faro24-live-node.n2 i{animation-delay:.35s}.faro24-live-node.n3 i{animation-delay:.7s}.faro24-live-node.n4 i{animation-delay:1s}
.faro24-live-node.current{color:#D9FFFF!important}
.faro24-live-node.current i{width:17px;height:17px;background:#6DF7F1;box-shadow:0 0 0 9px rgba(0,230,255,.07),0 0 30px rgba(0,230,255,.95)}
.faro24-radar-center{
  inset:auto!important;left:50%!important;top:25%!important;transform:translate(-50%,-50%)!important;
  width:72px!important;height:72px!important;border-radius:22px!important;
  display:grid!important;place-items:center!important;align-content:center!important;gap:3px!important;
  background:linear-gradient(145deg,rgba(0,20,29,.96),rgba(0,49,58,.90))!important;
  border:1px solid rgba(76,231,235,.25)!important;box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 0 28px rgba(0,230,255,.05)!important;
  z-index:5!important;
}
.faro24-radar-center img{width:46px!important;height:46px!important;object-fit:contain!important;filter:drop-shadow(0 0 9px rgba(0,230,255,.32))}
.faro24-radar-center span{font-size:6.5px;color:#86C7CD;font-weight:900;letter-spacing:.11em}
.faro24-console-stats{position:relative;z-index:3!important;border-top-color:rgba(45,218,228,.13)!important}
.faro24-console-stats strong em{font-style:normal;color:#2DDAE4;font-size:.72em}
.faro24-console-stats .safe{display:inline-flex!important;align-items:center;gap:6px!important;color:#7BF1E9!important}
.faro24-console-stats .safe i{width:7px;height:7px;border-radius:50%;background:#45E7AF;box-shadow:0 0 10px rgba(69,231,175,.8)}

/* La marca se hace visible en el hero sin convertir el resto del landing en otro tema. */
.public-hero::before{background:radial-gradient(circle,rgba(0,230,255,.09),transparent 68%)!important}
.public-hero::after{background:radial-gradient(circle,rgba(45,218,228,.09),transparent 68%)!important}
.public-hero h1 em{color:#42DDE1!important;text-shadow:0 0 26px rgba(0,230,255,.06)}
.public-primary{background:linear-gradient(105deg,#0B9E9B,#29C9C5)!important}
.public-scroll-progress i{background:linear-gradient(90deg,#12C3CD,#58EFE8)!important}

@keyframes faro24NodePulse{0%,100%{transform:scale(.92);opacity:.78}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.faro24-live-node i,.faro24-network-console .console-head>b i{animation:none!important}}
@media(max-width:760px){
  .public-brand-faro24 img{width:34px!important;height:34px!important}
  .public-brand-faro24 .public-brand-word{font-size:17px!important}
  .faro24-node-radar{width:min(86vw,340px)!important}
  .faro24-radar-center{width:64px!important;height:64px!important}.faro24-radar-center img{width:40px!important;height:40px!important}
  .faro24-live-node small{display:none}
}
@media(max-width:420px){.public-brand-faro24 .public-brand-word{display:none!important}}

/* PATCH Faro24 mark2 · radar clásico del Index + isotipo blanco oficial */
.public-brand-faro24 img{
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 9px rgba(0,230,255,.18))!important;
}
.public-brand-faro24 .public-brand-word>span{color:#10CDEB!important}

.faro24-classic-console{
  background:
    radial-gradient(circle at 72% 18%,rgba(0,205,235,.07),transparent 30%),
    linear-gradient(160deg,rgba(4,44,56,.90),rgba(0,20,29,.93))!important;
  border-color:rgba(78,203,220,.22)!important;
  box-shadow:0 35px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.faro24-classic-radar{
  width:min(80vw,382px)!important;
  margin:22px auto 24px!important;
  border:1px solid rgba(38,206,230,.34)!important;
  overflow:hidden!important;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 50%,rgba(0,207,232,.12),transparent 22%),
    radial-gradient(circle,rgba(0,95,116,.13) 0 55%,rgba(0,18,27,.16) 82%),
    #001922!important;
  box-shadow:
    inset 0 0 42px rgba(0,205,235,.055),
    0 0 0 8px rgba(0,205,235,.018),
    0 18px 46px rgba(0,0,0,.22)!important;
}
.faro24-classic-radar::before,
.faro24-classic-radar::after{display:none!important}
.faro24-radar-grid{position:absolute;inset:0;z-index:1;pointer-events:none}
.faro24-radar-grid::before,
.faro24-radar-grid::after{content:"";position:absolute;background:rgba(37,188,207,.20)}
.faro24-radar-grid::before{width:1px;top:5%;bottom:5%;left:50%}
.faro24-radar-grid::after{height:1px;left:5%;right:5%;top:50%}
.faro24-radar-circle{
  position:absolute;z-index:1;border:1px solid rgba(31,189,211,.22);border-radius:50%;pointer-events:none
}
.faro24-radar-circle.c1{inset:5%}
.faro24-radar-circle.c2{inset:14%}
.faro24-radar-circle.c3{inset:23%}
.faro24-radar-circle.c4{inset:32%}
.faro24-radar-circle.c5{inset:41%}
.faro24-radar-circle.c6{inset:47%}
.faro24-classic-sweep{
  position:absolute;inset:-1px;z-index:2;border-radius:50%;pointer-events:none;
  background:conic-gradient(
    from -18deg,
    transparent 0deg 274deg,
    rgba(0,221,246,.018) 282deg,
    rgba(0,221,246,.075) 296deg,
    rgba(0,221,246,.20) 312deg,
    rgba(44,230,249,.42) 330deg,
    rgba(112,245,255,.70) 348deg,
    transparent 351deg 360deg
  );
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 10px rgba(0,220,247,.42));
  animation:faro24ClassicSweep 5.8s linear infinite;
  transform-origin:50% 50%;
}
.faro24-classic-sweep::after{
  content:"";position:absolute;left:50%;top:50%;width:47%;height:2px;
  transform-origin:left center;transform:rotate(-10deg);
  background:linear-gradient(90deg,rgba(94,242,255,.12),rgba(104,245,255,.98));
  box-shadow:0 0 9px rgba(64,235,255,.92),0 0 22px rgba(21,211,241,.55);
  border-radius:999px;
}
@keyframes faro24ClassicSweep{to{transform:rotate(360deg)}}
.faro24-radar-blip{
  position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;
  background:#46EAF5;border:1px solid #D4FCFF;
  box-shadow:0 0 7px #45EAF7,0 0 18px rgba(0,225,249,.78);
  animation:faro24RadarBlip 2.25s ease-in-out infinite;
}
.faro24-radar-blip::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(69,234,247,.16);border-radius:50%}
.faro24-radar-blip.b1{left:20%;top:30%;animation-delay:.2s}
.faro24-radar-blip.b2{left:76%;top:24%;animation-delay:.75s}
.faro24-radar-blip.b3{left:68%;top:76%;animation-delay:1.2s}
.faro24-radar-blip.b4{left:28%;top:70%;animation-delay:1.7s}
@keyframes faro24RadarBlip{0%,100%{opacity:.42;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}
.faro24-radar-brand-lockup{
  position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);
  width:76%;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;justify-content:center;
  column-gap:11px;row-gap:2px;pointer-events:none;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.42));
}
.faro24-radar-brand-lockup::before{
  content:"";position:absolute;inset:-18px -24px;border-radius:999px;
  background:radial-gradient(ellipse,rgba(0,20,29,.82),rgba(0,20,29,.54) 48%,transparent 74%);
  z-index:-1;
}
.faro24-radar-brand-lockup img{
  width:64px;height:64px;object-fit:contain;justify-self:end;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.18)) drop-shadow(0 0 10px rgba(0,226,255,.15));
}
.faro24-radar-word{
  display:block;color:#F6FBFD;font-size:clamp(28px,5.1vw,46px);line-height:1;
  font-weight:700;letter-spacing:.08em;white-space:nowrap;text-shadow:0 0 18px rgba(255,255,255,.08)
}
.faro24-radar-word em{font-style:normal;color:#13CDEB;font-weight:850;text-shadow:0 0 18px rgba(19,205,235,.20)}
.faro24-radar-brand-lockup small{
  grid-column:1/-1;justify-self:center;margin-top:6px;color:#A5C9CF;font-size:7px;font-weight:900;letter-spacing:.15em
}
.faro24-classic-console .faro24-console-stats{
  border-top:1px solid rgba(45,218,228,.10)!important;padding-top:12px!important
}
@media(prefers-reduced-motion:reduce){
  .faro24-classic-sweep,.faro24-radar-blip{animation:none!important}
  .faro24-classic-sweep{transform:rotate(28deg)!important}
}
@media(max-width:620px){
  .faro24-classic-radar{width:min(84vw,342px)!important;margin:16px auto 18px!important}
  .faro24-radar-brand-lockup{width:80%;grid-template-columns:50px minmax(0,1fr);column-gap:8px}
  .faro24-radar-brand-lockup img{width:50px;height:50px}
  .faro24-radar-word{font-size:clamp(23px,8.2vw,34px)}
  .faro24-radar-brand-lockup small{font-size:6px;margin-top:4px}
}


/* PATCH Faro24 mark3 · isotipo exacto cyan + radar sin línea secundaria */
.faro24-classic-sweep::after{
  display:none!important;
  content:none!important;
}
.public-brand-faro24 img,
.faro24-radar-brand-lockup img{
  object-fit:contain!important;
  image-rendering:auto!important;
}
.faro24-radar-brand-lockup img{
  filter:drop-shadow(0 0 8px rgba(0,224,239,.30))!important;
}


/* PATCH Faro24 mark4 · nuevo faro oficial en todas las superficies */
.faro-logo,
.faro-brand-logo,
.faro-admin-logo,
.admin-logo,
.scanner-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.faro-logo img,
.faro-brand-logo img,
.faro-admin-logo img,
.faro-pulse img,
.admin-logo img,
.scanner-logo img,
.signin-header-brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  image-rendering:auto!important;
}
.public-brand-faro24 img{
  object-fit:contain!important;
  border-radius:10px!important;
  filter:none!important;
}
.faro24-radar-brand-lockup img{
  object-fit:contain!important;
  border-radius:13px!important;
  filter:drop-shadow(0 0 10px rgba(0,220,235,.20))!important;
}
.central-signin-brand>img,
.signin-tenant-logo>img,
.nfc-test-brand>img{
  object-fit:contain!important;
}


/* PATCH Faro24 · Login responsive después del nuevo logo oficial
   Corrige el 100% heredado del mark4 que hacía crecer el icono del header. */
.central-signin-body .signin-public-header{
  overflow:visible!important;
}
.central-signin-body .signin-header-brand{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
.central-signin-body .signin-header-brand>img{
  display:block!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  object-fit:cover!important;
  border-radius:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.central-signin-body .signin-header-brand>strong{
  flex:0 0 auto!important;
  font-size:18px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.central-signin-body .central-signin-brand>img{
  display:block!important;
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  object-fit:cover!important;
  border-radius:20px!important;
  margin:0!important;
}
.central-signin-body .central-signin-shell{
  position:relative!important;
}

@media (max-width:780px){
  .central-signin-body .signin-public-header{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    column-gap:8px!important;
  }
  .central-signin-body .signin-header-brand{
    height:40px!important;
    gap:8px!important;
  }
  .central-signin-body .signin-header-brand>img{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex-basis:38px!important;
    border-radius:11px!important;
  }
  .central-signin-body .signin-header-brand>strong{
    font-size:16px!important;
  }
  .central-signin-body .signin-round-counter{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media (max-width:560px){
  .central-signin-body{
    padding-top:62px!important;
  }
  .central-signin-body .signin-public-header{
    height:62px!important;
    padding:0 10px!important;
  }
  .central-signin-body .signin-header-brand{
    height:38px!important;
  }
  .central-signin-body .signin-header-brand>img{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    flex-basis:36px!important;
    border-radius:10px!important;
  }
  .central-signin-body .signin-header-brand>strong{
    display:inline!important;
    font-size:15px!important;
  }
  .central-signin-body .signin-round-counter{
    justify-self:end!important;
    max-width:190px!important;
    min-height:34px!important;
    padding:5px 8px!important;
  }
  .central-signin-body .signin-public-header::after{
    display:none!important;
    content:none!important;
  }
  .central-signin-body .signin-back{
    top:70px!important;
    left:12px!important;
    z-index:135!important;
  }
  .central-signin-body .central-signin-shell{
    min-height:calc(100svh - 62px)!important;
    padding:52px 11px 18px!important;
  }
  .central-signin-body .central-signin-card{
    width:100%!important;
    max-width:480px!important;
    margin:0 auto!important;
  }
}

@media (max-width:400px){
  .central-signin-body .signin-header-brand>strong{
    font-size:14px!important;
  }
  .central-signin-body .signin-round-counter{
    max-width:172px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .central-signin-body .signin-round-counter .public-counter-label{
    font-size:8px!important;
  }
  .central-signin-body .signin-round-counter strong{
    font-size:13px!important;
  }
}


/* PATCH Faro24 · Index móvil compacto + radar en primera visualización */
.public-round-counter-sentence .faro-pride-copy{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:4px!important;
  white-space:nowrap!important;
}
.public-round-counter-sentence .public-counter-label,
.public-round-counter-sentence .public-counter-suffix{
  display:inline!important;
  color:#D5EFF1!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.public-round-counter-sentence .faro-pride-copy strong{margin:0!important}

/* iOS: por ahora no mostrar el aviso de incompatibilidad NFC en el Index. */
html.faro-ios #publicDeviceCompatibility,
html.faro-ios #publicNfcTesterCta,
body.is-ios-device #publicDeviceCompatibility,
body.is-ios-device #publicNfcTesterCta{
  display:none!important;
}

@media(max-width:700px){
  /* El radar pasa a ser la primera pieza del hero móvil. */
  .public-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-height:auto!important;
    padding:12px 12px 32px!important;
    gap:14px!important;
  }
  .public-hero .security-console{
    order:-1!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
    padding:12px!important;
    border-radius:22px!important;
  }
  .public-hero-copy{
    order:1!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
  }
  .faro24-classic-console .console-head{
    font-size:8px!important;
    padding:0 2px!important;
  }
  .faro24-classic-radar{
    width:min(72vw,286px)!important;
    margin:9px auto 11px!important;
  }
  .faro24-classic-console .faro24-console-stats{
    grid-template-columns:1.2fr .78fr .86fr!important;
    gap:6px!important;
    padding-top:9px!important;
  }
  .faro24-console-stats>div{padding:8px 9px!important;border-radius:10px!important}
  .faro24-console-stats small{font-size:6.5px!important}
  .faro24-console-stats strong{font-size:9px!important;margin-top:3px!important;white-space:nowrap!important}

  /* Sin botones comerciales en el primer bloque móvil. */
  .public-hero-actions{display:none!important}
  .public-mobile-cta-bar .public-mobile-demo-button{display:none!important}
  body:not(.is-nfc-compatible) .public-mobile-cta-bar,
  body.is-ios-device .public-mobile-cta-bar{display:none!important}

  /* Beneficios compactos en una sola línea. */
  .public-trust{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    margin:10px auto 0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:7.8px!important;
    line-height:1!important;
  }
  .public-trust span{white-space:nowrap!important;flex:0 0 auto!important}

  /* El texto del hero continúa después del radar, con menos altura inicial. */
  .public-kicker{font-size:8px!important;letter-spacing:.13em!important}
  .public-kicker span{width:18px!important}
  .public-hero h1{
    font-size:clamp(35px,10.5vw,48px)!important;
    margin:10px 0 12px!important;
    line-height:.98!important;
  }
  .public-hero-copy>p{font-size:12px!important;line-height:1.48!important}
  .public-device-compatibility{margin-top:10px!important}

  /* Mantener la frase completa del contador en móvil. */
  .public-round-counter-sentence{
    padding:5px 8px!important;
    gap:5px!important;
  }
  .public-round-counter-sentence .faro-counter-style-mark{width:13px!important;height:13px!important;flex-basis:13px!important}
  .public-round-counter-sentence .public-counter-label,
  .public-round-counter-sentence .public-counter-suffix{display:inline!important;font-size:8px!important}
  .public-round-counter-sentence .faro-pride-copy strong{font-size:14px!important}
}

@media(max-width:420px){
  .public-round-counter-sentence .faro-counter-style-mark{display:none!important}
  .public-round-counter-sentence{padding:5px 7px!important}
  .public-round-counter-sentence .public-counter-label,
  .public-round-counter-sentence .public-counter-suffix{font-size:7.3px!important}
  .public-round-counter-sentence .faro-pride-copy strong{font-size:13px!important}
  .faro24-classic-radar{width:min(74vw,270px)!important}
  .public-trust{gap:6px!important;font-size:7.1px!important}
}


/* PATCH Faro24 · CTA móvil recuperado + radar primero + copy después */
@media(min-width:701px){
  .public-hero{
    grid-template-areas:"copy console"!important;
  }
  .public-hero-copy{
    grid-area:copy!important;
  }
  .public-hero .security-console{
    grid-area:console!important;
  }
}

@media(max-width:700px){
  /* El orden del DOM ahora deja el radar realmente primero.
     Después aparece el bloque "Toma el control..." hasta "Reportería automática". */
  .public-hero .security-console{
    order:0!important;
  }
  .public-hero-copy{
    order:1!important;
  }

  /* Recuperar CTA fijo inferior. */
  .public-mobile-cta-bar{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .public-mobile-cta-bar .public-mobile-demo-button{
    display:flex!important;
    flex:1 1 0!important;
    min-width:0!important;
    background:#41AB9E!important;
    color:#052A35!important;
    border:0!important;
  }

  /* Android compatible: Probar NFC + Solicitar demo. */
  body.is-nfc-compatible .public-mobile-cta-bar #publicMobileNfcButton{
    display:flex!important;
    flex:1 1 0!important;
    min-width:0!important;
  }

  /* Cualquier móvil sin NFC compatible: solo demo.
     Esto incluye iOS por ahora. */
  body:not(.is-nfc-compatible) .public-mobile-cta-bar #publicMobileNfcButton,
  body.is-ios-device .public-mobile-cta-bar #publicMobileNfcButton,
  html.faro-ios .public-mobile-cta-bar #publicMobileNfcButton{
    display:none!important;
  }
  body:not(.is-nfc-compatible) .public-mobile-cta-bar .public-mobile-demo-button,
  body.is-ios-device .public-mobile-cta-bar .public-mobile-demo-button,
  html.faro-ios .public-mobile-cta-bar .public-mobile-demo-button{
    flex:1 1 100%!important;
    width:100%!important;
  }

  /* El bloque comercial superior sigue fuera del primer pantallazo:
     el CTA comercial vive abajo de forma fija. */
  .public-hero-actions{
    display:none!important;
  }

  /* Mantener el bloque de mensaje + beneficios inmediatamente después del radar. */
  .public-hero-copy{
    padding-top:2px!important;
  }
}

/* iOS: mantener oculto el aviso de incompatibilidad y dejar solo el CTA demo fijo. */
html.faro-ios #publicDeviceCompatibility,
html.faro-ios #publicNfcTesterCta,
body.is-ios-device #publicDeviceCompatibility,
body.is-ios-device #publicNfcTesterCta{
  display:none!important;
}


/* PATCH Faro24 · hero móvil vuelve a copy primero, radar después; CTA demo fijo visible */
@media(min-width:701px){
  .public-hero{grid-template-areas:"copy console"!important;}
  .public-hero-copy{grid-area:copy!important;}
  .public-hero .security-console{grid-area:console!important;}
}
@media(max-width:700px){
  .public-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  .public-hero-copy{
    order:0!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
    padding-top:0!important;
  }
  .public-hero .security-console{
    order:1!important;
    width:100%!important;
    max-width:520px!important;
    margin:0 auto!important;
  }

  /* En móvil, el bloque principal termina en Reportería automática; luego aparece el radar. */
  .public-hero-actions{display:none!important;}

  /* CTA fijo inferior: siempre recuperar Solicitar demo en Android/móvil. */
  .public-mobile-cta-bar{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .public-mobile-cta-bar .public-mobile-demo-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 0!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
  }
  /* Android con Web NFC: dos botones. */
  body.is-nfc-compatible .public-mobile-cta-bar #publicMobileNfcButton{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 0!important;
    min-width:0!important;
  }
  /* iOS / sin NFC compatible: sólo Solicitar demo. */
  body:not(.is-nfc-compatible) .public-mobile-cta-bar #publicMobileNfcButton,
  body.is-ios-device .public-mobile-cta-bar #publicMobileNfcButton,
  html.faro-ios .public-mobile-cta-bar #publicMobileNfcButton{
    display:none!important;
  }
  body:not(.is-nfc-compatible) .public-mobile-cta-bar .public-mobile-demo-button,
  body.is-ios-device .public-mobile-cta-bar .public-mobile-demo-button,
  html.faro-ios .public-mobile-cta-bar .public-mobile-demo-button{
    flex:1 1 100%!important;
    width:100%!important;
  }
}


/* FARO24 v3.6.238 · CTA móvil definitivo */
@media(max-width:700px){
  /* La barra fija existe siempre en móvil. */
  .public-mobile-cta-bar{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
    visibility:visible!important;
    opacity:1!important;
  }

  /* Solicitar demo siempre visible en móvil, especialmente en iOS. */
  .public-mobile-cta-bar .public-mobile-demo-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    min-width:0!important;
  }

  /* Android compatible: Probar NFC + Solicitar demo. */
  body.is-nfc-compatible:not(.is-ios-device) .public-mobile-cta-bar #publicMobileNfcButton{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 0!important;
    min-width:0!important;
  }
  body.is-nfc-compatible:not(.is-ios-device) .public-mobile-cta-bar .public-mobile-demo-button{
    flex:1 1 0!important;
    width:auto!important;
  }

  /* iOS: nunca mostrar Probar NFC; Solicitar demo ocupa todo el ancho. */
  body.is-ios-device .public-mobile-cta-bar #publicMobileNfcButton,
  html.faro-ios .public-mobile-cta-bar #publicMobileNfcButton{
    display:none!important;
  }
  body.is-ios-device .public-mobile-cta-bar .public-mobile-demo-button,
  html.faro-ios .public-mobile-cta-bar .public-mobile-demo-button{
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
  }

  /* Android/no compatible: sólo Solicitar demo. */
  body:not(.is-nfc-compatible):not(.is-ios-device) .public-mobile-cta-bar #publicMobileNfcButton{
    display:none!important;
  }
  body:not(.is-nfc-compatible):not(.is-ios-device) .public-mobile-cta-bar .public-mobile-demo-button{
    flex:1 1 100%!important;
    width:100%!important;
  }
}

/* El CTA interno "Ir a probar NFC" ya no forma parte del Index. */
#publicNfcTesterCta{display:none!important}


/* FARO24 v3.6.239 · compatibilidad iOS visible */
.public-device-compatibility.upcoming{
  border-color:rgba(64,210,220,.32)!important;
  background:linear-gradient(135deg,rgba(21,102,117,.18),rgba(8,56,73,.34))!important;
}
.public-device-compatibility.upcoming .public-device-check-icon{
  background:rgba(55,207,215,.15)!important;
  color:#6FE7E6!important;
  border:1px solid rgba(111,231,230,.28)!important;
}
.public-device-compatibility.upcoming strong{
  color:#EAFBFC!important;
}

/* Las reglas antiguas ocultaban este bloque en iOS. Desde 3.6.239 vuelve a mostrarse. */
html.faro-ios #publicDeviceCompatibility,
body.is-ios-device #publicDeviceCompatibility{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* En iOS se mantiene el CTA fijo Solicitar demo y se oculta Probar NFC. */
@media(max-width:700px){
  html.faro-ios .public-mobile-cta-bar,
  body.is-ios-device .public-mobile-cta-bar{
    display:flex!important;
  }
  html.faro-ios .public-mobile-cta-bar #publicMobileNfcButton,
  body.is-ios-device .public-mobile-cta-bar #publicMobileNfcButton{
    display:none!important;
  }
  html.faro-ios .public-mobile-cta-bar .public-mobile-demo-button,
  body.is-ios-device .public-mobile-cta-bar .public-mobile-demo-button{
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
  }
}


/* FARO24 v3.6.240 · compatibilidad compacta para priorizar el radar */
@media(max-width:700px){
  .public-device-compatibility{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:0!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:8px!important;
    padding:8px 9px!important;
    min-height:48px!important;
    border-radius:13px!important;
    flex-wrap:nowrap!important;
  }

  .public-device-compatibility .public-device-check-icon{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }

  .public-device-compat-copy{
    min-width:0!important;
    width:auto!important;
    display:block!important;
  }

  .public-device-compatibility strong{
    display:block!important;
    font-size:10.5px!important;
    line-height:1.18!important;
    white-space:normal!important;
  }

  .public-device-compatibility small{
    display:block!important;
    margin-top:2px!important;
    font-size:8.4px!important;
    line-height:1.22!important;
    font-weight:650!important;
  }

  .public-compat-requirements{
    align-self:center!important;
    margin:0!important;
    padding:7px 9px!important;
    min-height:32px!important;
    border-radius:9px!important;
    font-size:8.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* El radar debe comenzar inmediatamente después del bloque de compatibilidad. */
  .public-hero-copy{
    gap:0!important;
  }
  .public-hero .security-console{
    margin-top:12px!important;
  }
}

/* Teléfonos angostos: aún más compacto, pero sin perder la información. */
@media(max-width:390px){
  .public-device-compatibility{
    grid-template-columns:28px minmax(0,1fr) auto!important;
    column-gap:7px!important;
    padding:7px 8px!important;
    min-height:44px!important;
  }
  .public-device-compatibility .public-device-check-icon{
    width:28px!important;
    height:28px!important;
    font-size:13px!important;
  }
  .public-device-compatibility strong{font-size:9.8px!important}
  .public-device-compatibility small{font-size:7.8px!important}
  .public-compat-requirements{
    padding:6px 7px!important;
    min-height:29px!important;
    font-size:7.8px!important;
  }
}


/* FARO24 v3.6.241 · barra CTA móvil sin sección blanca visible detrás */
@media(max-width:700px){
  .public-mobile-cta-bar{
    background:rgba(0,20,29,.96)!important;
    border:1px solid rgba(70,195,190,.18)!important;
    box-shadow:0 -10px 28px rgba(0,20,29,.34),0 8px 28px rgba(0,0,0,.24)!important;
    -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
    backdrop-filter:blur(14px) saturate(120%)!important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;
  }

  /* Crea una franja visual oscura detrás de la barra fija para que nunca
     se transparente el comienzo claro de la siguiente sección del Index. */
  .public-mobile-cta-bar::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:100%!important;
    height:12px!important;
    pointer-events:none!important;
    background:linear-gradient(to top,rgba(0,20,29,.94),rgba(0,20,29,0))!important;
  }

  /* Evitar que una sección clara quede visualmente pegada a la barra fija. */
  body.public-page{
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
}


/* FARO24 v3.6.242 · cierre visual del Index móvil */
@media(max-width:700px){
  /* La navegación sticky ya ocupa su propio espacio.
     El padding superior histórico generaba una franja blanca entre header y hero. */
  body.public-body{
    padding-top:0!important;
    background:#00141D!important;
  }

  /* El hero debe comenzar inmediatamente después del header. */
  body.public-body > main{
    margin-top:0!important;
    padding-top:0!important;
    background:#00141D!important;
  }
  .public-hero{
    margin-top:0!important;
  }

  /* El bloque de 4 vistas fue retirado: la siguiente sección sube directamente. */
  #beneficios{
    margin-top:0!important;
  }
}

/* Durante la resolución de credencial/rutas no mostrar una pantalla intermedia.
   El contenido queda desenfocado y el modal de carga ocupa el foco visual. */
body.start-round-loading .scanner-shell{
  filter:blur(5px)!important;
  transform:scale(.995)!important;
  pointer-events:none!important;
}
body.start-round-loading .start-round-overlay{
  filter:none!important;
  pointer-events:auto!important;
}
.start-round-overlay{
  background:rgba(0,20,29,.46)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}


/* FARO24 v3.6.243 · header móvil sólido y contenido sin pasar visualmente por debajo */
@media(max-width:700px){
  /* El header es fijo: reservamos nuevamente su altura en el flujo. El fondo
     sigue siendo petróleo, por lo que no reaparece la franja blanca. */
  body.public-body{
    padding-top:62px!important;
    background:#00141D!important;
  }
  body.public-body > main{
    margin-top:0!important;
    padding-top:0!important;
    background:#00141D!important;
  }

  /* En iOS/Safari el backdrop translúcido dejaba ver el hero mientras pasaba
     por debajo del header. Lo hacemos completamente opaco en móvil. */
  .public-nav,
  .public-nav.scrolled{
    background:#061B27!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 8px 22px rgba(0,12,18,.20)!important;
    border-bottom:1px solid rgba(112,210,195,.18)!important;
    overflow:hidden!important;
  }
  .public-nav::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-1px!important;
    height:2px!important;
    background:#061B27!important;
    pointer-events:none!important;
  }
}


/* FARO24 v3.6.244 · reversión de sobrecorrecciones móviles
   - recupera el aspecto anterior del header
   - recupera la barra CTA compacta, sin bloque oscuro desplazándose
   - sólo deja un pequeño respiro bajo el header para el primer bloque */
@media(max-width:700px){

  /* El header vuelve al comportamiento/estética anterior.
     NO usamos fondo sólido ni quitamos blur. */
  .public-nav,
  .public-nav.scrolled{
    background:rgba(5,24,34,.88)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    backdrop-filter:blur(16px)!important;
    box-shadow:0 8px 28px rgba(1,18,27,.18)!important;
    border-bottom:1px solid rgba(112,210,195,.16)!important;
    overflow:visible!important;
  }
  .public-nav::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-1px!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(65,171,158,.55),transparent)!important;
    pointer-events:none!important;
  }

  /* El header sticky ya ocupa espacio en el flujo:
     anulamos el padding artificial que generó la franja/flash oscuro. */
  body.public-body{
    padding-top:0!important;
    background:#00141D!important;
  }
  body.public-body > main{
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Sólo un pequeño respiro visual para que el hero no quede pegado al header. */
  .public-hero{
    margin-top:0!important;
    padding-top:10px!important;
  }

  /* Restaurar la barra fija como era antes del bloque oscuro agregado en 3.6.241. */
  .public-mobile-cta-bar{
    background:rgba(7,30,43,.94)!important;
    border:1px solid rgba(112,210,195,.18)!important;
    box-shadow:0 18px 48px rgba(0,12,18,.34)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    backdrop-filter:blur(16px)!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  .public-mobile-cta-bar::before{
    content:none!important;
    display:none!important;
  }

  /* Quitar el espacio extra que hacía que el fondo oscuro pareciera desplazarse. */
  body.public-page{
    padding-bottom:0!important;
  }

  /* Los enlaces de ancla no quedan escondidos tras el header sticky. */
  html{
    scroll-padding-top:72px!important;
  }
  .public-section,
  #beneficios,
  #contacto{
    scroll-margin-top:72px!important;
  }
}
