:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--bg:#f8fafc;--card:#fff;--blue:#0284c7;--sky:#0ea5e9;--green:#15803d;--red:#b91c1c;--amber:#b45309;--violet:#6d28d9;--header-offset:160px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
#loginScreen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px #0005}.login-card h1{margin:0 0 5px;font-size:26px}.login-card p{color:var(--muted)}.login-card input{margin:6px 0 12px}
header{position:fixed;top:0;left:0;right:0;z-index:40;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:14px 18px;box-shadow:0 3px 18px #0002}.brand{display:flex;justify-content:space-between;gap:14px;align-items:center}.brand h1{font-size:20px;margin:0}.brand small{color:#cbd5e1}.userbox{display:flex;gap:8px;align-items:center}.userbox span{font-size:12px;color:#cbd5e1}
nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}nav button{border:1px solid #475569;background:#1e293b;color:#e2e8f0;border-radius:9px;padding:8px 10px;font-weight:700;font-size:12px}nav button.active{background:var(--sky);border-color:var(--sky);color:#fff}
#app{min-height:100vh}
main{max-width:1650px;margin:auto;padding:calc(var(--header-offset) + 18px) 18px 18px}.section{display:none}.section.active{display:block}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:end;margin:10px 0 14px}.toolbar>div{min-width:145px}.grow{flex:1;min-width:230px!important}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 4px 20px #0f172a08}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric{font-size:26px;font-weight:850;margin-top:7px}.kpi{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}.blue{color:#0369a1}.violet{color:var(--violet)}
label{display:block;font-size:11px;color:#475569;font-weight:850;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:9px 10px;background:white}input:focus,select:focus,textarea:focus{outline:2px solid #bae6fd;border-color:#38bdf8}.primary,.secondary,.danger,.ok{border-radius:9px;padding:9px 11px;font-weight:750}.primary{background:var(--sky);color:#fff;border:1px solid var(--sky)}.secondary{background:#fff;color:#0f172a;border:1px solid #cbd5e1}.danger{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.ok{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.tiny{padding:6px 8px;font-size:11px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;vertical-align:top}th{background:#f1f5f9;color:#475569;font-size:11px;position:static}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.badge{display:inline-block;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.b-pending{background:#fef3c7;color:#92400e}.b-paid{background:#dcfce7;color:#166534}.b-over{background:#fee2e2;color:#991b1b}.b-info{background:#e0f2fe;color:#075985}.b-dark{background:#e2e8f0;color:#334155}.small{font-size:11px;color:var(--muted)}.empty{padding:24px;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:12px;background:#fff}.right{text-align:right}
.alert{border-radius:10px;padding:10px 12px;margin:7px 0;font-size:12px}.alert.red{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}.alert.amber{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.alert.blue{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.alert.green{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.col{min-width:238px;width:238px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:9px}.colhead{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;color:#334155;margin-bottom:8px}.lead{background:#fff;border:1px solid #dbeafe;border-left:4px solid #38bdf8;border-radius:11px;padding:9px;margin:7px 0;cursor:grab;box-shadow:0 3px 10px #00000008}.lead strong{font-size:12px}.lead .line{font-size:10px;color:#64748b;margin-top:4px}.lead.overdue{border-left-color:#ef4444}.lead.paid{border-left-color:#22c55e}
.modal{display:none;position:fixed;inset:0;background:#0f172acc;z-index:80;align-items:center;justify-content:center;padding:16px}.modal.open{display:flex}.modalbox{width:min(850px,100%);max-height:93vh;overflow:auto;background:#fff;border-radius:18px;padding:17px}.modalhead{display:flex;justify-content:space-between;gap:10px;align-items:center}.modalhead h2{margin:0}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.formgrid .full{grid-column:1/-1}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{background:#e2e8f0;padding:5px 8px;border-radius:999px;font-size:11px}.progress{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress div{height:100%;background:#0ea5e9}.barrow{display:grid;grid-template-columns:175px 1fr 100px;gap:8px;align-items:center;margin:7px 0;font-size:12px}.timeline{border-left:2px solid #cbd5e1;padding-left:12px}.timeline .item{margin:0 0 11px}.notice{background:#eff6ff;border:1px solid #bfdbfe;padding:10px 12px;border-radius:10px;font-size:12px}.warning{background:#fff7ed;border:1px solid #fed7aa;padding:10px 12px;border-radius:10px;font-size:12px}hr{border:none;border-top:1px solid var(--line);margin:16px 0}.tabtitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.tabtitle h2{margin:0;font-size:21px}.filebox{border:1px dashed #cbd5e1;padding:14px;border-radius:12px;background:#f8fafc}
@media(max-width:980px){.grid4{grid-template-columns:repeat(2,1fr)}.grid3,.grid2{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}.barrow{grid-template-columns:120px 1fr 80px}}
@media(max-width:650px){.grid4{grid-template-columns:1fr}.brand{align-items:flex-start;flex-direction:column}.metric{font-size:22px}main{padding:calc(var(--header-offset) + 12px) 12px 12px}.userbox{width:100%;justify-content:space-between}}

/* V2.1 — Ficha 360º */
.candidate360{width:min(1180px,96vw);max-height:94vh}.card.compact{padding:12px}.miniMetric{font-size:16px;font-weight:850;margin-top:5px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.sectionhead h3{margin:0}.infoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:12px}.infoGrid .info{padding:7px 0;border-bottom:1px solid var(--line)}.infoGrid .info b{display:block;color:#64748b;font-size:10px;text-transform:uppercase;margin-bottom:3px}.timeline360{position:relative;padding-left:20px}.timeline360:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:#cbd5e1}.timelineItem{position:relative;padding:0 0 13px 8px}.timelineItem:before{content:"";position:absolute;left:-19px;top:4px;width:10px;height:10px;border-radius:50%;background:#0ea5e9;border:2px solid white;box-shadow:0 0 0 1px #94a3b8}.timelineItem.stage:before{background:#6d28d9}.timelineItem.finance:before{background:#16a34a}.timelineItem .when{font-size:10px;color:#64748b}.timelineItem .what{font-size:12px;font-weight:800;margin-top:2px}.timelineItem .detail{font-size:11px;color:#475569;margin-top:2px}.inlineActions{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:760px){.infoGrid{grid-template-columns:1fr}}

/* V2.2 — Central de Comunicação */
.previewbox{min-height:72px;border:1px dashed #94a3b8;background:#f8fafc;border-radius:10px;padding:11px;white-space:pre-wrap;font-size:12px;color:#334155}
.conversation{height:360px;overflow:auto;background:#e5ddd5;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.messageBubble{max-width:78%;padding:8px 10px;border-radius:12px;background:white;box-shadow:0 1px 4px #0001;font-size:12px;white-space:pre-wrap}
.messageBubble.out{align-self:flex-end;background:#d9fdd3}.messageBubble.in{align-self:flex-start;background:white}.messageBubble .meta{font-size:9px;color:#64748b;margin-top:5px;text-align:right}
.compactConversation{height:220px}.commStatus{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#94a3b8}.dot.on{background:#16a34a}.dot.sim{background:#f59e0b}
code{background:#f1f5f9;padding:2px 5px;border-radius:5px}

/* V2.3 — Eventos, Credenciamento e Iniciações */
.eventGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.eventCard{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 4px 16px #0f172a08}.eventCard h3{margin:0 0 5px}.eventMeta{font-size:11px;color:#64748b;line-height:1.55}.eventStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.eventStat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:7px;text-align:center}.eventStat b{display:block;font-size:16px}.opRow{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr .8fr auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.opRow.head{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase}.compactSelect{padding:6px 7px;font-size:11px}.statStrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}.statBox{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:9px}.statBox .n{font-size:20px;font-weight:850}.candidatePick{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.duePaid{color:#15803d;font-weight:800}.duePending{color:#b45309;font-weight:800}@media(max-width:1050px){.eventGrid{grid-template-columns:repeat(2,1fr)}.opRow{grid-template-columns:1fr 1fr}.opRow.head{display:none}.statStrip{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.eventGrid{grid-template-columns:1fr}.statStrip{grid-template-columns:repeat(2,1fr)}}

/* V2.4 — Dossiê de Admissão */
.checkRow{display:grid;grid-template-columns:minmax(220px,1.3fr) 150px minmax(180px,1fr) 90px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.checkRow .req{font-size:10px;font-weight:900;color:#b45309}.checkRow .optional{font-size:10px;color:#64748b}.autoCheck{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.dossierStatus{font-weight:850}.dosReady{color:#15803d}.dosPending{color:#b45309}.dosRejected{color:#b91c1c}
@media(max-width:760px){.checkRow{grid-template-columns:1fr}.checkRow button{width:max-content}}
/* V2.5 — Cobranças Pix/Boleto */
.payContent{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.payQR{display:block;width:min(260px,80vw);height:auto;margin:0 auto 14px;background:white;padding:8px;border:1px solid var(--line);border-radius:12px}.copyRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:6px 0 12px}.copyRow textarea,.copyRow input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.primaryLink{display:inline-block;background:#0ea5e9;color:white;text-decoration:none;padding:9px 12px;border-radius:9px;font-weight:750;margin-top:5px}.primaryLink:hover{opacity:.9}
@media(max-width:620px){.copyRow{grid-template-columns:1fr}}

/* V2.6 Google Workspace */
.emailPreview{white-space:pre-wrap;border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:12px;min-height:90px;font-size:12px}
.googleConnected{color:#15803d}.googleDisconnected{color:#b45309}.googleJob{font-size:11px}


/* ===== V2.7 — Dashboard Executivo e BI ===== */
.bi-grid8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.insightGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.insightBox{border:1px solid var(--line);border-left:4px solid #38bdf8;border-radius:12px;padding:11px;background:#fff}
.insightBox.green{border-left-color:#22c55e}.insightBox.amber{border-left-color:#f59e0b}.insightBox.red{border-left-color:#ef4444}.insightBox.blue{border-left-color:#38bdf8}
.insightBox b{font-size:12px}.insightBox div{font-size:11px;color:#475569;margin-top:4px}
.biBar{display:grid;grid-template-columns:minmax(120px,1.2fr) 2fr 84px;gap:8px;align-items:center;margin:8px 0;font-size:12px}
.biBarTrack{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.biBarFill{height:100%;background:#0ea5e9;border-radius:999px}.biBarFill.good{background:#22c55e}.biBarFill.warn{background:#f59e0b}.biBarFill.bad{background:#ef4444}.biBarFill.violet{background:#8b5cf6}
.biTrendRow{display:grid;grid-template-columns:74px 52px 1fr 105px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:11px}
.biTrendBars{display:flex;gap:3px;height:16px}.biTrendLead{background:#38bdf8;border-radius:4px;height:100%}.biTrendCash{background:#22c55e;border-radius:4px;height:100%}.biTrendCash.neg{background:#ef4444}
.biStatLine{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}
.biStatLine:last-child{border-bottom:none}
.biScore{font-size:10px;font-weight:900;border-radius:999px;padding:3px 7px;background:#e0f2fe;color:#075985}
@media(max-width:1150px){.bi-grid8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.bi-grid8,.insightGrid{grid-template-columns:1fr}.biBar{grid-template-columns:100px 1fr 70px}.biTrendRow{grid-template-columns:62px 42px 1fr 88px}}
@media print{
  header,#nav,.biFilters,#biExportBtn,#biPrintBtn{display:none!important}
  body{background:#fff}.section{display:none!important}#bi.section{display:block!important}
  .card{box-shadow:none;break-inside:avoid}
}


/* ===== V2.8 — Identidade COMASA, matriz de acesso e impressão ===== */
.brandIdentity{display:flex;align-items:center;gap:12px}.brandLogo{width:58px;height:58px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #d4af37,0 4px 14px #0005}.loginLogo{width:112px;height:112px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 12px;box-shadow:0 0 0 3px #d4af37,0 8px 26px #0004}
.accessMatrix{display:grid;gap:8px}.accessMatrix>div{display:grid;grid-template-columns:165px 1fr;gap:10px;border-bottom:1px solid var(--line);padding:7px 0}.accessMatrix b{color:#0f3763}.accessMatrix span{font-size:11px;color:#475569;line-height:1.45}
.phaseTag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900}.phase1{background:#dbeafe;color:#1e40af}.phase2{background:#ede9fe;color:#6d28d9}.handoff{background:#dcfce7;color:#166534}
@media(max-width:700px){.brandLogo{width:46px;height:46px}.accessMatrix>div{grid-template-columns:1fr}.loginLogo{width:92px;height:92px}}


/* ===== V2.9 — três fases e Central de Relatórios ===== */
.phaseLegend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 13px}.phaseChip{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:850;border:1px solid #cbd5e1;background:white}.phaseChip.interesse{border-color:#7dd3fc;background:#f0f9ff;color:#075985}.phaseChip.sindicancia{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.phaseChip.aprovado{border-color:#86efac;background:#f0fdf4;color:#166534}
.reportCenterGrid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}.reportCatalog{position:sticky;top:calc(var(--header-offset) + 12px);max-height:calc(100vh - var(--header-offset) - 36px);overflow:auto}.rcGroup{margin:10px 0}.rcGroupTitle{font-size:10px;font-weight:900;text-transform:uppercase;color:#64748b;letter-spacing:.06em;margin:8px 0}.rcItem{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;margin:5px 0;cursor:pointer}.rcItem:hover{border-color:#7dd3fc;background:#f8fcff}.rcItem.active{border-color:#0ea5e9;background:#eff9ff}.rcItem b{display:block;font-size:12px}.rcItem span{display:block;font-size:10px;color:#64748b;margin-top:3px;line-height:1.3}.rcSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.rcSummary .box{border:1px solid var(--line);border-radius:10px;padding:9px;background:#f8fafc}.rcSummary .box b{display:block;font-size:16px;margin-top:3px}.rcSummary .box span{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:850}.rcMeta{font-size:11px;color:#64748b;margin-bottom:8px}.rcTable td{white-space:normal;word-break:break-word}.phaseHeader{display:flex;gap:8px;align-items:center;margin-bottom:10px}
@media(max-width:980px){.reportCenterGrid{grid-template-columns:1fr}.reportCatalog{position:static;max-height:none}.rcSummary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.rcSummary{grid-template-columns:1fr}}


/* V2.9.1 — correção do cabeçalho fixo */
html{scroll-padding-top:calc(var(--header-offset) + 12px)}
.section{scroll-margin-top:calc(var(--header-offset) + 12px)}
header nav{position:relative;z-index:2}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;position:relative}
.table-wrap thead th{position:sticky;top:0;z-index:3;background:#f1f5f9}


/* V2.9.2 — correção definitiva de cabeçalhos */
html{scroll-padding-top:calc(var(--header-offset) + 12px)}
.section{scroll-margin-top:calc(var(--header-offset) + 12px)}
#app>header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:100!important}
#app>main{padding-top:calc(var(--header-offset) + 18px)!important}
table>thead>tr>th{position:static!important;top:auto!important}
.table-wrap>table>thead>tr>th{position:sticky!important;top:0!important;z-index:4!important;background:#f1f5f9!important}
@media(max-width:650px){#app>main{padding-top:calc(var(--header-offset) + 12px)!important}}


/* ===== V3.1 — Fotos de candidatos ===== */
.profilePhoto{width:76px;height:90px;object-fit:cover;border-radius:12px;border:1px solid #cbd5e1;background:#eef2f7;box-shadow:0 3px 12px #0f172a12;flex:0 0 auto}.profilePhoto.large{width:104px;height:124px}.profileHead{display:flex;align-items:center;gap:12px}.photoEditor{display:flex;align-items:center;gap:14px;padding:10px;border:1px dashed #cbd5e1;border-radius:13px;background:#f8fafc}.photoEditorText{flex:1}.candidateMini{width:42px;height:50px;object-fit:cover;border-radius:8px;border:1px solid #cbd5e1;vertical-align:middle;margin-right:8px;background:#eef2f7}.leadIdentity{display:flex;align-items:center;gap:8px}.leadIdentity .candidateMini{width:38px;height:46px;margin:0}.candidateNameCell{display:flex;align-items:center;gap:8px}.candidateNameCell .candidateMini{margin:0}
@media(max-width:650px){.photoEditor{align-items:flex-start}.profilePhoto.large{width:86px;height:104px}.profileHead{align-items:flex-start}}

/* ===== V3.5.3 — Menu lateral hierárquico COMASA ===== */
:root{--sidebar-width:292px}
#app>header{position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:0!important;width:var(--sidebar-width)!important;height:100vh!important;padding:14px 12px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:linear-gradient(180deg,#0b1729 0%,#111f34 56%,#0d1828 100%)!important;box-shadow:5px 0 22px #0f172a24!important;z-index:100!important}
#app>header .brand{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:0 0 auto}
#app>header .brandIdentity{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:center;padding:2px 4px 12px;border-bottom:1px solid #ffffff18}
#app>header .brandLogo{width:48px;height:48px}
#app>header .brand h1{font-size:14px;line-height:1.25;margin:0}
#app>header .brand small{display:block;font-size:9px;line-height:1.35;margin-top:3px;color:#aebdce}
#app>header .userbox{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 2px 10px;border-bottom:1px solid #ffffff18}
#app>header .userbox span{grid-column:1/-1;display:block;color:#d7e2ef;font-size:10px;line-height:1.35;padding:2px 3px 4px}
#app>header .userbox button{width:100%;background:#ffffff0b;color:#e5eef8;border-color:#ffffff25;font-size:10px;padding:7px 6px}
#app>header .userbox button:hover{background:#ffffff16}
#app>header #nav{position:relative!important;z-index:2;display:block!important;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:10px -3px 0 0;padding:0 7px 16px 0;scrollbar-width:thin;scrollbar-color:#47627e transparent}
#app>header #nav::-webkit-scrollbar{width:6px}#app>header #nav::-webkit-scrollbar-thumb{background:#47627e;border-radius:999px}
#nav .sideNavGroup{margin:4px 0}
#nav .sideGroupToggle{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:7px;text-align:left;border:0;background:transparent;color:#d8e4f1;border-radius:10px;padding:9px 8px;font-size:11px;font-weight:850}
#nav .sideGroupToggle:hover{background:#ffffff0d;color:#fff}
#nav .sideGroupIcon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#ffffff0b;color:#7dd3fc;font-size:13px}
#nav .sideChevron{justify-self:end;font-size:18px;line-height:1;color:#91a5bb;transition:transform .16s ease}
#nav .sideNavGroup.open .sideChevron{transform:rotate(90deg)}
#nav .sideSubNav{display:none;padding:3px 0 6px 31px}
#nav .sideNavGroup.open .sideSubNav{display:grid;gap:3px}
#nav .sideSubItem{position:relative;width:100%;text-align:left;border:0!important;background:transparent!important;color:#afbed0!important;border-radius:8px!important;padding:7px 8px 7px 13px!important;font-size:10.5px!important;font-weight:700!important;line-height:1.25}
#nav .sideSubItem:before{content:"";position:absolute;left:2px;top:50%;width:5px;height:5px;border-radius:50%;background:#536d89;transform:translateY(-50%)}
#nav .sideSubItem:hover{background:#ffffff0c!important;color:#fff!important}
#nav .sideSubItem.active{background:#0ea5e91c!important;color:#7dd3fc!important;box-shadow:inset 2px 0 0 #38bdf8}
#nav .sideSubItem.active:before{background:#38bdf8}
#app>main{max-width:none!important;margin:0 0 0 var(--sidebar-width)!important;padding:18px 22px 24px!important;min-height:100vh}
html{scroll-padding-top:18px!important}.section{scroll-margin-top:18px!important}
.reportCatalog{top:18px!important;max-height:calc(100vh - 36px)!important}
.sidebarMobileToggle{display:none;position:fixed;left:12px;top:12px;z-index:130;width:42px;height:42px;border:1px solid #cbd5e1;border-radius:11px;background:#0f172a;color:#fff;box-shadow:0 8px 26px #0003;font-size:20px}
.sidebarOverlay{display:none;position:fixed;inset:0;background:#02061799;z-index:95}
.security-fab{left:calc(var(--sidebar-width) + 18px)!important}
@media(max-width:900px){
  #app>header{width:min(310px,86vw)!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:10px 0 34px #0005!important}
  body.sidebar-open #app>header{transform:translateX(0)}
  body.sidebar-open .sidebarOverlay{display:block}
  #app>main{margin-left:0!important;padding:66px 12px 18px!important}
  .sidebarMobileToggle{display:grid;place-items:center}
  .security-fab{left:10px!important;bottom:10px!important}
  .reportCatalog{position:static!important;max-height:none!important}
}
@media print{#app>header,.sidebarMobileToggle,.sidebarOverlay{display:none!important}#app>main{margin:0!important;padding:0!important}}


/* ===== V3.5.4 — Menu direto + recolhimento COMASA ===== */
:root{--sidebar-width:292px;--sidebar-collapsed-width:74px}
#app>header{transition:width .18s ease,transform .2s ease!important}
#app>header .brandIdentity{padding-right:32px}
#nav{display:grid!important;align-content:start;gap:4px!important}
#nav .sideNavItem{width:100%;min-height:39px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;text-align:left;border:0!important;background:transparent!important;color:#c4d1df!important;border-radius:10px!important;padding:6px 8px!important;font-size:11px!important;font-weight:780!important;line-height:1.2}
#nav .sideNavItem:hover{background:#ffffff0e!important;color:#fff!important}
#nav .sideNavItem.active{background:#0ea5e91c!important;color:#7dd3fc!important;box-shadow:inset 3px 0 0 #38bdf8}
#nav .sideNavIcon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#ffffff0b;color:#7dd3fc;font-size:14px;font-weight:900}
#nav .sideNavLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebarCollapseToggle{position:absolute;right:8px;top:10px;z-index:8;width:28px;height:28px;padding:0;border:1px solid #ffffff25;border-radius:8px;background:#ffffff10;color:#e5eef8;font-size:22px;line-height:1;display:grid;place-items:center}
.sidebarCollapseToggle:hover{background:#ffffff20}
body.sidebar-collapsed #app>header{width:var(--sidebar-collapsed-width)!important;padding-left:8px!important;padding-right:8px!important}
body.sidebar-collapsed #app>main{margin-left:var(--sidebar-collapsed-width)!important}
body.sidebar-collapsed #app>header .brandIdentity{grid-template-columns:1fr;padding:34px 0 10px;justify-items:center}
body.sidebar-collapsed #app>header .brandIdentity>div{display:none}
body.sidebar-collapsed #app>header .brandLogo{width:46px;height:46px}
body.sidebar-collapsed #app>header .userbox{display:none}
body.sidebar-collapsed #app>header #nav{margin-top:10px;padding-right:0}
body.sidebar-collapsed #nav .sideNavItem{grid-template-columns:1fr;padding:6px!important;justify-items:center}
body.sidebar-collapsed #nav .sideNavLabel{display:none}
body.sidebar-collapsed #nav .sideNavItem.active{box-shadow:inset 3px 0 0 #38bdf8}
body.sidebar-collapsed .security-fab{left:calc(var(--sidebar-collapsed-width) + 18px)!important}
@media(max-width:900px){
  .sidebarCollapseToggle{display:none!important}
  body.sidebar-collapsed #app>header{width:min(310px,86vw)!important;padding:14px 12px!important}
  body.sidebar-collapsed #app>header .brandIdentity{grid-template-columns:50px minmax(0,1fr);padding:2px 4px 12px;justify-items:stretch}
  body.sidebar-collapsed #app>header .brandIdentity>div{display:block}
  body.sidebar-collapsed #app>header .userbox{display:grid}
  body.sidebar-collapsed #nav .sideNavItem{grid-template-columns:30px minmax(0,1fr);padding:6px 8px!important;justify-items:stretch}
  body.sidebar-collapsed #nav .sideNavLabel{display:block}
  body.sidebar-collapsed #app>main{margin-left:0!important}
}
@media print{.sidebarCollapseToggle{display:none!important}}

/* V3.8 MENU FONT */
#nav .sideNavItem{font-size:14px!important;min-height:44px!important;line-height:1.3!important}
#nav .sideNavLabel{font-size:14px!important}
