
:root{--navy:#112c44;--teal:#007e87;--gold:#d9a843;--bg:#f1f5f7;--line:#dce5e9;--muted:#607587}*{box-sizing:border-box}body{margin:0;font:14px system-ui,sans-serif;color:var(--navy);background:var(--bg)}aside{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:white;padding:28px 20px;overflow:auto}aside h2{font-size:23px;line-height:1.2}aside small{color:#a2c4d4}nav button{display:block;width:100%;text-align:left;background:transparent;color:#d9e8ef;border:0;padding:13px;border-radius:9px;margin:5px 0}nav button.active,nav button:hover{background:#25516c;color:white}main{margin-left:240px;padding:30px;max-width:1700px}h1{font-size:30px;margin:5px 0 10px}h2{font-size:19px}p{line-height:1.6}button,.btn{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:white;color:var(--navy);font:inherit}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button:hover{filter:brightness(.94)}input,select,textarea{font:inherit;border:1px solid #bcced8;border-radius:6px;padding:10px;background:white;width:100%;color:var(--navy)}textarea{min-height:70px}label{display:block;font-size:12px;font-weight:650;margin-bottom:5px}.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bar>input{width:230px}.bar>select{width:auto;max-width:240px}.panel,.kpi{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.kpi{margin:0}.kpi strong{display:block;font-size:32px;margin:8px 0}.muted,small{color:var(--muted)}.tag{display:inline-block;font-size:11px;padding:4px 7px;background:#e9f3f4;border-radius:5px;margin:2px}.green{color:#087651}.red{color:#b52f3d}.amber{color:#926400}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px;vertical-align:top}th{background:#f2f6f8}progress{width:100%;height:13px;accent-color:var(--teal)}.split{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.notice{border-left:4px solid var(--gold);padding:12px 16px;background:#fff9e9;margin:16px 0;line-height:1.5}dialog{border:0;border-radius:14px;padding:25px;max-width:900px;width:95vw;max-height:92vh;overflow:auto;box-shadow:0 15px 70px #1236}dialog::backdrop{background:#102d44aa}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.full{grid-column:1/-1}.ods{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ods article{padding:15px;background:white;border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:8px}.chart{height:190px;width:100%}footer{margin:25px 0;color:var(--muted);font-size:12px}.pill{font-size:11px;border:1px solid #88a9b9;padding:5px 9px;border-radius:20px}.action{padding:15px;border-bottom:1px solid var(--line)}#toast{position:fixed;bottom:25px;right:25px;background:var(--navy);color:white;padding:15px;border-radius:8px;display:none;z-index:10}@media(max-width:850px){aside{position:static;width:auto;padding:15px}aside h2{margin:5px 0}nav{display:flex;flex-wrap:wrap}nav button{width:auto;padding:8px}main{margin:0;padding:15px}.split,.fields{grid-template-columns:1fr}.full{grid-column:auto}}@media print{aside,.noprint,dialog,#toast{display:none!important}main{margin:0;padding:0}body{background:white}.panel{break-inside:avoid}table{font-size:9px}.scroll{overflow:visible}h1{font-size:24px}@page{size:A4 landscape;margin:12mm}}
.entry-context{background:#edf6f7;border-radius:9px;padding:14px}.entry-context p{margin:8px 0 0}.entry-details{border:1px solid var(--line);border-radius:9px;padding:14px;background:#fbfcfd}.entry-details summary{cursor:pointer;font-weight:650}.technical-copy{white-space:pre-wrap;line-height:1.6;max-height:300px;overflow:auto;padding:12px;background:white;border-radius:6px}#entryParts td:first-child{min-width:240px}#entryParts td:nth-child(2){min-width:130px}#entryParts td:nth-child(3){min-width:100px}#entryParts input{min-width:90px}dialog{max-width:850px}dialog label{font-size:14px}dialog small{display:block;margin-top:7px}dialog .bar{position:sticky;bottom:-25px;background:white;padding:15px 0;border-top:1px solid var(--line)}

.dashboard-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(125deg,#112c44,#155c70);color:white;border-radius:14px;padding:25px;margin:22px 0}.dashboard-hero small{color:#b7dce1;letter-spacing:1px}.dashboard-hero h2{font-size:28px;margin:6px 0}.dashboard-hero p{margin:4px 0;color:#d4e6ec}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.hero-actions button{font-size:12px}.dashboard-kpis .kpi:nth-child(2){border-top:4px solid #007e87}.dashboard-kpis .kpi:nth-child(4){border-top:4px solid #c14d57}.dashboard-grid{align-items:start;display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-grid>.panel{margin:12px 0;min-width:0}.chart-caption{color:#607587;font-size:12px;margin-top:-4px}.ring-wrap{display:flex;align-items:center;justify-content:center;gap:24px;min-height:205px}.ring-wrap svg{width:190px;max-width:50%;flex-shrink:0}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.ring-wrap .chart-legend{display:grid;gap:14px}.chart-legend span{display:flex;gap:7px;align-items:center}.chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.horizontal-chart{padding:7px 0}.hrow{margin:15px 0}.hrow-title{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:12px;margin-bottom:7px}.hrow-title span{line-height:1.4}.hrow-title b{white-space:nowrap}.htrack{height:12px;background:#e9eff2;border-radius:6px;overflow:hidden}.hfill{height:100%;border-radius:6px;transition:width .3s}.empty-chart{padding:35px 15px;line-height:1.7;text-align:center;color:#607587;background:#f7fafb;border-radius:10px;margin:14px 0;min-height:110px}.chart-link{border:0;color:#007e87;padding-left:0;font-weight:650}.trend-svg{width:100%;height:auto;max-height:330px;margin-top:12px}.chart-data{margin-top:15px}.chart-data summary{cursor:pointer;color:#007e87;font-weight:600}.priority{padding:16px 0;border-bottom:1px solid #dce5e9}.priority p{margin:7px 0;font-size:12px}.presentation-exit{display:none}.presentation-mode aside{display:none}.presentation-mode main{margin-left:auto;margin-right:auto;max-width:1500px}.presentation-mode .presentation-exit{display:block;position:fixed;right:15px;top:10px;z-index:5;box-shadow:0 3px 15px #112c4425}.presentation-mode header{padding-top:16px}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{display:block}.hero-actions{justify-content:flex-start;margin-top:18px}}@media(max-width:500px){.ring-wrap{gap:8px}.ring-wrap svg{width:150px}.dashboard-hero{padding:18px}.hrow-title{font-size:11px}.dashboard-kpis{grid-template-columns:1fr 1fr}.kpi{padding:14px}.kpi strong{font-size:25px}}@media print{.dashboard-hero{background:#112c44!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dashboard-grid{grid-template-columns:1fr 1fr}.hfill,svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.panel{break-inside:avoid}.trend-svg{max-height:250px}.dashboard-grid .panel{padding:14px}.ring-wrap svg{width:155px}}
@media(max-width:600px){.chart-scroll,#seriesChart{overflow-x:auto}.trend-svg{min-width:580px}.chart-scroll{max-width:100%}}

/* Autenticação, barra de usuário e telas de servidor */
.user-box{margin:22px 0 10px;display:grid;gap:8px}.user-box .pill{background:#25516c;border-color:#25516c;color:#fff}.user-box form{margin:0}.logout{width:100%;background:transparent;color:#d9e8ef;border-color:#3a6785}.logout:hover{background:#25516c}
.navlink{display:block;padding:13px;border-radius:9px;margin:5px 0;color:#d9e8ef;text-decoration:none}.navlink.active,.navlink:hover{background:#25516c;color:#fff}
nav .navlink-out{display:block;width:100%;text-align:left;background:transparent;color:#d9e8ef;border:0;padding:13px;border-radius:9px;margin:5px 0;text-decoration:none}
nav .navlink-out:hover{background:#25516c;color:#fff}
form.inline{display:inline-flex;gap:6px;align-items:center;margin:2px 0}.notice-erro{border-left-color:#b52f3d;background:#fdeef0}.notice-ok{border-left-color:#087651;background:#eaf7f1}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(125deg,#112c44,#155c70);padding:20px}
.login-card{background:#fff;border-radius:16px;padding:36px;width:100%;max-width:420px;box-shadow:0 15px 70px #0006}
.login-card h1{font-size:28px;line-height:1.2;margin:8px 0}.login-kicker{color:#926400;letter-spacing:1px;font-weight:700}.login-card form{display:grid;gap:16px;margin-top:22px}
.login-btn{padding:13px;font-weight:650}.login-erro{background:#fdeef0;border-left:4px solid #b52f3d;color:#7d1f2a;padding:12px 14px;margin-top:16px;border-radius:4px}
.login-foot{margin:24px 0 0;font-size:11px;color:var(--muted);text-align:center;letter-spacing:.5px}
@media print{aside{display:none}main{margin-left:0}.noprint{display:none!important}}

/* ===== Menu lateral — vidro (padrão Operis: azul profundo, translúcido, cantos arredondados) ===== */
:root{--r-sm:10px;--r-md:14px;--r-lg:22px;--midnight:#112c44;--midnight-2:rgba(255,255,255,.15);--glass-bg:rgba(255,255,255,.38);--glass-line:rgba(255,255,255,.65)}
body{background:#eaf0f4}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(620px 460px at -4% 8%,rgba(0,126,135,.38),transparent 70%),
 radial-gradient(520px 520px at 6% 100%,rgba(217,168,67,.30),transparent 70%),
 radial-gradient(460px 420px at 26% 42%,rgba(59,117,165,.22),transparent 70%)}
.login-body::before{display:none}
aside.glass-aside{inset:12px auto 12px 12px;width:256px;border-radius:var(--r-lg);padding:22px 14px 14px;display:flex;flex-direction:column;
 background:linear-gradient(160deg,#0f2a3f 0%,#113850 55%,#14505f 100%);border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 40px rgba(17,44,68,.35);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
aside.glass-aside>*{position:relative}
main{margin-left:284px}
.side-brand{padding:0 8px 6px}.side-brand h2{margin:6px 0 4px}.side-brand p{margin:6px 0 0;font-size:12px;line-height:1.45;color:#c4dbe6}
.menu-grupo{margin:12px 0 4px}
.menu-titulo{display:flex;align-items:center;gap:7px;padding:4px 10px 6px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#9fc0d1}
.menu-titulo i{font-size:10px;color:#f2c25c}
.menu-grupo ul,.mf-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.menu-item{position:relative;border-radius:var(--r-md)}
.menu-item>a{display:flex;align-items:center;gap:11px;padding:9px 12px 9px 11px;border-radius:var(--r-md);color:#dcebf3;text-decoration:none;font-size:13px;border:1px solid transparent;transition:background .18s,border-color .18s,color .18s,transform .18s}
.menu-item>a>i{width:18px;text-align:center;font-size:13px;opacity:.85;flex:0 0 auto}
.menu-item>a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-item>a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.12);color:#fff}
.menu-item>a.active{background:var(--midnight-2);border-color:rgba(255,255,255,.28);color:#fff;font-weight:650;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 18px rgba(0,0,0,.16)}
.menu-item>a.active>i{opacity:1;color:#8fe3e9}
.menu-item>a:focus-visible,.menu-grip:focus-visible,.mf-star:focus-visible,.mf-toggle:focus-visible,.menu-reset:focus-visible{outline:2px solid #8fe3e9;outline-offset:2px}
.menu-grip,.mf-star{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;border:0;border-radius:8px;background:transparent;color:#b5cfdd;font-size:11px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,color .15s,background .15s}
.menu-grip{right:30px;cursor:grab}.mf-star{right:6px}
.menu-grip:active{cursor:grabbing}
.menu-item:hover>.menu-grip,.menu-item:hover>.mf-star,.menu-grip:focus-visible,.mf-star:focus-visible{opacity:.85}
.menu-grip:hover,.mf-star:hover{opacity:1!important;background:rgba(255,255,255,.2);filter:none}
.mf-star:hover,.mf-star.is-on{color:#f5b942}.mf-star.is-on{opacity:1}
.menu-item.is-dragging{opacity:.45}.is-reordering .menu-grip{opacity:.6}
.menu-item.drop-antes>a{box-shadow:0 -2px 0 #8fe3e9}.menu-item.drop-depois>a{box-shadow:0 2px 0 #8fe3e9}
.mf-bloco{margin:10px 0 4px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16)}.mf-bloco[hidden]{display:none}
.mf-vazio{font-size:12px;line-height:1.5;color:#b5cfdd;padding:6px 10px}
nav.mf-so .menu-grupo{display:none}nav.mf-so .mf-bloco{border-bottom:0}
.side-tools{margin-top:8px;display:grid;gap:6px}
.mf-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 11px;border-radius:var(--r-md);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#dcebf3;font-size:13px;text-align:left}
.mf-toggle:hover{background:rgba(255,255,255,.12);filter:none}
.mf-toggle>span:first-child{display:flex;align-items:center;gap:10px}.mf-toggle i{width:18px;text-align:center;color:#f5b942}
.mf-chave{position:relative;flex:0 0 auto;width:34px;height:19px;border-radius:99px;background:rgba(255,255,255,.28);transition:background .2s}
.mf-chave::after{content:'';position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.mf-toggle[aria-checked=true] .mf-chave{background:#f5b942}.mf-toggle[aria-checked=true] .mf-chave::after{transform:translateX(15px)}
.menu-reset{background:transparent;border:1px dashed rgba(255,255,255,.28);color:#b5cfdd;border-radius:var(--r-md);padding:7px 10px;font-size:12px}
.menu-reset:hover{background:rgba(255,255,255,.1);filter:none}.menu-reset[hidden]{display:none}
aside.glass-aside .user-box{margin:14px 0 6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}
aside.glass-aside .user-box .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);border-radius:var(--r-md);padding:8px 11px;font-size:12px}
aside.glass-aside .logout{border-radius:var(--r-md);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
aside.glass-aside>small#saveState{display:block;padding:2px 8px;font-size:10.5px;color:#9fc0d1}
pre.sqlview{background:#0f2a40;color:#d9e8ef;padding:16px;border-radius:var(--r-md);overflow:auto;font-size:12px;line-height:1.55;white-space:pre-wrap}
code{background:#e9f3f4;padding:1px 6px;border-radius:5px;font-size:12px}
a.btn{display:inline-block;text-decoration:none;font-size:13px;margin:2px}
@media(max-width:850px){aside.glass-aside{position:static;width:auto;margin:10px;border-radius:var(--r-lg);max-height:none}main{margin-left:0}.menu-grip,.mf-star{opacity:.7}nav{display:block}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Elementos translúcidos (vidro): barra superior, janelas e avisos. O menu lateral é sólido (Midnight blue). */
.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-line);box-shadow:0 8px 28px rgba(17,44,68,.12),inset 0 1px 0 rgba(255,255,255,.8)}
.topo-fixo{--barra-h:58px;--barra-px:16px;position:sticky;top:12px;z-index:6;margin-bottom:18px;display:grid;gap:8px}
/* As duas barras do topo (parceiros e ferramentas) compartilham altura, cantos, borda, sombra e recuos */
.topo-fixo>.topbar,.topo-fixo>.parceiros{box-sizing:border-box;min-height:var(--barra-h);padding:0 var(--barra-px);border-radius:var(--r-lg);border:1px solid var(--glass-line);box-shadow:0 8px 28px rgba(17,44,68,.12)}
.topo-fixo>.parceiros{border-color:rgba(255,255,255,.1)}
.topo-fixo>.topbar{box-shadow:0 8px 28px rgba(17,44,68,.12),inset 0 1px 0 rgba(255,255,255,.8)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.topbar .crumb{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;color:var(--muted)}
.topbar .crumb b{color:var(--navy);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .crumb i{font-size:11px;opacity:.6}
.topbar .top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.topbar .top-actions .btn,.topbar .top-actions button{border-radius:var(--r-md);padding:7px 12px;font-size:12px;background:rgba(255,255,255,.6)}
.topbar .who{font-size:12px;padding:6px 12px;border-radius:var(--r-md);background:rgba(17,44,68,.08);color:var(--navy);white-space:nowrap}
dialog{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.75);border-radius:var(--r-lg)}
dialog::backdrop{background:rgba(17,44,68,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog .bar{background:rgba(255,255,255,.7)}
#toast{background:rgba(17,44,68,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md)}
@media(max-width:850px){.topo-fixo{top:6px}}
@media print{.topbar,.parceiros{display:none}}

/* Aviso de demonstração discreto */

/* Botão da barra superior */
.top-ico{width:34px;height:34px;padding:0;border-radius:var(--r-md);background:rgba(255,255,255,.55);display:inline-flex;align-items:center;justify-content:center;color:var(--navy)}
.top-ico:hover{background:rgba(255,255,255,.9);filter:none}


/* Menu recolhido (desktop): coluna de ícones + janelinha ao passar o mouse */
@media(min-width:851px){
 .sidebar-collapsed aside.glass-aside{width:76px;padding:16px 10px 12px}
 .sidebar-collapsed main{margin-left:104px}
 .sidebar-collapsed .menu-titulo{font-size:0;padding:0;height:1px;background:rgba(255,255,255,.14);margin:12px 10px 8px}
 .sidebar-collapsed .menu-titulo i{display:none}
 .sidebar-collapsed .menu-item>a{justify-content:center;padding:11px 0}
 .sidebar-collapsed .menu-item>a>span,.sidebar-collapsed .menu-grip,.sidebar-collapsed .mf-star:not(.is-on){display:none}
 .sidebar-collapsed .mf-lista .mf-star,.sidebar-collapsed .mf-vazio,.sidebar-collapsed .mf-chave{display:none}
 .sidebar-collapsed .mf-toggle{justify-content:center;padding:10px 0}.sidebar-collapsed .mf-toggle>span:first-child{font-size:0;gap:0}.sidebar-collapsed .mf-toggle i{font-size:14px}
 .sidebar-collapsed .mf-toggle[aria-checked=true]{background:rgba(245,185,66,.18);border-color:rgba(245,185,66,.5)}
 .sidebar-collapsed .menu-reset{font-size:0;padding:9px 0}.sidebar-collapsed .menu-reset i{font-size:13px}
 .sidebar-collapsed .user-box .pill,.sidebar-collapsed .logout{font-size:0;text-align:center;padding:9px 0}.sidebar-collapsed .user-box .pill i,.sidebar-collapsed .logout i{font-size:13px}
 .sidebar-collapsed aside.glass-aside>small#saveState,.sidebar-collapsed .menu-item .mf-star.is-on{display:none}
 .sidebar-collapsed .menu-item>a::after{content:'';position:absolute}
}
#menuFlyout{position:fixed;z-index:60;display:flex;flex-direction:column;gap:2px;min-width:140px;max-width:260px;padding:9px 14px;border-radius:var(--r-md);background:rgba(17,44,68,.88);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.22);color:#fff;box-shadow:0 12px 32px rgba(17,44,68,.35),inset 0 1px 0 rgba(255,255,255,.2);pointer-events:none;font-size:13px}
#menuFlyout[hidden]{display:none}#menuFlyout small{color:#9fc0d1;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
#menuFlyout::before{content:'';position:absolute;left:-6px;top:50%;width:11px;height:11px;margin-top:-5px;background:inherit;border-left:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);transform:rotate(45deg);border-radius:0 0 0 3px}


/* Perfil leitor: sem botões de edição (o servidor também bloqueia) */
body.readonly button[onclick^="editRecord"],body.readonly button[onclick^="editIndicator"],body.readonly button[onclick^="editAction"]{display:none}
body.readonly .hero-actions .primary,body.readonly .priority button{display:none}

/* Sobre e tour guiado */
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:12px 0 20px}
.about-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:18px}
.about-card i{width:38px;height:38px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#112c44,#14505f);color:#fff;font-size:15px}
.about-card h3{margin:12px 0 6px;font-size:15px}.about-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.tour-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}.tour-hero h2{margin-top:0}
.tour-lista{margin:0;padding:14px 14px 14px 34px;background:#f4f8fa;border-radius:var(--r-md);columns:2;font-size:12px;line-height:1.9;color:var(--muted)}
.tour-ov{position:fixed;inset:0;z-index:100}
.tour-luz{position:fixed;border-radius:var(--r-md);box-shadow:0 0 0 9999px rgba(17,44,68,.66),0 0 0 2px rgba(143,227,233,.9);transition:left .25s,top .25s,width .25s,height .25s;pointer-events:none}
.tour-card{position:fixed;width:min(340px,calc(100vw - 24px));padding:18px 18px 14px;border-radius:var(--r-lg);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(17,44,68,.4);border:1px solid rgba(255,255,255,.8);transition:left .25s,top .25s}
.tour-card h3{margin:4px 0 6px;font-size:17px}.tour-card p{margin:0 0 14px;font-size:13px;line-height:1.55}.tour-n{color:var(--teal);font-weight:700;letter-spacing:.04em}
.tour-acoes{display:flex;gap:8px;align-items:center}.tour-acoes span{flex:1}.tour-acoes button{padding:8px 13px;font-size:13px;border-radius:var(--r-md)}.tour-acoes button:disabled{opacity:.4;cursor:default}
@media(max-width:850px){.tour-hero{grid-template-columns:1fr}.tour-lista{columns:1}}
@media(prefers-reduced-motion:reduce){.tour-luz,.tour-card{transition:none}}
html:not(.sidebar-collapsed) #menuFlyout{display:none!important}
footer a{color:var(--teal);text-decoration:none;font-weight:600}footer a:hover{text-decoration:underline}footer i{margin-right:4px;opacity:.7}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0}.tab{padding:9px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.55);border:1px solid var(--glass-line);color:var(--navy);text-decoration:none;font-weight:600;font-size:13px}.tab.on{background:linear-gradient(160deg,#0f2a3f,#14505f);color:#fff;border-color:transparent}
.timeline{list-style:none;margin:14px 0 0;padding:0 0 0 18px;border-left:2px solid var(--line)}.timeline li{position:relative;padding:0 0 22px 18px}.timeline li::before{content:'';position:absolute;left:-26px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #e1f1f2}
.timeline h3{margin:6px 0 4px;font-size:15px}.timeline p{margin:4px 0;font-size:13px;color:var(--muted);line-height:1.55}.tl-head{font-size:12px}
.tl-major{background:#e5e3fb}.tl-minor{background:#dff1ee}.tl-patch{background:#f1f1e0}.tl-sprint{background:#fbebd5}
.presentation-exit{border-radius:var(--r-md)!important;background:rgba(255,255,255,.88)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-weight:650;padding:9px 16px!important}

/* Marca: logo + nome no menu aberto; só o logo no recolhido */
.brand-link{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand-logo{display:block;width:100%;height:auto;transition:transform .2s}
.brand-icone{display:none;width:auto;height:46px;transition:transform .2s}
.brand-link:hover .brand-logo,.brand-link:hover .brand-icone{transform:scale(1.04)}
.side-brand p{margin:12px 2px 0}
.login-logo{display:block;width:100%;max-width:300px;height:auto;margin:0 auto 14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(min-width:851px){
 .sidebar-collapsed .side-brand{padding:0}
 .sidebar-collapsed .brand-link{justify-content:center}
 .sidebar-collapsed .side-brand p{display:none}
 .sidebar-collapsed .brand-logo{display:none}
 .sidebar-collapsed .brand-icone{display:block}
}

/* Modo apresentação: sem menu lateral; barra superior com o botão Voltar */
.btn-voltar{display:none;border-radius:var(--r-md);padding:8px 16px;font-weight:650;background:linear-gradient(160deg,#0f2a3f,#14505f)!important;color:#fff;border-color:transparent}
.presentation-mode aside.glass-aside{display:none!important}
.presentation-mode main,.presentation-mode.sidebar-collapsed main,.sidebar-collapsed .presentation-mode main{margin-left:auto!important;margin-right:auto;max-width:1500px}
.presentation-mode .btn-voltar{display:inline-flex;align-items:center;gap:8px}
.presentation-mode #menuCollapse,.presentation-mode .topbar .who,.presentation-mode .topbar .top-actions>button:not(.btn-voltar){display:none}
.presentation-mode .topbar .crumb span,.presentation-mode .topbar .crumb>i{display:inline}

body{min-height:100vh}

/* Busca global */
.top-search{position:relative;flex:1;max-width:460px;min-width:140px}
.top-search>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);pointer-events:none}
.top-search input{padding:9px 38px 9px 36px;border-radius:var(--r-md);background:rgba(255,255,255,.62);border:1px solid rgba(17,44,68,.12);font-size:13px}
.top-search input:focus{outline:2px solid var(--teal);outline-offset:1px;background:#fff}
.top-search kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 11px system-ui;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 6px;background:#fff;pointer-events:none}
.top-search input:focus~kbd{display:none}
.search-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:min(60vh,460px);overflow:auto;border-radius:var(--r-lg);padding:8px;background:rgba(255,255,255,.9)}
.search-panel[hidden]{display:none}
.sp-grupo{padding:8px 10px 4px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sp-item{display:flex;gap:11px;align-items:center;padding:8px 10px;border-radius:var(--r-md);color:var(--navy);text-decoration:none}
.sp-item i{width:30px;height:30px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;background:#e6f1f3;color:var(--teal);font-size:13px;flex:0 0 auto}
.sp-item span{display:flex;flex-direction:column;min-width:0}.sp-item b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-item small{margin:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-item:hover,.sp-item.on{background:rgba(0,126,135,.12)}
.sp-vazio{padding:16px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:850px){.topbar{flex-wrap:wrap}.top-search{order:3;flex:1 1 100%;max-width:none}}
.presentation-mode .top-search{display:none}
@media print{.top-search{display:none}}

/* Divisória discreta entre os grupos do menu */
.menu-grupo{margin:6px 0 2px;padding-top:10px}
.menu-grupo+.menu-grupo,.mf-bloco+.menu-grupo{border-top:1px solid rgba(255,255,255,.1)}
.mf-bloco+.menu-grupo{border-top:0}
.sidebar-collapsed .menu-grupo+.menu-grupo{border-top:0}
/* Painel da busca com largura própria (o campo é estreito em telas pequenas) */
.search-panel{min-width:min(380px,calc(100vw - 32px));right:auto}
.search-panel{left:auto;right:0}
.top-search{max-width:300px}
.top-search input{padding:6px 34px 6px 32px;font-size:12px}
.top-search>i{left:11px;font-size:12px}

/* Login: senha com olho e desafio de arrastar a peça */
.pw-wrap{position:relative}.pw-wrap input{padding-right:42px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0;background:transparent;color:#7d8fa0}.pw-eye:hover{color:var(--teal);filter:none}
.slider-check{width:100%}
.slider-toggle{width:100%;min-height:48px;padding:10px 13px;display:flex;align-items:center;gap:12px;border:1px solid #cdd9e0;border-radius:var(--r-md);background:#fff;color:var(--navy);font-size:14px;text-align:left}
.slider-toggle[hidden],.slider-box[hidden],.slider-success[hidden]{display:none}
.slider-toggle:hover{border-color:var(--teal);filter:none}
.slider-toggle__box{width:20px;height:20px;display:grid;place-items:center;border:1.5px solid #9fb2bf;border-radius:6px;color:#fff;flex:0 0 auto;font-size:13px}
.slider-toggle.is-loading .slider-toggle__box{width:14px;height:14px;margin:0 3px;border:2px solid #cfdbe2;border-top-color:var(--teal);border-radius:50%;animation:sl-spin .7s linear infinite}
.slider-toggle.is-verified{border-color:rgba(22,130,96,.4);color:#168260}.slider-toggle.is-verified .slider-toggle__box{background:#168260;border-color:#168260}
@keyframes sl-spin{to{transform:rotate(360deg)}}
.slider-box{margin-top:10px}
.slider-stage{position:relative;width:320px;max-width:100%;aspect-ratio:2/1;overflow:hidden;border:1px solid #cdd9e0;border-radius:var(--r-md);background:#f1f5f7;user-select:none}
.slider-stage img{display:block;width:100%;height:100%}
.slider-piece{position:absolute;left:0;pointer-events:none;filter:drop-shadow(0 4px 4px rgba(17,44,68,.25));will-change:transform}
.slider-piece.is-settling{transition:transform .15s ease}
.slider-success{position:absolute;inset:0;display:grid;place-items:center;background:rgba(22,130,96,.16);color:#0c5a42;font-size:13px;font-weight:700}
.slider-success span{padding:7px 13px;border-radius:99px;background:rgba(255,255,255,.92)}
.slider-range{width:320px;max-width:100%;height:30px;margin:8px 0 0;padding:0;border:0;accent-color:var(--teal);cursor:ew-resize}
.slider-status{min-height:18px;margin:2px 0 0;font-size:12px;color:var(--muted)}.slider-status.is-error{color:#b52f3d}.slider-status.is-ok{color:#168260}
.login-btn:disabled{opacity:.5;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.slider-piece.is-settling{transition:none}.slider-toggle.is-loading .slider-toggle__box{animation:none}}

/* ===== Mobile: barra inferior com ícones, como um app ===== */
.bottomnav,.sheet,.sheet-backdrop{display:none}
@media(max-width:850px){
 aside.glass-aside{display:none!important}
 #menuCollapse{display:none}
 main{padding:12px 14px calc(96px + env(safe-area-inset-bottom))}
 .topo-fixo{--barra-h:46px;--barra-px:12px;top:8px;margin-bottom:12px;gap:6px}
 .topo-fixo>.topbar{padding-block:6px}
 .topbar .crumb span,.topbar .crumb>i,.topbar .who{display:none}
 .bottomnav{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;padding:6px;border-radius:24px;
  background:linear-gradient(160deg,#0f2a3f 0%,#113850 55%,#14505f 100%);box-shadow:0 12px 34px rgba(17,44,68,.45);border:1px solid rgba(255,255,255,.12)}
 .bottomnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:0;border-radius:18px;background:transparent;color:#b5cfdd;font-size:10.5px;font-weight:600}
 .bottomnav button i{font-size:18px}
 .bottomnav button.on{background:rgba(255,255,255,.16);color:#fff}
 .bottomnav button:hover{filter:none}
 .sheet-backdrop{display:block;position:fixed;inset:0;z-index:80;background:rgba(17,44,68,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
 .sheet{display:block;position:fixed;left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:85;max-height:62vh;overflow:auto;border-radius:22px;padding:8px;background:rgba(255,255,255,.9)}
 .sheet[hidden],.sheet-backdrop[hidden],.sheet-grupo[hidden]{display:none}
 .sheet-titulo{padding:10px 12px 4px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
 .sheet a{display:flex;align-items:center;gap:13px;padding:12px;border-radius:var(--r-md);color:var(--navy);text-decoration:none;font-size:15px}
 .sheet a i{width:34px;height:34px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;background:#e6f1f3;color:var(--teal);font-size:14px}
 .sheet a.active{background:rgba(0,126,135,.14);font-weight:650}
 .sheet-conta{display:grid;gap:8px;padding:6px 8px 8px}.sheet-conta .pill{padding:9px 12px;border-radius:var(--r-md);border-color:var(--line)}.sheet-conta .logout{background:#fff;color:var(--navy);border-color:var(--line)}
 .presentation-mode .bottomnav,.presentation-mode .sheet,.presentation-mode .sheet-backdrop{display:none!important}
 #menuFlyout{display:none!important}
}
@media print{.bottomnav,.sheet,.sheet-backdrop{display:none!important}}

/* ===== Mobile: usabilidade ===== */
.filters-toggle{display:none}
@media(max-width:850px){
 header>.bar:first-child,header>.bar:nth-child(2){display:none}
 header h1{font-size:24px;margin:0 0 4px}
  .filters-toggle{display:inline-flex;align-items:center;gap:8px;margin:2px 0 10px;border-radius:var(--r-md);padding:9px 14px}
 .filters-toggle b{background:var(--teal);color:#fff;border-radius:99px;padding:1px 8px;font-size:11px}
 #filters{display:none!important;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;margin-bottom:12px}
 #filters.open{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
 #filters select,#filters input,#filters button{width:100%;max-width:none;min-height:42px}
 #filters input,#filters #clear{grid-column:1/-1}
 button,select,.btn,.tab{min-height:40px}
 .hero-actions{width:100%}.hero-actions button{flex:1 1 auto}
 .dashboard-hero h2{font-size:22px}
 dialog{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;padding:16px 16px 0}
 dialog .fields{grid-template-columns:1fr}
 dialog .bar{bottom:0;margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 .panel{padding:14px}.kpi strong{font-size:26px}
 .tour-card{left:12px!important;right:12px;width:auto;top:auto!important;bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media(max-width:700px){
 .tbl-cards thead{display:none}
 .tbl-cards,.tbl-cards tbody,.tbl-cards tr,.tbl-cards td{display:block;width:100%}
 .tbl-cards tr{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;margin:0 0 12px;background:#fff}
 .tbl-cards td{border:0;padding:5px 0;display:flex;justify-content:space-between;gap:14px;text-align:right}
 .tbl-cards td:first-child{display:block;text-align:left;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}
 .tbl-cards td[data-label]::before{content:attr(data-label);color:var(--muted);font-weight:600;text-align:left;flex:0 0 auto}
 .tbl-cards .cell-actions{justify-content:stretch;gap:8px;padding-top:8px}.tbl-cards .cell-actions button{flex:1}
 .scroll{overflow:visible}
}

/* Barra de parceiros: faixa na cor do menu lateral, logos em branco; diferencia "institucional" da barra de ferramentas em vidro */
.parceiros{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(160deg,#0f2a3f 0%,#113850 55%,#14505f 100%)}
.parceiros-rotulo{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#b5cfdd}
.parceiros-lista{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,3.2vw,42px);min-width:0;overflow-x:auto;scrollbar-width:none}
.parceiros-lista::-webkit-scrollbar{display:none}
.parceiros-lista li{flex:0 0 auto;display:flex;align-items:center}
.parceiros-lista img{display:block;height:28px;opacity:.92;width:auto;max-width:none;transition:transform .2s}
.parceiros-lista img:hover{transform:scale(1.06);opacity:1}
@media(max-width:850px){.parceiros-rotulo{display:none}.parceiros-lista{justify-content:flex-start;gap:20px}.parceiros-lista img{height:24px}}

.ods-update{min-width:min(720px,86vw)}.ods-update input{width:100%;margin:6px 0 10px}.ods-update-lista{max-height:52vh;overflow:auto}.ods-update td:last-child{text-align:right;white-space:nowrap}
.ods-acoes{display:grid;gap:6px;margin-top:10px}.ods-acoes button{width:100%}

/* Topo das barras alinhado ao topo do menu lateral (ambos a 12px) */
@media(min-width:851px){main{padding-top:12px}}
/* Modo apresentação: gráficos clicáveis abrem a visão 3D */
.presentation-mode [data-g3d]{position:relative;cursor:zoom-in;transition:transform .2s,box-shadow .2s}
.presentation-mode [data-g3d]:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,44,68,.22)}
[data-g3d]{position:relative}[data-g3d]>h2:first-of-type{padding-right:46px}
.g3d-lupa{position:absolute;top:12px;right:14px;width:34px;height:34px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
 border:1px solid rgba(0,126,135,.35);background:rgba(0,126,135,.1);color:var(--teal);font-size:14px;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.g3d-lupa:hover,.g3d-lupa:focus-visible{background:linear-gradient(160deg,#0f2a3f,#14505f);color:#fff;transform:scale(1.08)}

/* Cards da mesma linha com a mesma altura; o conteúdo do menor se distribui em vez de sobrar um vazio embaixo */
.dashboard-grid{align-items:stretch}
.dashboard-grid>.panel{display:flex;flex-direction:column}
.dashboard-grid>.panel>.empty-chart{flex:1;display:flex;flex-direction:column;justify-content:center}
.dashboard-grid>.panel>.chart-link{margin-top:auto;align-self:flex-start}
.dashboard-grid>.panel>.ring-wrap{flex:1}
.dashboard-grid>.panel>p.muted:last-child{margin:auto 0 0;padding-top:12px}

/* Painel largo: lista longa em duas colunas, para não alongar a linha e deixar vazio ao lado */
@media(min-width:851px){.panel-wide .horizontal-chart{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}}
