/* Identidade institucional, leitura executiva e densidade confortável em todas as páginas. */
:root{--ref-border:#dfe6ee;--ref-muted:#62748a;--ref-surface:#fff;--ref-soft:#f5f8fc}
:root[data-theme=dark]{--ref-border:#2c394b;--ref-muted:#b2bfd0;--ref-surface:#152133;--ref-soft:#1b2a3e}
body{font-family:'Segoe UI',system-ui,sans-serif}
.metrics{gap:12px;margin:20px 0 24px}
.metric,.metrics>div,.metrics>article{border:1px solid var(--ref-border)!important;border-radius:10px!important;padding:17px 20px!important;background:var(--ref-surface)!important;box-shadow:none!important;min-height:112px}
.metric:before,.metric:after{display:none!important}
.metric .label,.metric>span,.metric>small{font-size:12px!important;letter-spacing:normal!important;text-transform:none!important;color:var(--ref-muted)!important}
.metric strong,.metric .value{font-size:30px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.5px!important;font-variant-numeric:tabular-nums}
.metric.featured{border-top:3px solid #1769d2!important;background:var(--ref-surface)!important}
.card{border:1px solid var(--ref-border);border-radius:10px;box-shadow:none;padding:22px}
.heading h1{font-size:30px;font-weight:600;letter-spacing:-.6px}
.heading p{font-size:14px;max-width:900px}
.eyebrow,.overline{letter-spacing:.08em!important;font-size:11px}
th{background:var(--ref-soft)!important;font-weight:600;font-size:12px!important}
td{font-size:13px;line-height:1.45}
button,.button{border-radius:7px;box-shadow:none;font-weight:500}
.page-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.import-options{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin:18px 0}
.work-hours-fields{border:1px solid var(--ref-border);border-radius:10px;padding:18px;margin:20px 0;background:var(--ref-soft)}
.work-hours-fields legend{font-size:14px;font-weight:600;padding:0 6px}
.day-choices{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.day-choices .check{padding:5px 0;font-size:13px}
.tablewrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.topbar .profile{gap:8px}.executive-brand strong{font-size:17px}}
@media(max-width:760px){
 .shell{display:block!important}.shell[hidden]{display:none!important}
 .shell>aside{position:static!important;width:100%!important;height:auto!important;min-height:0;padding:14px 16px!important;border-right:0;border-bottom:1px solid var(--ref-border)}
 aside .brand{margin:0 0 10px!important}aside .brand-symbol{width:32px;height:32px}aside .brand strong{font-size:21px}
 aside .navlabel,aside .sidebar-bottom{display:none!important}
 #nav{display:flex!important;overflow:auto;gap:6px;padding:0 0 5px;-webkit-overflow-scrolling:touch}
 #nav button{white-space:nowrap;flex:0 0 auto;width:auto!important;padding:9px 12px!important;min-height:38px;font-size:12px}
 #nav button svg{width:15px;height:15px}#nav .nav-count{margin-left:5px}
 .workspace{margin-left:0!important;width:100%!important;min-width:0}
 .topbar{position:static!important;flex-wrap:wrap;height:auto!important;padding:14px 16px!important;gap:12px}
 .executive-brand{gap:10px}.executive-brand img{display:none}.executive-brand strong{font-size:16px}.executive-brand small{font-size:10px}
 .profile{width:100%;flex-wrap:wrap;justify-content:flex-start!important}.profile #sessionName{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile button{font-size:12px;padding:7px 9px}.avatar{width:28px;height:28px}
 main#app{padding:22px 16px!important;width:100%;min-width:0}.heading h1{font-size:25px}.heading{flex-wrap:wrap;gap:12px}.heading p{font-size:13px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.metric,.metrics>div,.metrics>article{padding:14px!important;min-height:106px}.metric strong,.metric .value{font-size:27px!important}
 .card{padding:16px}.grid,.charts-grid,.two-col,.formgrid,.import-options{grid-template-columns:1fr!important}.filters{grid-template-columns:1fr 1fr!important}.filters .field:first-child{grid-column:1/-1}
 .modalbody{padding:18px!important}dialog{width:calc(100vw - 16px)!important;max-width:none;margin:8px!important;max-height:calc(100dvh - 16px)}.modalfoot{flex-wrap:wrap;gap:10px}.modalfoot .actions{width:100%;justify-content:flex-end}.modalhead h2{font-size:18px}
 .sitefoot{padding:16px!important;flex-wrap:wrap;font-size:11px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#app .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:none;border:0;border-radius:0;overflow:visible}
#app .metrics .metric{padding:17px 18px!important;min-height:124px!important;border:1px solid var(--ref-border)!important;border-radius:9px!important;gap:8px;display:flex;flex-direction:column;justify-content:flex-start;background:var(--ref-surface)!important}
#app .metrics .metric label{font-size:13px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--ref-muted)}
#app .metrics .metric strong{font-size:30px;font-weight:600;margin:2px 0;line-height:1.2}
#app .metrics .metric small{font-size:12px;line-height:1.45;font-weight:400;color:var(--ref-muted);margin-top:auto}
#app .executive-goal{padding:20px 22px;background:var(--ref-surface);border:1px solid var(--ref-border);border-radius:10px}
#app .executive-goal .goal-value strong{font-size:34px;font-weight:600}
#app .executive-goal h2{font-size:18px;font-weight:600}
@media(max-width:1100px){#app .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#app .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#app .metrics .metric{min-height:118px!important;padding:14px!important}#app .metrics .metric strong{font-size:27px!important}}
