:root{--bg:#f4f5f7;--surface:#fff;--text:#1d2025;--muted:#6c737d;--line:#e5e8ed;--gold:#008547;--dark:#002644;--green:#16794b;--red:#b42318;--radius:22px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-weight:850}.brand img{height:42px;width:auto}.logout{color:var(--text);text-decoration:none;font-weight:700}main{max-width:1180px;margin:28px auto;padding:0 18px;min-height:calc(100vh - 150px)}footer{text-align:center;color:var(--muted);padding:24px;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 35px rgba(18,20,24,.05);margin-bottom:20px}h1,h2,h3{margin-top:0}h1{font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:-.04em}h2{letter-spacing:-.025em}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:850;color:var(--gold);margin:0 0 7px}.auth-shell{min-height:72vh;display:grid;place-items:center}.auth-card{width:min(460px,100%);text-align:center;padding:34px}.hero-logo{width:min(310px,85%);height:auto;margin-bottom:10px}.stack{display:grid;gap:14px;text-align:left}.compact{gap:10px}label{display:grid;gap:7px;font-size:.88rem;font-weight:700;color:#3b414b}input,select,textarea{width:100%;border:1px solid #d9dde4;border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#a98225;box-shadow:0 0 0 3px rgba(198,162,68,.15)}button,.button{border:0;border-radius:14px;padding:13px 17px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--dark);color:#fff}.secondary{background:#f0f2f5;color:var(--text)}.danger-button{background:#fff0ef;color:var(--red)}button:disabled{opacity:.6;cursor:wait}.security-note{color:var(--muted);font-size:.82rem;margin-top:18px}.alert{border-radius:14px;padding:12px 14px;margin:12px 0;font-weight:650}.success{background:#eaf7ef;color:#12603c}.danger{background:#fff0ef;color:var(--red)}.page-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-head{margin-bottom:22px}.actions,.inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:4px}.kpi span,.kpi small{color:var(--muted)}.kpi b{font-size:1.8rem;letter-spacing:-.04em}.good{color:var(--green)!important}.bad{color:var(--red)!important}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#f0f2f5;padding:5px 9px;font-size:.75rem;font-weight:800}.badge.pendente{background:#fff7dd;color:#805d00}.badge.aprovada{background:#eaf7ef;color:#12603c}.badge.recusada{background:#fff0ef;color:var(--red)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.team-card,.employee-row>a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.team-card{border:1px solid var(--line);padding:14px;border-radius:16px}.team-card div:nth-child(2){display:grid;flex:1}.team-card small,.employee-row small{color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;background:#f2ead2;color:#6d561a;display:grid;place-items:center;font-weight:900}.employee-list{display:grid}.employee-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.employee-row:last-child{border-bottom:0}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline.responsive{display:flex;align-items:end}.inline.responsive label{min-width:180px}.employee-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#002644,#272a30);color:#fff}.employee-hero h1{font-size:3.4rem;margin:0}.employee-hero .muted{color:#cfd2d8}.status-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 13px;font-weight:800}.gps-line{display:flex;gap:12px;align-items:center;margin-bottom:18px}.gps-line span{font-size:1.5rem}.gps-line div{display:grid}.gps-line small{color:var(--muted)}.punch-main{width:100%;font-size:1.08rem;padding:16px}.employee-kpis{grid-template-columns:repeat(3,1fr)}.timeline{display:grid}.timeline-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.timeline-row:last-child{border-bottom:0}.timeline-row div{display:grid}.timeline-row small{color:var(--muted);font-size:.75rem}.dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #e8f5ee}.empty{color:var(--muted);text-align:center;padding:18px}.request-list,.simple-list{display:grid;margin-top:16px}.request-list>div,.simple-list>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.request-list span:first-child{display:grid}.request-list small{color:var(--muted)}details summary{cursor:pointer;font-weight:800;padding:8px 0}.modal{position:fixed;inset:0;background:rgba(13,15,18,.72);z-index:100;display:grid;place-items:center;padding:18px;overflow:auto}.modal[hidden]{display:none}.modal-card{width:min(520px,100%);background:#fff;border-radius:26px;padding:28px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.32)}.success-icon{width:82px;height:82px;border-radius:50%;background:#eaf7ef;color:var(--green);display:grid;place-items:center;margin:0 auto 14px;font-size:48px;font-weight:900}.success-kind{font-size:1.2rem;font-weight:850}.success-time{font-size:3.3rem;font-weight:900;letter-spacing:-.06em}.receipt{border:1px solid var(--line);border-radius:16px;padding:5px 14px;margin:18px 0;text-align:left}.receipt div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.receipt div:last-child{border-bottom:0}.receipt span{color:var(--muted)}.receipt strong{text-align:right;overflow-wrap:anywhere}.next-box{background:#f2f4f6;border-radius:14px;padding:13px;margin-bottom:14px}.next-box small,.next-box strong{display:block}.modal-card button{width:100%;margin-top:8px}.link-button{background:transparent}.modal-open{overflow:hidden}.tabs{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.tabs a{padding:9px 13px;border-radius:999px;background:#fff;color:var(--text);text-decoration:none;font-weight:750;border:1px solid var(--line);white-space:nowrap}.tabs a.active{background:var(--dark);color:#fff}.request-cards{display:grid;gap:14px}.request-card{border:1px solid var(--line);border-radius:17px;padding:17px}.request-card .section-head div{display:grid}.table{overflow:auto;padding:0}.table table{border-collapse:collapse;width:100%;min-width:900px}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfc}.filter{padding:16px}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.days{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.topbar{height:64px;padding:0 14px}.brand img{height:34px}.brand span{display:none}main{margin:18px auto;padding:0 12px}.card{padding:18px;border-radius:18px}.page-head,.section-head{align-items:flex-start}.page-head{display:grid}.actions{width:100%}.actions .button{flex:1}.kpi-grid,.employee-kpis{grid-template-columns:1fr 1fr}.kpi b{font-size:1.45rem}.team-grid{grid-template-columns:1fr}.employee-row{align-items:flex-start;display:grid}.form-grid{grid-template-columns:1fr}.days{grid-template-columns:repeat(3,1fr)}.inline.responsive{display:grid}.inline.responsive label{min-width:0}.employee-hero h1{font-size:2.65rem}.employee-hero{align-items:flex-start}.status-chip{font-size:.75rem}.modal{align-items:end;padding:0}.modal-card{border-radius:24px 24px 0 0;max-height:94vh;overflow:auto;padding:23px 18px}.success-time{font-size:2.8rem}.receipt div{font-size:.9rem}}
.privacy-chip{background:#f3eefc;color:#5b3c88;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:850}
.privacy-note{background:#f7f4fb;border:1px solid #e7def3;color:#564866;border-radius:14px;padding:12px;font-size:.84rem;line-height:1.45}
.check-line{display:flex!important;align-items:flex-start;grid-template-columns:auto 1fr!important;gap:9px!important;font-weight:650!important}
.check-line input{width:auto!important;margin-top:3px}
.certificate-list .inline{justify-content:flex-end}.mini-link{font-size:.8rem;font-weight:800;color:var(--text)}
.sensitive-card{border-left:4px solid #8265a7}.document-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.document-summary>div{background:#f7f8fa;border-radius:13px;padding:12px;display:grid;gap:4px}.document-summary span{color:var(--muted);font-size:.78rem}.document-summary strong{font-size:.92rem}
@media(max-width:700px){.document-summary{grid-template-columns:1fr}.certificate-list>div{align-items:flex-start}.certificate-list .inline{display:grid;justify-items:end}}

.validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.validation-item{display:flex;align-items:center;gap:12px;background:#f7f8fa;border:1px solid var(--line);border-radius:16px;padding:13px}
.validation-item>span{font-size:1.45rem}.validation-item div{display:grid}.validation-item small{color:var(--muted)}
.privacy-caption{font-size:.78rem;color:var(--muted);text-align:center;margin:12px 0 0;line-height:1.45}
.camera-card{width:min(600px,100%)}.camera-stage{position:relative;aspect-ratio:3/4;background:#101216;border-radius:20px;overflow:hidden;margin:14px 0}
.camera-stage video,.camera-stage img{width:100%;height:100%;object-fit:cover;display:block}.camera-stage video{transform:scaleX(-1)}
.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;color:#d4d7dc;font-size:3rem}.camera-placeholder span{font-size:.9rem}
.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.camera-actions button{width:100%}.camera-status{min-height:24px;text-align:center}
.icon-button{width:38px;height:38px;padding:0;border-radius:50%;background:#f0f2f5;color:#222;font-size:1.5rem}
.success-photo{width:116px;height:116px;object-fit:cover;border-radius:50%;margin:0 auto 12px;border:4px solid #eaf7ef;display:block}
.mark-actions{display:flex;align-items:center;gap:10px}.photo-link{text-decoration:none;background:#f0f2f5;border-radius:999px;padding:5px 8px}
.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.photo-card{padding:0;overflow:hidden}.photo-card>a{display:block;aspect-ratio:4/5;background:#111}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-meta{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 16px 0}.photo-meta h3{margin-bottom:0}.photo-card .document-summary{padding:0 16px 16px}
@media(max-width:900px){.photo-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.validation-grid{grid-template-columns:1fr}.camera-actions{grid-template-columns:1fr}.photo-gallery{grid-template-columns:1fr}.camera-card{padding-bottom:max(20px,env(safe-area-inset-bottom))}}

[hidden]{display:none!important}
.alert.info{background:#eef4ff;color:#264a7d;border:1px solid #d9e5f7}
.completed-day{margin:14px 0 0;text-align:center}
.camera-stage{isolation:isolate}
.camera-stage video,.camera-stage img{position:absolute;inset:0}
.camera-stage img{z-index:2}
.camera-stage video{z-index:1}
.camera-placeholder{z-index:3}
.preview-badge{position:absolute;z-index:4;left:12px;top:12px;background:rgba(17,18,20,.82);color:#fff;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:850;letter-spacing:.03em}

.hero-logo-box{width:100%;min-height:190px;background:linear-gradient(145deg,#d9dadd,#bfc2c7);border:1px solid #aeb2b8;border-radius:28px;padding:30px 22px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 45px rgba(45,49,55,.16),inset 0 1px 0 rgba(255,255,255,.65);overflow:hidden}
.hero-logo-box .hero-logo{width:min(390px,100%)!important;max-height:150px;height:auto!important;object-fit:contain;margin:0!important;display:block}.hero-logo-original{filter:none!important}.auth-card{width:min(520px,100%)!important}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;background:#f1f3f5;border-radius:6px;padding:3px 5px}
@media(max-width:600px){.hero-logo-box{min-height:170px;padding:24px 16px;border-radius:24px}.hero-logo-box .hero-logo{width:min(340px,100%)!important;max-height:135px}}

.readonly-field{background:#f1f3f5!important;color:#5e6670!important;cursor:not-allowed}
label small{color:var(--muted);font-weight:500;line-height:1.35}
.security-card{border-left:4px solid var(--gold)}
.pin-change-form input{letter-spacing:.18em;font-weight:800}

/* DASHBOARD_ADMIN_PREMIUM_V35 */
.admin-shell{display:grid;gap:20px}
.admin-menu-wrap{position:sticky;top:72px;z-index:19;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(18,20,24,.04);backdrop-filter:blur(12px)}
.admin-main-menu{max-width:1180px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:5px}
.admin-main-menu>a,.admin-more-menu>summary{min-height:42px;padding:10px 12px;border-radius:12px;color:#4f5661;text-decoration:none;font-size:.82rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease}
.admin-main-menu>a:hover,.admin-more-menu>summary:hover{background:#f3f4f6;color:var(--text)}
.admin-main-menu>a.active,.admin-more-menu>summary.active{background:var(--dark);color:#fff;box-shadow:0 5px 14px rgba(17,18,20,.16)}
.admin-main-menu>a span{font-size:1.05rem;color:var(--gold)}
.admin-main-menu>a.active span{color:#e6c66d}
.admin-menu-toggle{display:none;width:100%;min-height:48px;padding:10px 16px;border-radius:0;background:#fff;color:var(--text);justify-content:flex-start}
.admin-menu-toggle-icon{width:24px;font-size:1.25rem;line-height:1}
.admin-more-menu{position:relative;margin-left:auto}
.admin-more-menu>summary{list-style:none}
.admin-more-menu>summary::-webkit-details-marker{display:none}
.admin-more-panel{position:absolute;right:0;top:calc(100% + 7px);width:235px;padding:8px;display:grid;gap:3px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 45px rgba(18,20,24,.16)}
.admin-more-panel a{padding:11px 12px;border-radius:10px;color:var(--text);text-decoration:none;font-size:.84rem;font-weight:750}
.admin-more-panel a:hover,.admin-more-panel a.active{background:#f2f4f6}
#management{scroll-margin-top:150px}
@media(max-width:980px){.admin-main-menu{overflow-x:auto}.admin-main-menu>a{flex:0 0 auto}.admin-more-menu{flex:0 0 auto}}
@media(max-width:700px){.admin-menu-wrap{top:64px}.admin-menu-toggle{display:flex}.admin-main-menu{display:none;padding:8px 12px 14px;grid-template-columns:1fr 1fr;gap:7px;max-height:calc(100vh - 112px);overflow:auto}.admin-main-menu.is-open{display:grid}.admin-main-menu>a,.admin-more-menu>summary{justify-content:flex-start;background:#f6f7f8;padding:12px}.admin-main-menu>a.active,.admin-more-menu>summary.active{background:var(--dark)}.admin-more-menu{margin:0;grid-column:1/-1}.admin-more-panel{position:static;width:auto;margin-top:6px;border:0;box-shadow:none;background:#f6f7f8}.admin-more-panel a{background:#fff;border:1px solid var(--line)}#management{scroll-margin-top:125px}}
.dashboard-hero{background:linear-gradient(135deg,#0d0e10,#25282e);color:#fff;border-radius:28px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 20px 55px rgba(15,17,20,.18)}
.dashboard-hero h1{margin:4px 0 8px;color:#fff}.dashboard-hero p{margin:0;color:#cfd2d8}.hero-eyebrow{color:#e0bd59!important}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-button{background:#fff;color:#111}.hero-button.ghost{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.18)}
.admin-quick-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.admin-quick-nav a{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;text-decoration:none;color:var(--text);display:grid;gap:3px;transition:.2s ease}.admin-quick-nav a:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(18,20,24,.08)}.admin-quick-nav span{font-size:1.25rem;color:var(--gold)}.admin-quick-nav b{font-size:.9rem}.admin-quick-nav small{font-size:.72rem;color:var(--muted)}
.premium-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.premium-kpi{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;display:grid;gap:5px;min-width:0}.premium-kpi.kpi-dark{background:#16181c;color:#fff;border-color:#16181c}.premium-kpi span{font-size:.8rem;color:var(--muted)}.premium-kpi.kpi-dark span,.premium-kpi.kpi-dark small{color:#cbd0d7}.premium-kpi b{font-size:2rem;letter-spacing:-.05em}.premium-kpi small{font-size:.7rem;color:var(--muted)}.kpi-icon{width:32px;height:32px;border-radius:10px;background:#f0f2f5;display:grid;place-items:center;font-weight:900}.kpi-icon.working{background:#e9f8ef;color:#16794b}.kpi-icon.interval{background:#fff6df;color:#8a6500}.kpi-icon.completed{background:#eaf7ef;color:#16794b}.kpi-icon.absent{background:#ffefed;color:#b42318}.kpi-icon.warning{background:#fff4e5;color:#9a5200}
.dashboard-grid{display:grid;gap:20px}.main-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr)}.analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.dashboard-side{display:grid;gap:20px;align-content:start}.dashboard-card{margin:0}.team-live-card{min-width:0}.team-tools{display:flex;gap:8px}.team-tools input{width:190px}.team-tools select{width:170px}
.premium-team-list{display:grid;margin-top:12px}.premium-team-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(180px,1fr) 95px 130px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.premium-team-row:last-child{border-bottom:0}.employee-main{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;min-width:0}.employee-main>div:last-child{display:grid;min-width:0}.employee-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-main small{color:var(--muted);font-size:.72rem}.avatar.large{width:44px;height:44px}.avatar.small{width:34px;height:34px}.employee-marks{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.employee-marks span{background:#f0f2f5;border-radius:8px;padding:6px 3px;text-align:center;font-size:.72rem;font-weight:800}.employee-marks .empty-mark{color:#b9bec5;background:#fafafa}.employee-hours{display:grid;text-align:right}.employee-hours small{color:var(--muted);font-size:.68rem}.status-pill{display:inline-flex;justify-content:center;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:850;white-space:nowrap}.status-pill.working{background:#e9f8ef;color:#16794b}.status-pill.interval{background:#fff6df;color:#806000}.status-pill.completed{background:#eaf7ef;color:#12603c}.status-pill.absent{background:#ffefed;color:#b42318}.status-pill.off{background:#f0f2f5;color:#656c75}
.alert-center{display:grid;gap:9px}.operation-alert{display:grid;grid-template-columns:9px 1fr;gap:10px;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px}.operation-alert>div{display:grid}.operation-alert small{color:var(--muted);font-size:.75rem;line-height:1.35}.operation-alert>strong{grid-column:2;font-size:.72rem}.alert-dot{width:9px;height:9px;border-radius:50%;margin-top:4px}.operation-alert.warning .alert-dot{background:#d59b00}.operation-alert.danger .alert-dot{background:#d54232}.operation-alert.info .alert-dot{background:#3c76c3}.operation-alert.success .alert-dot{background:#1b8b57}
.month-total{display:grid;margin:14px 0 11px}.month-total b{font-size:2.25rem;letter-spacing:-.05em}.month-total span{color:var(--muted);font-size:.78rem}.progress-track{height:10px;background:#eef0f2;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#a77f21,#d9b95b);border-radius:999px}.month-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.month-mini-grid div{background:#f6f7f8;border-radius:12px;padding:10px;display:grid}.month-mini-grid b{font-size:1rem}.month-mini-grid small{font-size:.66rem;color:var(--muted)}.text-action{font-size:.78rem;font-weight:800;color:var(--text)}
.chart-legend{display:flex;align-items:center;gap:7px;font-size:.7rem;color:var(--muted)}.chart-legend span{width:10px;height:10px;border-radius:3px}.chart-legend .worked{background:#1c1e22}.chart-legend .expected{background:#d9c17e}.weekly-chart{height:270px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end;padding-top:20px}.chart-column{height:100%;display:grid;grid-template-rows:20px 1fr auto auto;gap:5px;text-align:center;min-width:0}.chart-values small{font-size:.62rem;color:var(--muted)}.bar-stage{position:relative;height:100%;border-bottom:1px solid var(--line)}.bar-stage span{position:absolute;bottom:0;border-radius:7px 7px 2px 2px}.expected-bar{width:70%;left:15%;background:#e3d39f;opacity:.85}.worked-bar{width:38%;left:31%;background:#1c1e22;z-index:2}.chart-column>b{font-size:.72rem}.chart-column>small{font-size:.65rem;color:var(--muted)}
.recent-feed{display:grid}.recent-item{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.recent-item:last-child{border-bottom:0}.recent-item>div:nth-child(2){display:grid}.recent-item small{font-size:.72rem;color:var(--muted)}.recent-proof{font-size:.85rem}
.management-card{overflow:hidden}.management-panel{background:#f8f9fa;border:1px solid var(--line);border-radius:18px;padding:18px}.employee-management{margin-top:18px}.report-builder{display:flex;justify-content:space-between;align-items:end;gap:20px}.report-builder h2{margin-bottom:5px}
@media(max-width:1100px){.admin-quick-nav{grid-template-columns:repeat(3,1fr)}.premium-kpi-grid{grid-template-columns:repeat(3,1fr)}.main-grid,.analytics-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.premium-team-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 80px 120px}}
@media(max-width:760px){.dashboard-hero{display:grid;padding:22px}.hero-actions{width:100%}.hero-actions .button{flex:1}.admin-quick-nav{grid-template-columns:repeat(2,1fr)}.premium-kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-side{grid-template-columns:1fr}.section-head:has(.team-tools){display:grid}.team-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.team-tools input,.team-tools select{width:100%}.premium-team-row{grid-template-columns:1fr auto;gap:9px}.employee-marks{grid-column:1/-1;order:3}.employee-hours{grid-column:2;grid-row:1;text-align:right}.status-pill{grid-column:1/-1;width:max-content}.weekly-chart{gap:6px;height:230px}.month-mini-grid{grid-template-columns:1fr}.report-builder{display:grid}.report-builder form{width:100%}}
@media(max-width:480px){.premium-kpi-grid{grid-template-columns:1fr 1fr}.premium-kpi{padding:14px}.premium-kpi b{font-size:1.7rem}.admin-quick-nav a{padding:12px}.weekly-chart{overflow-x:auto;grid-template-columns:repeat(7,48px);justify-content:start}.team-tools{grid-template-columns:1fr}}

/* ACESSIBILIDADE_SAAS_NEXT */
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;background:#111;color:#fff;padding:12px 16px;border-radius:10px;transform:translateY(-160%);transition:transform .15s}
.skip-link:focus{transform:translateY(0)}
.accessibility-tools{position:fixed;right:12px;bottom:12px;z-index:90;display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.accessibility-tools button{font-size:.72rem;padding:8px 10px}.accessibility-tools button[aria-pressed="true"]{background:#111;color:#fff}
html.a11y-font{font-size:118%}
html.a11y-contrast{--bg:#000;--surface:#000;--text:#fff;--muted:#fff;--line:#fff;--gold:#ffeb3b;--dark:#fff;--green:#7cff9f;--red:#ff8b82}
html.a11y-contrast body,html.a11y-contrast .topbar,html.a11y-contrast input,html.a11y-contrast select,html.a11y-contrast textarea{background:#000;color:#fff}
html.a11y-contrast .primary{background:#ffeb3b;color:#000}.a11y-contrast .secondary{background:#fff;color:#000}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:680px){.accessibility-tools{left:8px;right:8px;bottom:78px;justify-content:center}.accessibility-tools button{flex:1;padding:8px 5px;font-size:.65rem}}

/* ALERTA_PENDENCIA_COLABORADOR_V36 */
.pending-punch-alert{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;border-radius:18px;padding:14px;border:1px solid #e5c66d;background:linear-gradient(135deg,#fffaf0,#fff4d7);box-shadow:0 12px 28px rgba(117,83,0,.09)}
.pending-punch-alert[hidden]{display:none!important}
.pending-punch-alert.danger{border-color:#efb7b0;background:linear-gradient(135deg,#fff6f5,#ffebe8);box-shadow:0 16px 38px rgba(180,35,24,.09)}
.pending-alert-icon{width:44px;height:44px;border-radius:13px;background:#d59b00;color:#fff;display:grid;place-items:center;font-size:1.3rem;font-weight:900;box-shadow:0 7px 15px rgba(213,155,0,.22)}
.pending-punch-alert.danger .pending-alert-icon{background:#c7372a;box-shadow:0 8px 18px rgba(199,55,42,.22)}
.pending-alert-content{display:contents}
.pending-alert-content h2{margin:2px 0 4px;font-size:1.05rem;line-height:1.2;min-height:40px;display:flex;align-items:center}
.pending-alert-content p{grid-column:1/-1;margin:0;color:#5d5140;line-height:1.35;font-size:.88rem}
.pending-punch-alert.danger .pending-alert-content p{color:#6c403b}
.pending-alert-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.pending-alert-actions button{margin:0}
@media(max-width:560px){.pending-punch-alert{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px}.pending-alert-icon{width:40px;height:40px}.pending-alert-content h2{min-height:38px;font-size:.98rem}.pending-alert-actions{display:grid}.pending-alert-actions button{width:100%}}

/* PENDENCIAS_DIA_ANTERIOR_V37 */
.previous-pending-list{display:grid;gap:8px;margin-top:10px;grid-column:1/-1}
.previous-pending-list[hidden]{display:none!important}
.previous-pending-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:10px 11px;background:rgba(255,255,255,.72);border:1px solid rgba(169,73,60,.18);border-radius:13px}
.previous-pending-item>div{display:grid;gap:2px}
.previous-pending-item b{font-size:.88rem}
.previous-pending-item small{color:#74534f;font-size:.73rem}
@media(max-width:560px){.previous-pending-item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.previous-pending-item .status-pill{grid-column:2;width:auto;font-size:.62rem;padding:5px 7px}}

/* CONTROLE_NOTIFICACOES_V38 */
.employee-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.notification-toggle-form{margin:0}
.notification-switch{display:grid;grid-template-columns:42px auto;align-items:center;gap:10px;cursor:pointer;min-width:165px}
.notification-switch input{position:absolute;opacity:0;pointer-events:none}
.notification-slider{width:42px;height:24px;border-radius:999px;background:#c9cdd2;position:relative;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.notification-slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s ease}
.notification-switch input:checked + .notification-slider{background:#1f8f59}
.notification-switch input:checked + .notification-slider:after{transform:translateX(18px)}
.notification-label{display:grid;line-height:1.15}
.notification-label b{font-size:.78rem}
.notification-label small{font-size:.66rem;color:var(--muted)}
.notification-preference-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.notification-preference-summary h3{margin:2px 0 5px}
.notification-preference-summary p{margin:0}
@media(max-width:760px){.employee-admin-actions{width:100%;justify-content:space-between}.notification-preference-summary{display:grid}.notification-preference-summary form,.notification-preference-summary button{width:100%}}

/* EXCLUSAO_FOLHA_PERIODO_V39 */
.payroll-exclusion-box{background:#f7f8f9;border:1px solid var(--line);border-radius:18px;padding:17px;display:grid;gap:13px}
.payroll-exclusion-box h3{margin:2px 0 4px}.payroll-employee-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}
.payroll-employee-option{display:grid;grid-template-columns:24px 38px 1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 12px;cursor:pointer;transition:.18s ease}
.payroll-employee-option:hover{border-color:#c9a94b;box-shadow:0 7px 18px rgba(35,37,40,.06)}
.payroll-employee-option input{position:absolute;opacity:0;pointer-events:none}.payroll-check{width:22px;height:22px;border:2px solid #bdc2c8;border-radius:7px;display:grid;place-items:center;background:#fff}
.payroll-employee-option input:checked + .payroll-check{background:#b42318;border-color:#b42318}.payroll-employee-option input:checked + .payroll-check:after{content:"✓";color:#fff;font-size:.82rem;font-weight:900}
.payroll-employee-option:has(input:checked){border-color:#e3aaa4;background:#fff7f6}.payroll-employee-name{display:grid}.payroll-employee-name small{font-size:.68rem;color:var(--muted)}
.payroll-exclusion-label{font-size:.7rem;font-weight:850;color:#b42318}.close-warning{background:#fff4e5;border:1px solid #edc887;border-radius:13px;padding:12px;color:#70450d;font-size:.8rem;line-height:1.45}
.closed-periods-section{margin-top:20px}.closed-periods-list{display:grid;gap:10px}.closed-period-item{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.6fr) auto;align-items:center;gap:18px;border:1px solid var(--line);border-radius:17px;padding:15px}
.closed-period-main{display:flex;align-items:center;gap:12px}.closed-period-icon{width:40px;height:40px;border-radius:13px;background:#eaf7ef;color:#16794b;display:grid;place-items:center;font-weight:900}
.closed-period-main h3{margin:0 0 3px;font-size:1rem}.closed-period-main p{margin:0;color:var(--muted);font-size:.8rem}.closed-period-main small{color:var(--muted);font-size:.68rem}
.closed-period-payroll{display:grid;gap:7px;justify-items:start}.excluded-names{display:flex;gap:5px;flex-wrap:wrap}.excluded-names span{background:#ffefed;color:#9f2d22;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:750}
@media(max-width:850px){.closed-period-item{grid-template-columns:1fr}.closed-period-item>.button{width:100%}.payroll-employee-option{grid-template-columns:24px 38px 1fr}.payroll-exclusion-label{grid-column:3}}

/* VALIDACAO_ESPELHO_V40 */
.timesheet-validation-card{border-left:4px solid var(--gold)}
.timesheet-list{display:grid;gap:10px}
.timesheet-item{border:1px solid var(--line);border-radius:16px;background:#fafbfc;overflow:hidden}
.timesheet-item>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;cursor:pointer;list-style:none}
.timesheet-item>summary::-webkit-details-marker{display:none}
.timesheet-item>summary>div{display:grid;gap:3px}
.timesheet-item>summary small{color:var(--muted);font-size:.72rem}
.timesheet-body{display:grid;gap:14px;padding:0 15px 15px;border-top:1px solid var(--line)}
.compact-table{margin-top:14px}
.compact-table table{font-size:.76rem}
.mirror-integrity{display:grid;gap:5px;background:#f0f2f5;border-radius:12px;padding:11px}
.mirror-integrity code{word-break:break-all}
.timesheet-ack-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.timesheet-ack-result{display:grid;gap:4px;background:#eef8f2;border:1px solid #b9dfc9;border-radius:13px;padding:13px}
.timesheet-ack-result small{color:var(--muted)}
.timesheet-ack-result p{margin:5px 0 0}
@media(max-width:700px){.timesheet-item>summary{align-items:flex-start;flex-direction:column}.compact-table{overflow:auto}}

/* TEXTO_DECLARACAO_ESPELHO_V401 */
.timesheet-declaration{background:#fffaf0;border:1px solid #dfc47a;border-radius:14px;padding:14px 15px}
.timesheet-declaration p{margin:0;line-height:1.55}
.timesheet-declaration .eyebrow{margin-bottom:6px}
.timesheet-accepted-text{margin-top:8px!important;padding-top:8px;border-top:1px solid #c9e3d3;line-height:1.5}

/* FERIAS_COLABORADOR_V41 */
.vacation-admin-card{margin-top:20px}
.vacation-form{background:#faf8f0;border:1px solid #e1d4a3;border-radius:15px;padding:15px}
.vacation-period-list{display:grid;gap:9px;margin-top:15px}
.vacation-period-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px}
.vacation-period-icon{width:40px;height:40px;border-radius:13px;background:#fff5cc;color:#8b6500;display:grid;place-items:center;font-size:1.15rem}
.vacation-period-item>div:nth-child(2){display:grid;gap:3px}
.vacation-period-item small{color:var(--muted);font-size:.7rem}
.danger-text{color:#a62c24!important}
.vacation-current-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;background:#fff8dc;border:1px solid #e4c962;border-radius:17px;padding:16px;margin-bottom:14px}
.vacation-current-banner h3{margin:2px 0 5px}
.vacation-current-banner p{margin:0;line-height:1.48}
@media(max-width:680px){.vacation-period-item{grid-template-columns:42px 1fr}.vacation-period-item form{grid-column:1/-1}.vacation-period-item button{width:100%}.vacation-current-banner{flex-direction:column}}

/* BLOQUEIO_PERIODO_FUTURO_V421 */
.close-period-date-rule{
  background:#eef6ff;
  border:1px solid #b8d5f2;
  border-radius:13px;
  padding:11px 12px;
  margin:12px 0;
  color:#24496b;
  font-size:.8rem;
  line-height:1.45;
}

/* PIN_PADRAO_E_VISIBILIDADE_V43 */
.password-field{
  position:relative;
  display:block;
  width:100%;
}
.password-field input{
  width:100%;
  padding-right:46px!important;
}
.password-visibility-button{
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%);
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  padding:0;
}
.password-visibility-button:hover{
  background:var(--surface-soft, #f1f2f4);
  color:var(--text);
}
.password-visibility-button:focus-visible{
  outline:2px solid var(--gold, #008547);
  outline-offset:1px;
}
.password-visibility-button svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.password-visibility-button .eye-closed{display:none}
.password-visibility-button.is-visible .eye-open{display:none}
.password-visibility-button.is-visible .eye-closed{display:block}
.password-field input[readonly]{
  background:var(--surface-soft, #f6f6f6);
  font-weight:700;
  letter-spacing:.12em;
}

/* MODO_DEMONSTRACAO_COLABORADOR_V44 */
.demo-mode-banner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  background:#fff7d6;
  border:1px solid #dfc76b;
  border-radius:18px;
  padding:16px;
  margin-bottom:16px;
}
.demo-mode-banner h2{margin:2px 0 5px}
.demo-mode-banner p{margin:0}
.demo-bottom-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin:18px 0 8px;
}
@media(max-width:680px){
  .demo-mode-banner{align-items:stretch;flex-direction:column}
  .demo-mode-banner .button{width:100%;text-align:center}
  .demo-bottom-actions>*{width:100%}
}

/* MENU_REAL_DO_COLABORADOR_V45 */
.employee-app-menu{
  position:sticky;
  top:8px;
  z-index:35;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:17px;
  padding:8px;
  margin:0 0 15px;
  box-shadow:0 8px 24px rgba(17,18,20,.08);
  backdrop-filter:blur(12px);
}
.employee-menu-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-height:54px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  padding:6px 4px;
}
.employee-menu-item span{
  font-size:1rem;
  line-height:1;
}
.employee-menu-item b{
  font-size:.68rem;
  line-height:1.1;
}
.employee-menu-item:hover{
  background:var(--surface-soft,#f4f5f6);
  color:var(--text);
}
.employee-menu-item.active{
  background:#002644;
  color:#fff;
}
.employee-view-hidden{
  display:none!important;
}
@media(max-width:680px){
  .employee-app-menu{
    position:sticky;
    top:5px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    padding:6px;
  }
  .employee-menu-item{
    min-height:48px;
  }
}

/* ESPELHO_PARCIAL_V46 */
.partial-timesheet-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.partial-timesheet-summary>div{
  background:var(--surface-soft,#f5f6f7);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
}
.partial-timesheet-summary span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  margin-bottom:4px;
}
.partial-timesheet-summary b{font-size:1.05rem}
.partial-timesheet-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.partial-timesheet-table table{
  min-width:980px;
}
.partial-timesheet-table th,
.partial-timesheet-table td{
  white-space:nowrap;
  vertical-align:middle;
}
.additional-marks{
  display:block;
  color:var(--muted);
  margin-top:3px;
}
@media(max-width:680px){
  .partial-timesheet-summary{
    grid-template-columns:1fr;
  }
}

/* STATUS_SIMPLIFICADO_AJUSTES_V48 */
.badge.finalizada{
  background:#e8eef2;
  color:#34424c;
}


/* Banco de horas V4.12 */
.hour-bank-payment-card { margin-top: 1rem; }
.hour-bank-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.compact-form { gap: .5rem; align-items: center; }
.compact-form input { min-width: 190px; }
button.danger, .danger.button {
  background: #8f2727;
  color: #fff;
  border: 1px solid #8f2727;
}
@media (max-width: 720px) {
  .hour-bank-actions { flex-direction: column; align-items: stretch; }
  .compact-form { display: grid; }
  .compact-form input { min-width: 0; width: 100%; }
}


/* Ocorrências administrativas V4.13 */
.occurrence-criteria {
  padding: .9rem 1rem;
  border-radius: 12px;
  background: #f5f0df;
  border: 1px solid #dfd1a1;
  color: #4f441f;
}
.occurrence-rules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
  gap: .85rem;
}
.occurrence-rule {
  padding: 1rem;
  border: 1px solid #e1e3e8;
  border-radius: 14px;
  background: #fff;
}
.occurrence-rule h3 { margin: 0 0 .45rem; font-size: 1rem; }
.occurrence-rule p { margin: 0; color: #5d6470; line-height: 1.45; }


/* Banco de horas na visão do colaborador V4.13.1 */
.employee-hour-bank-panel {
  margin: 1rem 0 1.15rem;
  padding: 1rem;
  border: 1px solid #ded7c2;
  border-radius: 16px;
  background: linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
}
.employee-hour-bank-panel h3 { margin: .12rem 0 .25rem; }
.employee-hour-bank-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .85rem;
}
.employee-hour-bank-summary > div {
  padding: .85rem;
  border: 1px solid #e3e5e9;
  border-radius: 12px;
  background: #f8f9fb;
}
.employee-hour-bank-summary span {
  display: block;
  margin-bottom: .25rem;
  color: #69707d;
  font-size: .78rem;
}
.employee-hour-bank-summary b { font-size: 1.15rem; }
.employee-hour-bank-history {
  margin-top: .9rem;
  border-top: 1px solid #e4e0d4;
  padding-top: .8rem;
}
.employee-hour-bank-history summary {
  cursor: pointer;
  font-weight: 700;
}
.employee-hour-bank-history .table { margin-top: .8rem; }

@media (max-width: 720px) {
  .employee-hour-bank-summary { grid-template-columns: 1fr; }
}


/* Decisão de banco de horas no fechamento V4.14 */
.hour-bank-close-box {
  border-color: #d8c782;
  background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%);
}
.close-hour-bank-rule {
  margin-bottom: .9rem;
  padding: .85rem 1rem;
  border: 1px solid #e3d49a;
  border-radius: 12px;
  background: #fff8df;
  color: #554a22;
  line-height: 1.45;
}


/* Manifestação do espelho por caixas de seleção V4.14.1 */
.timesheet-decision-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
.timesheet-decision-fieldset legend {
  margin-bottom: .55rem;
  font-weight: 700;
}
.timesheet-decision-option {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: .65rem;
  padding: .85rem;
  border: 1px solid #dfe2e7;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
.timesheet-decision-option:has(input:checked) {
  border-color: #008547;
  background: #fffaf0;
}
.timesheet-decision-option input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: .1rem;
  accent-color: #002644;
}
.timesheet-decision-option span {
  display: grid;
  gap: .2rem;
}
.timesheet-decision-option small {
  color: #68707d;
  line-height: 1.35;
}
.disabled-field {
  opacity: .7;
}
.disabled-field textarea,
textarea:disabled {
  background: #eceef1 !important;
  color: #8a9099 !important;
  cursor: not-allowed;
  border-color: #d5d9df !important;
}

.bulk-extra-hours-card{border:1px solid rgba(198,162,68,.45);}
.bulk-pay-all-check{padding:14px;border:1px solid #d6d8dc;border-radius:12px;background:#fafafa;align-items:flex-start;}
.bulk-pay-all-check input{margin-top:4px;transform:scale(1.2);}
.bulk-pay-all-check span{display:grid;gap:3px;}
.bulk-pay-all-check small{color:#6b7280;font-weight:400;}

.bulk-destination-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bulk-destination-check{border:1px solid #d6d9df;border-radius:14px;padding:14px;background:#fff}.batch-extra-hours-table select{min-width:190px}.batch-extra-hours-table input[type=checkbox]{width:18px;height:18px}@media(max-width:760px){.bulk-destination-options{grid-template-columns:1fr}}

/* V4.15.5 - visão do colaborador para horas extras */
.employee-extra-summary { grid-template-columns: repeat(5, minmax(135px, 1fr)); }
.employee-extra-history { margin-top: 18px; }
.employee-extra-history > summary { cursor: pointer; font-weight: 700; }
.employee-extra-table-wrap { margin-top: 12px; overflow-x: auto; }
.employee-extra-table td small { display:block; margin-top:4px; color:var(--muted); font-size:.78rem; }
.extra-status { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:.76rem; font-weight:800; white-space:nowrap; background:#eef1f5; color:#334155; }
.extra-status-pendente { background:#fff7d6; color:#7a5800; }
.extra-status-enviado_folha { background:#e8f1ff; color:#174f9d; }
.extra-status-pago { background:#e6f7ed; color:#17663a; }
.extra-status-creditado_banco { background:#e9f7f4; color:#116354; }
.extra-status-compensacao_programada { background:#f3edff; color:#5d2e9b; }
.extra-status-compensado { background:#e9f7ed; color:#17663a; }
@media (max-width: 900px) { .employee-extra-summary { grid-template-columns: repeat(2, minmax(130px,1fr)); } }
@media (max-width: 560px) { .employee-extra-summary { grid-template-columns: 1fr; } }


/* V4.15.7 - visualização administrativa do aplicativo do colaborador */
.admin-preview-banner{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;margin:0 0 14px;border:1px solid #d9a928;border-radius:14px;background:#fff9e8;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.admin-preview-banner div{display:grid;gap:3px}.admin-preview-banner small{color:#5d6470}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.admin-preview-mode button:disabled{opacity:.62;cursor:not-allowed}
@media(max-width:760px){.admin-preview-banner{position:relative;align-items:flex-start;flex-direction:column}.admin-preview-banner .button-link{width:100%}}


/* V4.15.8 - Escala e comunicados */
.employee-scale-card{border:1px solid #ead7a5;background:linear-gradient(180deg,#fffefa,#fff)}
.scale-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:12px 18px;border-radius:16px;background:#111;color:#fff;font-weight:900;font-size:1.05rem}
.employee-schedule-notices{display:grid;gap:10px;margin-top:14px}
.employee-schedule-notice{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center;padding:13px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.employee-schedule-notice-date{width:62px;height:62px;border-radius:14px;background:#fff7df;border:1px solid #e7c66d;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#171717}
.employee-schedule-notice-date b{font-size:1.35rem;line-height:1}.employee-schedule-notice-date span{font-size:.68rem;font-weight:900;color:#9b6b00;margin-top:4px}
.employee-schedule-notice p{margin:4px 0 0;color:#4b5563;line-height:1.4}.schedule-empty{padding:16px;border:1px dashed #d1d5db;border-radius:14px;display:flex;flex-direction:column;gap:4px}.schedule-empty span{color:#6b7280}
.schedule-notice-fields{display:grid;gap:10px}.schedule-notice-field{align-items:end}.schedule-notice-field .remove-schedule-notice{align-self:end;margin-bottom:0}
.schedule-notice-list{display:grid;gap:10px;margin-top:18px}.schedule-notice-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:14px}.schedule-notice-item small{display:block;margin-top:4px;color:#6b7280}.schedule-notice-date{width:52px;height:52px;border-radius:13px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
@media(max-width:720px){.schedule-notice-item{grid-template-columns:52px 1fr}.schedule-notice-item form{grid-column:1/-1}.employee-schedule-notice{grid-template-columns:54px 1fr}.employee-schedule-notice-date{width:54px;height:54px}}

/* V4.16.2 - resumo mensal simplificado */
.monthly-summary-card{overflow:hidden}.monthly-summary-head{align-items:flex-start}.monthly-period{margin:.55rem 0 0;font-size:.82rem;font-weight:700;color:#596170}.monthly-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.monthly-summary-box{display:flex;flex-direction:column;min-height:220px;padding:22px;border:1px solid #dfe4ea;border-radius:18px;background:#fff}.monthly-result-box{border-color:#b9ddc4;background:linear-gradient(145deg,#f7fff9,#fff)}.monthly-extra-box{border-color:#efc77a;background:linear-gradient(145deg,#fffaf0,#fff)}.monthly-bank-box{border-color:#9fc4f8;background:linear-gradient(145deg,#f5f9ff,#fff)}.monthly-summary-kicker{font-size:.92rem;font-weight:900;color:#20242a}.monthly-summary-value{display:block;margin:12px 0 8px;font-size:2.75rem;line-height:1;font-weight:900}.monthly-extra-box .monthly-summary-value{color:#ce7200}.monthly-bank-box .monthly-summary-value{color:#1268b3}.monthly-summary-box p{margin:0;color:#5d6673;line-height:1.45}.monthly-summary-detail,.monthly-summary-note{margin-top:auto;padding-top:18px;font-size:.86rem;color:#5d6673}.monthly-summary-detail{display:flex;gap:18px;flex-wrap:wrap}.monthly-summary-detail span+span{padding-left:18px;border-left:1px solid #cfd5dc}.monthly-help-box{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:18px 20px;margin:4px 0 18px;border:1px solid #e3c98f;border-radius:16px;background:#fffcf5}.monthly-help-box>div{display:grid;gap:8px}.monthly-help-box span{display:flex;align-items:flex-start;gap:8px;color:#4f5865;font-size:.86rem}.help-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:5px}.help-dot.result{background:#4aa35b}.help-dot.extra{background:#e88900}.help-dot.bank{background:#1976c9}.monthly-details{margin-top:12px;padding:14px 16px;border:1px solid #e0e4e9;border-radius:14px;background:#fff}.monthly-details>summary{cursor:pointer;font-weight:900}.compact-extra-summary{margin-top:14px}.monthly-detail-note{margin-top:12px}.partial-timesheet-table{margin-top:18px}@media(max-width:900px){.monthly-summary-grid{grid-template-columns:1fr}.monthly-summary-box{min-height:0}.monthly-help-box{grid-template-columns:1fr}.monthly-summary-value{font-size:2.25rem}}

/* V4.16.3 - resumo mensal em dois quadros */
.monthly-summary-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch}
.monthly-extra-box,.monthly-bank-box{min-height:240px}
.monthly-extra-box .monthly-summary-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.monthly-extra-box .monthly-summary-detail span{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #efd49d;border-radius:12px;background:rgba(255,255,255,.72)}
.monthly-extra-box .monthly-summary-detail span+span{padding-left:16px;border-left:1px solid #efd49d}
.monthly-extra-box .monthly-summary-detail b{flex:0 0 auto;font-size:1rem;color:#9e5900}
@media(max-width:900px){.monthly-summary-grid{grid-template-columns:1fr}.monthly-extra-box .monthly-summary-detail{grid-template-columns:1fr}}

/* Cadastro biométrico facial */
.face-enrollment-card .consent-check{display:flex;align-items:flex-start;gap:10px}
.face-enrollment-card .consent-check input{width:auto;margin-top:3px;flex:0 0 auto}
.face-enrollment-card form+form{margin-top:12px}
.face-existing-divider{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.face-existing-divider:before,.face-existing-divider:after{content:"";height:1px;background:var(--line);flex:1}
.face-candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.face-candidate{position:relative;border:2px solid var(--line);border-radius:16px;padding:8px;cursor:pointer;overflow:hidden}
.face-candidate:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,162,68,.18)}
.face-candidate input{position:absolute;top:14px;right:14px;width:auto;z-index:2}
.face-candidate img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;margin-bottom:8px}
.face-candidate span,.face-candidate small{display:block}
.face-candidate small{color:var(--muted);margin-top:2px}
@media(max-width:700px){.face-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Navegação administrativa lateral com ícones vetoriais */
@media(min-width:701px){
  .admin-menu-wrap{position:fixed;top:72px;bottom:0;left:max(0px,calc((100vw - 1430px)/2));z-index:19;width:230px;background:#15171b;border:0;border-right:1px solid #292c32;box-shadow:10px 0 32px rgba(18,20,24,.08);backdrop-filter:none;overflow:visible}
  .admin-main-menu{height:100%;margin:0;padding:22px 14px;display:flex;flex-direction:column;align-items:stretch;gap:5px;overflow-y:auto;overflow-x:visible}
  .admin-main-menu>a,.admin-more-menu>summary{min-height:48px;padding:11px 13px;border-radius:13px;color:#c9cdd4;font-size:.86rem;justify-content:flex-start;gap:12px}
  .admin-main-menu>a:hover,.admin-more-menu>summary:hover{background:#24272d;color:#fff}
  .admin-main-menu>a.active,.admin-more-menu>summary.active{background:#008547;color:#002644;box-shadow:0 8px 20px rgba(198,162,68,.2)}
  .admin-main-menu>a span,.admin-more-menu>summary span{font-size:inherit;color:inherit}
  .admin-main-menu svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .admin-more-menu{margin:auto 0 0;position:relative}
  .admin-more-panel{left:calc(100% + 10px);right:auto;top:auto;bottom:0;width:240px}
  body:has(.admin-menu-wrap) main{width:min(1180px,calc(100% - 266px));margin:28px auto 28px max(248px,calc((100vw - 1430px)/2 + 248px));padding-right:18px}
  body:has(.admin-menu-wrap) footer{margin-left:230px}
}
@media(max-width:700px){
  body:has(.admin-menu-wrap){padding-bottom:78px}
  .admin-menu-wrap{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:80;height:72px;background:#15171b;border:0;border-top:1px solid #2b2e34;box-shadow:0 -10px 28px rgba(18,20,24,.16);overflow:visible}
  .admin-menu-toggle{display:none}
  .admin-main-menu,.admin-main-menu.is-open{height:100%;max-width:none;max-height:none;margin:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:3px;overflow-x:auto;overflow-y:visible}
  .admin-main-menu>a,.admin-more-menu>summary{flex:1 0 68px;min-width:68px;min-height:58px;padding:5px 3px;border-radius:11px;background:transparent;color:#bfc3ca;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:.64rem;line-height:1.05;text-align:center}
  .admin-main-menu>a:hover,.admin-more-menu>summary:hover{background:#24272d;color:#fff}
  .admin-main-menu>a.active,.admin-more-menu>summary.active{background:#2b271b;color:#e7c86e;box-shadow:none}
  .admin-main-menu>a span,.admin-more-menu>summary span{font-size:inherit;color:inherit}
  .admin-main-menu svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .admin-more-menu{flex:1 0 68px;min-width:68px;margin:0;position:static}
  .admin-more-panel{position:absolute;left:10px;right:10px;bottom:68px;top:auto;width:auto;max-height:55vh;overflow:auto;padding:9px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 -18px 45px rgba(18,20,24,.2)}
  .admin-more-panel a{padding:13px;background:#f6f7f8;border:0;text-align:left}
  body:has(.admin-menu-wrap) footer{display:none}
  #management{scroll-margin-top:78px}
}

/* Navegação SaaS mobile: seis posições legíveis e funções secundárias em Mais. */
.desktop-hidden{display:none!important}
@media(max-width:700px){
  .admin-main-menu>a.mobile-more-only{display:none}
  .admin-main-menu,.admin-main-menu.is-open{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:2px;
    overflow:visible;
  }
  .admin-main-menu>a,.admin-more-menu,.admin-more-menu>summary{
    min-width:0;
    width:100%;
  }
  .admin-more-menu{grid-column:auto}
  .admin-main-menu>a,.admin-more-menu>summary{
    flex:none;
    padding:5px 2px;
    font-size:clamp(.54rem,2.35vw,.64rem);
    line-height:1.08;
    white-space:normal;
    overflow:hidden;
    justify-content:center;
  }
  .admin-main-menu>a span,.admin-more-menu>summary span{
    display:block;
    width:100%;
    max-width:100%;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
  }
  .admin-main-menu>a[href="/admin"] span,
  .admin-main-menu>a[href="/admin#management"] span,
  .admin-main-menu>a[href="/admin/adjustments"] span,
  .admin-main-menu>a[href="/admin/extra-hours"] span,
  .admin-main-menu>a[href="/admin/hour-bank"] span{font-size:0}
  .admin-main-menu>a[href="/admin"] span::after{content:"Início"}
  .admin-main-menu>a[href="/admin#management"] span::after{content:"Equipe"}
  .admin-main-menu>a[href="/admin/adjustments"] span::after{content:"Ajuste"}
  .admin-main-menu>a[href="/admin/extra-hours"] span::after{content:"Extras"}
  .admin-main-menu>a[href="/admin/hour-bank"] span::after{content:"Banco"}
  .admin-main-menu>a[href="/admin"] span::after,
  .admin-main-menu>a[href="/admin#management"] span::after,
  .admin-main-menu>a[href="/admin/adjustments"] span::after,
  .admin-main-menu>a[href="/admin/extra-hours"] span::after,
  .admin-main-menu>a[href="/admin/hour-bank"] span::after{font-size:clamp(.54rem,2.35vw,.64rem)}
  .admin-main-menu>a[href="/admin/adjustments"] span::after{font-size:clamp(.5rem,2.2vw,.6rem)}
  .admin-more-panel .desktop-hidden{display:flex!important}
}

/* Início administrativo: foco exclusivo no desempenho dos últimos sete dias */
.dashboard-chart-only> :not(.analytics-grid){display:none}
.dashboard-chart-only>.dashboard-hero,
.dashboard-chart-only>.main-grid{display:flex}
.dashboard-chart-only>.main-grid{display:block}
.dashboard-chart-only>.main-grid>.dashboard-side{display:none}
.dashboard-chart-only>.main-grid>.team-live-card{width:100%;margin:0}
.dashboard-chart-only>#management:target{display:block}
.dashboard-chart-only .analytics-grid{display:block}
.dashboard-chart-only .analytics-grid>.recent-card{display:none}
.dashboard-chart-only .analytics-grid>.dashboard-card{width:100%;margin:0}
.dashboard-chart-only .weekly-chart{height:260px;min-height:0}

/* Contenção das telas administrativas em telefones */
body:has(.admin-menu-wrap){max-width:100%;overflow-x:hidden}
body:has(.admin-menu-wrap) main,
body:has(.admin-menu-wrap) main>*{min-width:0;max-width:100%}
@media(max-width:700px){
  body:has(.admin-menu-wrap) main{width:100%;margin:14px 0 0;padding:0 10px}
  body:has(.admin-menu-wrap) .card{width:100%;min-width:0;padding:15px;border-radius:16px;overflow:hidden}
  body:has(.admin-menu-wrap) .page-head,
  body:has(.admin-menu-wrap) .section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%}
  body:has(.admin-menu-wrap) .actions,
  body:has(.admin-menu-wrap) .inline,
  body:has(.admin-menu-wrap) form{max-width:100%}
  body:has(.admin-menu-wrap) .actions>.button,
  body:has(.admin-menu-wrap) .actions>button{width:100%}
  body:has(.admin-menu-wrap) input,
  body:has(.admin-menu-wrap) select,
  body:has(.admin-menu-wrap) textarea{min-width:0;max-width:100%}
  body:has(.admin-menu-wrap) .table{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body:has(.admin-menu-wrap) .table table{width:max-content;min-width:100%}
  .dashboard-chart-only .analytics-grid>.dashboard-card{padding:16px 10px}
  .dashboard-chart-only>.dashboard-hero{display:grid;padding:18px;border-radius:18px;gap:16px}
  .dashboard-chart-only>.dashboard-hero h1{font-size:1.65rem}
  .dashboard-chart-only>.dashboard-hero .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-chart-only>.dashboard-hero .hero-actions .button{width:100%}
  .dashboard-chart-only>.main-grid>.team-live-card{padding:15px}
  .dashboard-chart-only .premium-team-row{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto}
  .dashboard-chart-only .employee-main{min-width:0}
  .dashboard-chart-only .employee-main b,
  .dashboard-chart-only .employee-main small{overflow-wrap:anywhere}
  .dashboard-chart-only .employee-marks{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .dashboard-chart-only .chart-legend{font-size:.62rem;flex-wrap:wrap}
  .dashboard-chart-only .weekly-chart{width:100%;height:220px;min-height:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:hidden;padding-top:8px}
  .dashboard-chart-only .chart-column{min-width:0}
  .dashboard-chart-only .chart-column>b{font-size:.62rem;overflow:hidden}
  .dashboard-chart-only .chart-column>small,.dashboard-chart-only .chart-values small{font-size:.54rem;white-space:nowrap}
  .dashboard-chart-only .expected-bar{width:76%;left:12%}
  .dashboard-chart-only .worked-bar{width:42%;left:29%}
}

/* Refinamento responsivo das telas abertas pelo menu administrativo */
.adjustment-status-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:5px;background:#e9ebef;border:1px solid #dde0e5;border-radius:15px;overflow:hidden}
.adjustment-status-menu a{min-width:0;padding:10px 8px;border:0;border-radius:11px;background:transparent;text-align:center;font-size:.8rem}
.adjustment-status-menu a.active{background:#15171b;box-shadow:0 4px 12px rgba(17,18,20,.16)}
.occurrence-history-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-bottom:8px}
.occurrence-history-scroll table{border-collapse:collapse;width:100%;min-width:940px}
.occurrence-history-scroll th,.occurrence-history-scroll td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.occurrence-history-scroll::-webkit-scrollbar{height:10px}
.occurrence-history-scroll::-webkit-scrollbar-thumb{background:#aeb4be;border-radius:999px;border:2px solid #fff}
.occurrence-history-scroll::-webkit-scrollbar-track{background:#eef0f3;border-radius:999px}

@media(max-width:700px){
  body:has(.admin-menu-wrap) main{overflow:visible}
  body:has(.admin-menu-wrap) main .card{max-width:calc(100vw - 20px);min-width:0}
  body:has(.admin-menu-wrap) main .kpi-grid{grid-template-columns:1fr}
  body:has(.admin-menu-wrap) main .form-grid,
  body:has(.admin-menu-wrap) main .grid.two{grid-template-columns:minmax(0,1fr)}
  body:has(.admin-menu-wrap) main .request-card{width:100%;min-width:0;padding:14px;overflow:hidden}
  body:has(.admin-menu-wrap) main .request-card .inline{display:grid;grid-template-columns:1fr 1fr;width:100%}
  body:has(.admin-menu-wrap) main .request-card .inline button{width:100%;min-width:0;padding-inline:8px}
  .adjustment-status-menu{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:4px}
  .adjustment-status-menu a{padding:10px 2px;font-size:clamp(.64rem,3vw,.76rem);overflow:hidden;text-overflow:ellipsis}
  .occurrence-rules-grid{grid-template-columns:minmax(0,1fr)}
  .occurrence-history-card{overflow:hidden!important}
  .occurrence-history-scroll{display:block;width:100%;max-width:100%;overflow-x:scroll!important;overscroll-behavior-x:contain;touch-action:pan-x;padding-bottom:12px}
  .occurrence-history-scroll table{width:940px;min-width:940px}
  .occurrence-history-scroll .compact-form{min-width:230px}
  .bulk-extra-hours-card{width:100%;max-width:calc(100vw - 20px);overflow:hidden!important}
  .bulk-extra-hours-card>.section-head{min-width:0}
  .bulk-extra-hours-card>.section-head>div{min-width:0;width:100%}
  .he-type-selector{width:100%;max-width:100%;margin:10px 0 14px!important;padding:12px!important;overflow:hidden}
  .he-type-selector>div:first-child{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
  .he-type-selector>div:first-child>div:last-child{width:100%;max-width:100%;white-space:normal!important;text-align:center}
  .he-type-options{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .he-type-options label{width:100%!important;min-width:0!important;padding:12px!important;gap:8px!important}
  .he-type-options label>span{min-width:0!important}
  .he-type-options label b{font-size:17px!important;flex:0 0 auto}
  .bulk-destination-options{grid-template-columns:minmax(0,1fr)}
  .bulk-destination-check{width:100%;min-width:0;display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start!important}
  .bulk-destination-check input{width:18px!important;min-width:18px}
  .bulk-destination-check span{min-width:0;overflow-wrap:anywhere}
  .batch-extra-hours-table{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .batch-extra-hours-table table{width:max-content;min-width:760px}
  #batch-extra-hours-form{width:100%;min-width:0;overflow:hidden}
  #batch-extra-hours-form>.primary{width:100%}
}

/* Sistema visual administrativo unificado */
body:has(.admin-menu-wrap) main{--admin-card-radius:18px}
body:has(.admin-menu-wrap) .page-head{align-items:flex-end;margin-bottom:20px;padding:4px 2px}
body:has(.admin-menu-wrap) .page-head>div:first-child{min-width:0;max-width:720px}
body:has(.admin-menu-wrap) .page-head h1{margin:0 0 6px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08}
body:has(.admin-menu-wrap) .page-head p.muted{margin:0;line-height:1.5}
body:has(.admin-menu-wrap) .page-head>.actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,auto);gap:4px;padding:5px;background:#e9ebef;border:1px solid #dde0e5;border-radius:15px;flex:0 0 auto}
body:has(.admin-menu-wrap) .page-head>.actions .button,
body:has(.admin-menu-wrap) .page-head>.actions button{min-height:40px;margin:0;padding:9px 13px;border-radius:11px;background:transparent;color:#343941;border:0;box-shadow:none;font-size:.79rem;line-height:1.15;text-align:center;white-space:normal}
body:has(.admin-menu-wrap) .page-head>.actions .button:hover,
body:has(.admin-menu-wrap) .page-head>.actions button:hover{background:#fff;color:#002644}
body:has(.admin-menu-wrap) .page-head>.actions .primary{background:#15171b;color:#fff;box-shadow:0 4px 12px rgba(17,18,20,.16)}
body:has(.admin-menu-wrap) .card{border:1px solid #e1e4e9;border-radius:var(--admin-card-radius);box-shadow:0 8px 28px rgba(18,20,24,.055)}
body:has(.admin-menu-wrap) .card>.section-head:first-child{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #eceef2}
body:has(.admin-menu-wrap) .section-head h2{margin-bottom:3px;font-size:clamp(1.15rem,2vw,1.45rem)}
body:has(.admin-menu-wrap) .filter{gap:12px;background:#fafbfc;border-color:#e2e5e9}
body:has(.admin-menu-wrap) .filter label{flex:1 1 190px;min-width:0}
body:has(.admin-menu-wrap) .filter button,
body:has(.admin-menu-wrap) .filter .button{min-height:45px}
body:has(.admin-menu-wrap) button,
body:has(.admin-menu-wrap) .button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
body:has(.admin-menu-wrap) button:hover,
body:has(.admin-menu-wrap) .button:hover{transform:translateY(-1px)}
body:has(.admin-menu-wrap) input,
body:has(.admin-menu-wrap) select,
body:has(.admin-menu-wrap) textarea{border-radius:12px;background:#fff}
body:has(.admin-menu-wrap) .table,
body:has(.admin-menu-wrap) .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
body:has(.admin-menu-wrap) table thead th{position:sticky;top:0;z-index:1;background:#f7f8fa;color:#626a76}
body:has(.admin-menu-wrap) table tbody tr:hover{background:#fafbfc}
body:has(.admin-menu-wrap) :focus-visible{outline:3px solid rgba(198,162,68,.38);outline-offset:2px}
body:has(.admin-menu-wrap) .alert{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent)}

@media(max-width:700px){
  body:has(.admin-menu-wrap) .page-head{display:grid;gap:14px;margin-bottom:16px;padding:0}
  body:has(.admin-menu-wrap) .page-head h1{font-size:1.62rem;overflow-wrap:anywhere}
  body:has(.admin-menu-wrap) .page-head>.actions{width:100%;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:3px;padding:4px}
  body:has(.admin-menu-wrap) .page-head>.actions .button,
  body:has(.admin-menu-wrap) .page-head>.actions button{width:100%;min-width:0;min-height:42px;padding:8px 5px;font-size:.72rem;overflow-wrap:anywhere}
  body:has(.admin-menu-wrap) .card>.section-head:first-child{padding-bottom:11px;margin-bottom:13px}
  body:has(.admin-menu-wrap) .filter{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:stretch}
  body:has(.admin-menu-wrap) .filter label,
  body:has(.admin-menu-wrap) .filter button,
  body:has(.admin-menu-wrap) .filter .button{width:100%;min-width:0}
  body:has(.admin-menu-wrap) table{font-size:.82rem}
  body:has(.admin-menu-wrap) .badge,
  body:has(.admin-menu-wrap) .status-pill{white-space:nowrap}
  body:has(.admin-menu-wrap) .privacy-note{max-width:100%;overflow-wrap:anywhere}
}

/* Lançamento de atestados com prévia de cobertura */
.certificate-pending-box{border:1px solid var(--line);border-radius:14px;padding:14px}
.certificate-pending-box p{margin:5px 0 10px}
.certificate-pending-days{display:flex;gap:8px;flex-wrap:wrap}
.certificate-pending-day{display:grid;text-align:left;padding:10px 12px}
.certificate-pending-day small{font-weight:600;color:var(--muted)}
.certificate-pending-day.is-covered{background:#eaf7ef;color:#12603c;box-shadow:inset 0 0 0 2px #62ad85}
.certificate-pending-day.is-covered small{color:#12603c}
