/* Champion Log — painel da operação. Usa os tokens de champion-ui.css (tema claro e escuro). */

/* ---------- Acesso ---------- */
body:not([data-auth="ready"])>.cl-sidebar,body:not([data-auth="ready"])>.cl-main,body:not([data-auth="ready"])>.cl-mobilebar,body:not([data-auth="ready"])>.cl-overlay{display:none!important}
body[data-auth="ready"]>.auth-screen{display:none}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,1fr);background:var(--cl-bg)}
.auth-story{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:56px clamp(28px,7vw,96px);background:radial-gradient(circle at 85% 12%,rgba(73,182,223,.22),transparent 42%),linear-gradient(150deg,#0d1824 0%,#12263a 55%,#0f3550 100%);color:#e8f0f7;overflow:hidden}
.auth-story::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--cl-stripe)}
.auth-story::after{content:"";position:absolute;width:420px;height:420px;right:-140px;bottom:-160px;border-radius:50%;border:70px solid rgba(255,255,255,.04)}
.auth-story-logo{width:min(320px,70%);height:auto;margin-bottom:22px}
.auth-story .eyebrow{color:#8fd3f0}
.auth-story h2{font-size:clamp(30px,3.4vw,48px);line-height:1.12;letter-spacing:-.03em;margin:0;color:#fff}
.auth-story p{max-width:500px;color:#b9cbdc;font-size:16px;margin:0}
.auth-points{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;color:#d6e3ef;font-size:14px}
.auth-points li{display:flex;gap:10px;align-items:center}
.auth-points li::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(35,169,47,.22);color:#9ee6a8;font-size:12px;font-weight:800}
.auth-side{display:grid;place-items:center;padding:40px 24px}
.auth-card{width:100%;max-width:420px;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:18px;padding:30px;box-shadow:var(--cl-shadow)}
.auth-logo{display:none}
.auth-card h1{font-size:26px;margin:0 0 6px;color:var(--cl-ink);letter-spacing:-.02em}
.auth-card #auth-info{color:var(--cl-muted);margin:0 0 18px}
.auth-card form{display:grid;gap:16px}
.auth-card input{width:100%}
.auth-submit{width:100%;min-height:46px!important;font-size:15px!important;margin-top:4px}
.auth-card #auth-error{color:var(--cl-danger);font-weight:600;min-height:1em;margin:12px 0 0}
.auth-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--cl-line)}
.auth-foot small{color:var(--cl-muted);font-size:12px}
@media(max-width:860px){
 .auth-screen{grid-template-columns:1fr}
 .auth-story{padding:28px 22px 24px;gap:8px}
 .auth-story-logo{width:200px;margin-bottom:8px}
 .auth-story h2{font-size:26px}
 .auth-story p,.auth-points{display:none}
 .auth-side{padding:20px 14px 32px;place-items:start center}
}

/* ---------- Página ---------- */
.page{max-width:1680px;margin:0 auto;padding:26px clamp(16px,2.6vw,36px) 28px}
.cl-main:focus{outline:none}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 24px;flex-wrap:wrap}
.page-heading{min-width:0;max-width:820px}
.page-heading h1{font-size:28px;line-height:1.15;letter-spacing:-.025em;margin:0;color:var(--cl-ink);font-weight:750}
.page-heading p{margin:7px 0 0;color:var(--cl-muted);font-size:14px}
.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.export-group{display:flex;align-items:center;gap:8px}
.export-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--cl-muted)}
.base-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:16px 0 14px}
#status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--cl-muted);min-height:20px}
#status::before{content:"";width:8px;height:8px;border-radius:50%;background:#2fb36b;flex:none}
#status.error{color:var(--cl-danger);font-weight:600}
#status.error::before{background:var(--cl-danger)}
#status:empty{display:none}
.source-note{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--cl-muted);max-width:900px}
.source-note>span{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--cl-brand-soft);color:var(--cl-brand-ink);font-weight:800;font-size:11px;font-style:italic}
.source-note strong{color:var(--cl-text);font-weight:650}
#session-alert,.viewer-note{margin:0 0 14px}
.viewer-note{align-items:center}

/* ---------- Período ---------- */
.period-bar{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);box-shadow:var(--cl-shadow-sm)}
.period-year{display:flex;align-items:center;gap:10px}
.period-year label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--cl-muted)}
.period-year select{min-height:36px;font-weight:700}
.meses{display:flex;flex:1;gap:4px;flex-wrap:wrap}
.meses button{position:relative;flex:1 0 auto;min-width:48px;border:1px solid transparent;background:transparent;color:var(--cl-text);padding:7px 10px 10px;font-size:13px;font-weight:600;border-radius:8px;text-transform:capitalize;cursor:pointer}
.meses button.tem::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--cl-brand)}
.meses button.vazio{color:var(--cl-muted);font-weight:500}
.meses button:hover:not(.sel){background:var(--cl-brand-soft)}
.meses button.sel{background:var(--cl-brand-solid);color:#fff;box-shadow:0 3px 10px rgba(0,124,166,.25)}
.meses button.sel::after{background:#fff}

/* ---------- KPIs ---------- */
.overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}
.summary{display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:16px 16px 12px;box-shadow:var(--cl-shadow-sm)}
.summary.featured{background:linear-gradient(140deg,#006a8f 0%,#007ca6 60%,#0a91bf 100%);border-color:transparent;color:#fff}
html[data-theme=dark] .summary.featured{background:linear-gradient(140deg,#0a5d7d,#0a7fa9)}
.summary-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:650;color:var(--cl-muted)}
.summary.featured .summary-label,.summary.featured small{color:#d7f1fb}
.summary-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--cl-brand-soft);color:var(--cl-brand-ink);font-size:13px}
.summary.featured .summary-icon{background:rgba(255,255,255,.16);color:#fff}
.summary-value{font-size:26px;font-weight:750;letter-spacing:-.02em;color:var(--cl-ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary.featured .summary-value{color:#fff}
.summary-value .of{font-size:16px;color:var(--cl-muted);font-weight:600}
.summary-chips{display:flex;gap:5px;flex-wrap:wrap;min-height:20px}
.summary.featured .chip{background:rgba(255,255,255,.16);color:#fff}
.summary-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto}
.summary small{font-size:11px;color:var(--cl-muted)}
.summary .spark{flex:none}
.summary.featured .spark-line{stroke:#fff}.summary.featured .spark-area{fill:rgba(255,255,255,.14)}.summary.featured .spark-dot,.summary.featured .spark-sel{fill:#fff}
.goal-body{display:flex;align-items:center;gap:12px}
.ring{width:56px;height:56px;flex:none}
.ring-bg{fill:none;stroke:var(--cl-surface-3);stroke-width:7}
.ring-fg{fill:none;stroke:var(--cl-ok);stroke-width:7;stroke-linecap:round}
.goal-actions{margin-top:auto;min-height:20px}
.goal-ok{font-size:11px;color:var(--cl-ok);font-weight:600}

/* ---------- Spark ---------- */
.spark{display:block;overflow:visible}
.spark-line{fill:none;stroke:var(--cl-chart-cur);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.spark-area{fill:var(--cl-chart-hover)}
.spark-dot{fill:var(--cl-chart-cur)}
.spark-sel{fill:var(--cl-surface);stroke:var(--cl-chart-cur);stroke-width:2}

/* ---------- Filtros ---------- */
.filters-card{background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);box-shadow:var(--cl-shadow-sm);margin:0 0 10px;scroll-margin-top:72px}
.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;padding:6px 14px 0;border-bottom:1px solid var(--cl-line);flex-wrap:wrap}
.group-tabs{display:flex;gap:2px;flex-wrap:wrap;overflow-x:auto}
.group-tabs button{position:relative;display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:12px 10px;color:var(--cl-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.group-tabs button .count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--cl-neutral-soft);font-size:11px;line-height:18px;text-align:center}
.group-tabs button:hover{color:var(--cl-text)}
.group-tabs button.sel{color:var(--cl-brand-ink)}
html[data-theme=dark] .group-tabs button.sel{color:var(--cl-brand)}
.group-tabs button.sel::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--cl-brand)}
.group-tabs button.sel .count{background:var(--cl-brand-soft);color:var(--cl-brand-ink)}
.attention-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--cl-text);font-size:13px;font-weight:600;white-space:nowrap;padding:8px 0}
.bi-toolbar{display:flex;align-items:flex-end;gap:12px 16px;padding:12px 14px 14px;flex-wrap:wrap}
.bi-toolbar label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--cl-muted);display:flex;flex-direction:column;gap:5px;text-transform:uppercase}
.search-label{flex:1 1 240px;max-width:340px}
.bi-toolbar input[type=search]{width:100%;text-transform:none;letter-spacing:0;font-weight:400;padding-left:34px;background-image:linear-gradient(transparent,transparent);position:relative}
.search-label{position:relative}
.search-label::after{content:"⌕";position:absolute;left:11px;bottom:9px;font-size:16px;color:var(--cl-muted);text-transform:none;pointer-events:none}
.status-filter{display:flex;flex-wrap:wrap;gap:6px}
.status-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 10px 5px 12px;border-radius:999px;border:1px solid var(--cl-line-strong);background:var(--cl-surface);color:var(--cl-text);font-size:12px;font-weight:650;cursor:pointer}
.status-chip span{min-width:20px;padding:0 6px;border-radius:999px;background:var(--cl-neutral-soft);font-size:11px;line-height:18px;text-align:center}
.status-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cl-line-strong)}
.status-chip.is-ok::before{background:var(--cl-ok)}.status-chip.is-bad::before{background:var(--cl-bad)}.status-chip.is-info::before{background:var(--cl-brand)}.status-chip.is-empty::before{background:var(--cl-muted)}
.status-chip:hover{border-color:var(--cl-brand)}
.status-chip[aria-pressed=true]{background:var(--cl-brand-soft);border-color:var(--cl-brand);color:var(--cl-brand-ink)}
html[data-theme=dark] .status-chip[aria-pressed=true]{color:#fff}
#annual-controls{display:flex;align-items:flex-end;gap:10px 12px;flex-wrap:wrap}
#annual-controls select{min-height:36px;text-transform:none;letter-spacing:0;font-weight:600}
#annual-controls .toggle{flex-direction:row;align-items:center;gap:7px;padding-bottom:9px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--cl-text);font-weight:600}
#layout-switch{margin-left:auto}
.dica{color:var(--cl-muted);font-size:12px;margin:10px 2px 16px}

/* ---------- Grupos e cartões ---------- */
.ind-group{margin-top:22px}
.ind-group:first-child{margin-top:4px}
.ind-group>h2{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;color:var(--cl-ink);margin:0 0 12px}
.ind-group>h2::after{content:"";height:1px;background:var(--cl-line);flex:1}
.group-count{font-size:11px;font-weight:700;color:var(--cl-muted);background:var(--cl-neutral-soft);border-radius:999px;padding:1px 8px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;align-items:start}
.grade.larga{grid-template-columns:repeat(auto-fill,minmax(440px,1fr))}
.cartao{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:15px 16px 10px;box-shadow:var(--cl-shadow-sm);transition:box-shadow .15s,border-color .15s}
.cartao::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--cl-line-strong)}
.cartao.is-ok::before{background:var(--cl-ok)}.cartao.is-bad::before{background:var(--cl-bad)}.cartao.is-info::before{background:var(--cl-brand)}
.cartao:hover{box-shadow:var(--cl-shadow);border-color:var(--cl-line-strong)}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cartao .nome{font-size:13px;font-weight:650;color:var(--cl-text);margin:0;line-height:1.35}
.card-main{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.cartao .valor{font-size:28px;letter-spacing:-.02em;font-weight:750;line-height:1.1;color:var(--cl-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.un{font-size:12px;color:var(--cl-muted);margin-left:5px;font-weight:500;letter-spacing:0}
.card-spark{flex:none;opacity:.95}
.linha-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--cl-muted)}
.desvio{font-size:11px;font-weight:700;white-space:nowrap}
.desvio.is-ok{color:var(--cl-ok)}.desvio.is-bad{color:var(--cl-bad)}
.chips{display:flex;gap:5px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--cl-line)}
.chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 7px;border-radius:999px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.bom{color:var(--cl-ok);background:var(--cl-ok-soft)}
.ruim{color:var(--cl-bad);background:var(--cl-bad-soft)}
.neutro{background:var(--cl-neutral-soft);color:var(--cl-muted)}
.card-actions{display:flex;justify-content:space-between;gap:8px;margin-top:2px}
.link-btn{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--cl-brand-ink);font-size:12px;font-weight:650;padding:6px 4px;border-radius:6px;cursor:pointer}
html[data-theme=dark] .link-btn{color:var(--cl-brand)}
.link-btn:hover{background:var(--cl-brand-soft)}
.link-btn.is-bad{color:var(--cl-bad)!important}
.link-btn[aria-expanded=true] span{display:inline-block;transform:rotate(180deg)}
.gaveta{border-top:1px dashed var(--cl-line-strong);padding:10px 0 4px}
.gaveta h4{font-size:12px;color:var(--cl-brand-ink);margin:0 0 8px}
html[data-theme=dark] .gaveta h4{color:var(--cl-brand)}
.comp{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:12px}
.comp .cn{color:var(--cl-muted)}
.comp .cv{font-weight:650;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.delta{font-size:11px;font-weight:700;margin-left:4px}
.delta.up{color:var(--cl-ok)}.delta.down{color:var(--cl-bad)}.delta.neutro{background:none;color:var(--cl-muted)}
.formula{font-size:11px;color:var(--cl-muted);margin-top:8px;font-style:italic}

/* ---------- Tabela de indicadores ---------- */
.ind-table-wrap{margin-top:4px}
.ind-table td{white-space:nowrap}
.ind-table td:first-child{white-space:normal;min-width:220px}
.ind-table td:first-child b{display:block;color:var(--cl-ink);font-weight:650}
.ind-table td:first-child small{color:var(--cl-muted);font-size:11px}
.ind-table tbody tr{cursor:pointer}
.ind-table tbody tr:focus-visible{outline:2px solid var(--cl-brand);outline-offset:-2px}
.ind-table .chip{margin-left:4px}

/* ---------- Gráficos ---------- */
.graf{display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:16px;box-shadow:var(--cl-shadow-sm)}
.graph-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.graf .nome{font-size:14px;font-weight:700;margin:0;color:var(--cl-ink)}
.graph-heading small{font-size:12px;color:var(--cl-muted)}
.expand-chart{flex:none;display:grid;place-items:center;width:34px;height:34px;font-size:17px;border-radius:9px;border:1px solid var(--cl-line);background:var(--cl-surface-2);color:var(--cl-brand-ink);cursor:pointer}
.expand-chart:hover{border-color:var(--cl-brand);background:var(--cl-brand-soft)}
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.resumo>div,.dialog-kpis>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:9px;background:var(--cl-surface-2);border:1px solid var(--cl-line);min-width:0}
.resumo small,.dialog-kpis small{font-size:11px;color:var(--cl-muted)}
.resumo b,.dialog-kpis b{font-size:15px;color:var(--cl-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.chart{display:block;width:100%;height:auto;overflow:visible;font-family:var(--cl-font)}
.chart .g-grid{stroke:var(--cl-chart-grid);stroke-width:1}
.chart .g-axis{fill:var(--cl-chart-axis);font-size:11px}
.chart-lg .g-axis{font-size:13px}
.chart .g-month.is-sel{font-weight:700;fill:var(--cl-ink)}
.chart .g-meta{stroke:var(--cl-chart-meta);stroke-width:2;stroke-dasharray:6 5}
.chart .g-meta-label{fill:var(--cl-chart-meta);font-size:11px;font-weight:700}
.chart-lg .g-meta-label{font-size:13px}
.chart .g-line{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.chart .g-line.g-cur{stroke:var(--cl-chart-cur);stroke-width:3}
.chart .g-line.g-prev{stroke:var(--cl-chart-prev);stroke-dasharray:1 0}
.chart .g-pt{stroke:var(--cl-surface);stroke-width:1.5}
.chart .g-pt.g-cur{fill:var(--cl-chart-cur)}
.chart .g-pt.g-prev{fill:var(--cl-chart-prev)}
.chart .g-pt.is-ok{fill:var(--cl-ok)}
.chart .g-pt.is-bad{fill:var(--cl-bad)}
.chart .g-bar.g-cur{fill:var(--cl-chart-cur)}
.chart .g-bar.g-cur.is-ok{fill:var(--cl-ok)}
.chart .g-bar.g-cur.is-bad{fill:var(--cl-bad)}
.chart .g-bar.g-prev{fill:var(--cl-chart-prev);opacity:.7}
.chart .g-sel{fill:var(--cl-chart-band);opacity:.75}
.chart .g-val{fill:var(--cl-ink);font-size:12px;font-weight:700}
.chart-hit{cursor:pointer}
.chart-hit:hover,.chart-hit:focus{fill:var(--cl-chart-hover);outline:none}
.chart-empty{padding:40px 10px;text-align:center;color:var(--cl-muted);background:var(--cl-surface-2);border-radius:9px;margin:0}
.legenda{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--cl-muted);font-size:11px;align-items:center}
.legenda span::before{content:"";display:inline-block;width:14px;border-top:3px solid var(--cl-chart-cur);margin-right:6px;vertical-align:middle;border-radius:2px}
.legenda .l25::before{border-color:var(--cl-chart-prev)}
.legenda .lm::before{border-top:2px dashed var(--cl-chart-meta)}
.legenda .lg-hint::before{display:none}
.legenda .lg-hint{margin-left:auto}
#chart-tooltip{position:fixed;z-index:3500;display:flex;flex-direction:column;gap:2px;min-width:200px;max-width:300px;background:#10263a;color:#e8f0f7;border:1px solid #2b4560;border-radius:10px;padding:10px 12px;box-shadow:var(--cl-shadow-lg);font-size:12px;pointer-events:none}
#chart-tooltip strong{font-size:13px;color:#fff;margin-bottom:2px}
#chart-tooltip span{color:#c3d3e2}

/* ---------- Diálogo de indicador ---------- */
dialog.chart-dialog{width:min(1180px,calc(100vw - 24px))}
#dialog-formula{font-style:italic}
.dialog-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:8px;margin-bottom:14px;align-items:stretch}
.dialog-kpis .dialog-switch{align-self:center;background:var(--cl-surface-3)!important;padding:3px!important;flex-direction:row!important}
#dialog-chart .chart{margin-bottom:6px}
#dialog-table{margin-top:14px}
#dialog-table tr.is-sel td{background:var(--cl-brand-soft)}
.comp-details{margin-top:14px}
.comp-details summary{cursor:pointer;font-weight:650;color:var(--cl-brand-ink);padding:6px 0}
html[data-theme=dark] .comp-details summary{color:var(--cl-brand)}
.table-scroll{overflow:auto;max-width:100%}

/* ---------- Conflito e sessão ---------- */
.conflict-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.conflict-summary>div{padding:12px;border-radius:10px;background:var(--cl-surface-2);border:1px solid var(--cl-line);display:flex;flex-direction:column}
.conflict-summary strong{font-size:22px;color:var(--cl-ink)}
.conflict-summary span{font-size:12px;color:var(--cl-muted)}
.conflict-summary .is-bad{background:var(--cl-bad-soft);border-color:var(--cl-bad-line)}
.conflict-summary .is-bad strong{color:var(--cl-bad)}
.conflict-table tr.is-conflict td{background:var(--cl-warn-soft)}
.conflict-table .keep{display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:12px}
.reauth-body{display:grid;gap:14px}
.form-error{color:var(--cl-danger);font-weight:600;margin:0;min-height:1em}
dialog#conflict-dialog{width:min(900px,calc(100vw - 24px))}
dialog#reauth-dialog{width:min(480px,calc(100vw - 24px))}

/* ---------- Atualizar dados ---------- */
.dados{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.dados-head{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:14px 22px;align-items:center;padding:14px 16px;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);box-shadow:var(--cl-shadow-sm);position:sticky;top:0;z-index:5}
.form-topo{display:flex;gap:12px;align-items:flex-end}
.form-topo select{min-width:110px;font-weight:700}
.completion{display:grid;gap:6px}
.completion-text{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font-size:13px}
.completion-text strong{color:var(--cl-ink)}
.completion-text span{color:var(--cl-warn);font-weight:600;font-size:12px}
.progress{height:8px;border-radius:99px;background:var(--cl-surface-3);overflow:hidden}
.progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cl-brand),var(--cl-logo-green));transition:width .25s}
.dados-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.toggle-inline{display:inline-flex;gap:7px;align-items:center;font-size:13px;font-weight:600;white-space:nowrap}
.upload{background:var(--cl-surface);border:1px dashed var(--cl-line-strong);border-radius:var(--cl-radius)}
.upload summary{display:flex;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.upload summary::-webkit-details-marker{display:none}
.upload summary::before{content:"⇪";display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:var(--cl-brand-soft);color:var(--cl-brand-ink);font-size:16px}
.upload summary span{display:flex;flex-direction:column}
.upload summary small{color:var(--cl-muted);font-size:12px}
.upload summary::after{content:"⌄";margin-left:auto;color:var(--cl-muted)}
.upload[open] summary::after{transform:rotate(180deg)}
.upload-body{padding:0 16px 16px 62px;display:grid;gap:10px;font-size:13px;color:var(--cl-muted)}
.upload-body p{margin:0}
.msg-ok{font-size:13px;color:var(--cl-brand-ink);font-weight:600}
html[data-theme=dark] .msg-ok{color:var(--cl-brand)}
.form-block,.editor-info{background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:4px 16px 16px;box-shadow:var(--cl-shadow-sm)}
.form-block>header,.editor-info>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 8px;border-bottom:1px solid var(--cl-line);margin-bottom:12px}
.form-block h2,.editor-info h2{font-size:15px;margin:0;color:var(--cl-ink)}
.block-count{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--cl-warn-soft);color:var(--cl-warn)}
.block-count.is-full{background:var(--cl-ok-soft);color:var(--cl-ok)}
.editor-info>header .hint{font-size:12px;color:var(--cl-danger);font-weight:650}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.campo{display:flex;flex-direction:column;gap:5px;padding:9px 10px 8px;border:1px solid transparent;border-radius:10px;min-width:0}
.campo label{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:650;color:var(--cl-text)}
.unit-hint{font-size:10px;font-weight:700;color:var(--cl-muted);text-transform:uppercase;letter-spacing:.05em}
.campo input{width:100%;text-align:right;font-variant-numeric:tabular-nums;font-size:14px}
.campo.missing{background:var(--cl-warn-soft);border-color:var(--cl-warn-line)}
.campo.missing input{border-color:var(--cl-warn-line);background:var(--cl-surface)}
.campo.changed:not(.missing){background:var(--cl-brand-soft);border-color:rgba(0,124,166,.35)}
.campo.changed .st-main::after{content:" · alterado";color:var(--cl-brand-ink);font-weight:700}
.field-state{font-size:11px;color:var(--cl-muted)}
.missing .field-state .st-main{color:var(--cl-warn);font-weight:700}
.st-prev{color:var(--cl-muted)}
.only-missing .campo:not(.missing){display:none}
.only-missing .form-block:not(:has(.campo.missing)){display:none}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px}
.editor-grid input{width:100%}
.acoes{position:sticky;bottom:10px;z-index:6;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--cl-surface);border:1px solid var(--cl-line-strong);border-radius:var(--cl-radius);box-shadow:var(--cl-shadow)}
.acoes-info{display:flex;gap:9px;align-items:center;min-width:0}
.dirty-dot{width:10px;height:10px;border-radius:50%;background:var(--cl-ok);flex:none}
.is-dirty .dirty-dot{background:var(--cl-warn-line);box-shadow:0 0 0 4px var(--cl-warn-soft)}
.acoes-btns{display:flex;gap:8px;flex-wrap:wrap}
.acoes .primario{min-height:42px;padding:10px 18px}
.history{color:var(--cl-muted);font-size:13px;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:12px 16px}
.history summary{cursor:pointer;font-weight:650;color:var(--cl-text)}
.history ul{margin:10px 0 0;padding-left:18px}
.history li{padding:4px 0}

/* ---------- Histórico ---------- */
.history-panel{background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:var(--cl-radius);padding:18px;box-shadow:var(--cl-shadow-sm)}
.history-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.8fr) minmax(140px,.8fr) minmax(220px,2fr);gap:12px;align-items:end}
.history-filters input,.history-filters select{width:100%}
.history-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
#history-summary{color:var(--cl-muted);font-size:13px;margin:16px 0 10px}
#history-summary strong{color:var(--cl-ink)}
.history-table td{vertical-align:top}
.history-table td small{display:block;color:var(--cl-muted);font-size:11px;margin-top:4px}
.history-table pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-width:380px;margin:0}
.module-badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.module-badge.is-op{background:var(--cl-brand-soft);color:var(--cl-brand-ink)}
.module-badge.is-perf{background:var(--cl-ok-soft);color:var(--cl-ok)}
html[data-theme=dark] .module-badge.is-op{color:var(--cl-brand)}
.diff-before pre{color:var(--cl-bad)}
.diff-after pre{color:var(--cl-ok);font-weight:600}
#history-list.is-loading{opacity:.55}
.history-pager{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;font-size:13px;color:var(--cl-muted)}
dialog.history-dialog{width:min(1100px,calc(100vw - 24px))}

/* ---------- Rodapé e mensagens ---------- */
.empty{padding:34px 20px;text-align:center;color:var(--cl-muted);background:var(--cl-surface);border:1px dashed var(--cl-line-strong);border-radius:var(--cl-radius)}
.empty strong{display:block;color:var(--cl-ink);font-size:15px;margin-bottom:4px}
.empty .secondary{margin-top:12px}
.page-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px;padding-top:16px;border-top:1px solid var(--cl-line);font-size:11px;color:var(--cl-muted)}
.page-footer b{color:var(--cl-line-strong);padding:0 6px}
.legend-foot{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.legend-foot .lg{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:6px}
.lg.ok{background:var(--cl-ok)}.lg.bad{background:var(--cl-bad)}.lg.na{background:var(--cl-muted)}
#export-status{position:fixed;bottom:20px;right:20px;z-index:1300;padding:13px 18px;background:#10263a;color:#fff;border:1px solid #2b4560;border-radius:12px;box-shadow:var(--cl-shadow-lg);max-width:min(460px,calc(100vw - 24px));font-size:13px}

/* ---------- Prévia do relatório PDF ---------- */
#report-print{display:none}
.preview-report>*:not(#report-print){display:none!important}
.preview-report #report-print{display:block;background:#dfe6ee;padding:20px;color:#24405a;font:14px/1.4 Arial,sans-serif;min-height:100vh}
.report-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;position:sticky;top:0;z-index:100;background:#fff;color:#24405a;padding:14px 16px;margin:0 auto 18px;max-width:1100px;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.report-preview-toolbar>div{flex:1;min-width:240px;display:flex;flex-direction:column;gap:2px}
.report-preview-toolbar span{font-size:12px;color:#5b6b7d}
.report-preview-toolbar .secondary{background:#fff;color:#24405a;border-color:#c3cfdc}
.report-page{width:277mm;min-height:182mm;box-sizing:border-box;background:#fff;color:#24405a;padding:8mm;margin:0 auto 22px;position:relative;break-after:page;box-shadow:0 2px 12px rgba(0,0,0,.12);display:flex;flex-direction:column}
.report-page:last-child{break-after:auto}
.report-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:8px}
.report-logo-img{width:150px;height:auto;flex:none}
.report-heading h1{font-size:24px;color:#172b3e;line-height:1.2;margin:4px 0}
.report-heading small{font-size:10px;letter-spacing:1.5px;color:#007ca6;font-weight:700}
.report-heading p{font-size:13px;margin:4px 0 0;color:#5b6b7d}
.report-stripe{height:3px;background:linear-gradient(90deg,#23a92f 0 34%,#f2d600 34% 52%,#007ca6 52% 100%);margin-bottom:8px}
.report-context{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#5b6b7d;margin-bottom:14px}
.report-context span:last-child{white-space:nowrap}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:5mm}
.report-kpi{border:1px solid #d9e1ea;border-left:4px solid #8a9aab;border-radius:8px;padding:4.5mm;margin:0;min-height:58mm;break-inside:avoid}
.report-kpi.is-ok{border-left-color:#1c7a37}.report-kpi.is-bad{border-left-color:#b5472a}
.report-kpi>small{color:#5b6b7d;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.report-kpi h2{font-size:16px;margin:4px 0 10px;color:#172b3e}
.report-kpi>strong{font-size:28px;color:#007ca6;line-height:1.2}
.report-kpi.is-ok>strong{color:#1c7a37}.report-kpi.is-bad>strong{color:#b5472a}
.report-status{font-size:12px;margin:6px 0;color:#24405a}
.report-status span{font-weight:700}
.report-kpi dl{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:5px;margin:10px 0}
.report-kpi dt{color:#5b6b7d}
.report-kpi dd{margin:0;text-align:right;font-weight:700}
.report-formula{font-size:10px;color:#5b6b7d;margin:10px 0 0;line-height:1.4;font-style:italic}
.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:4mm;margin:6px 0 12px}
.report-metrics>div{border:1px solid #d9e1ea;border-radius:8px;padding:3mm 4mm;background:#f5f8fc}
.report-metrics small{display:block;color:#5b6b7d;font-size:11px}
.report-metrics strong{display:block;font-size:20px;margin-top:4px;color:#172b3e}
.report-chart svg{display:block;width:100%;height:76mm}
.report-legend{font-size:10px;color:#5b6b7d;margin:6px 0 12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rl{display:inline-block;width:14px;height:0;border-top:3px solid #0a86b3;margin-left:6px}
.rl.prev{border-color:#8a9aab}.rl.meta{border-top:2px dashed #c0562f}
.report-empty{padding:30mm 0;text-align:center;color:#5b6b7d}
.report-values{border-collapse:collapse;width:100%;table-layout:fixed;font-size:11px}
.report-values td,.report-values th{padding:6px 3px;border:1px solid #d9e1ea;text-align:right;background:#fff;color:#24405a;overflow-wrap:anywhere}
.report-values th{background:#eef2f7}
.report-page footer{display:flex;justify-content:space-between;font-size:10px;color:#5b6b7d;margin-top:auto;padding-top:3mm;border-top:1px solid #d9e1ea}

/* ---------- Responsivo ---------- */
@media(max-width:1380px){.overview{grid-template-columns:repeat(3,minmax(0,1fr))}.overview>.goal-card{grid-column:span 1}}
@media(max-width:1180px){.dados-head{grid-template-columns:1fr;position:static}.dados-tools{justify-content:flex-start}.dialog-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-kpis .dialog-switch{grid-column:1/-1;justify-self:start}}
@media(max-width:960px){
 .page{padding:18px 14px 24px}
 .page-heading h1{font-size:23px}
 .page-header{align-items:flex-start}
 .grade.larga{grid-template-columns:1fr}
 .history-filters{grid-template-columns:1fr 1fr}
 .history-filters .history-search{grid-column:1/-1}
 #layout-switch{margin-left:0}
}
@media(max-width:640px){
 .page-heading p{font-size:13px}
 .header-actions{width:100%;gap:8px}
 .header-actions>#refresh{flex:1}
 .export-group{width:100%;justify-content:space-between}
 .export-group .btn-group{flex:1;display:flex}
 .export-group .btn-group>*{flex:1;padding-left:6px;padding-right:6px}
 .base-bar{margin:12px 0}
 .source-note{font-size:11px}
 .period-bar{padding:10px;gap:10px}
 .period-year{width:100%;justify-content:space-between}
 .meses{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;width:100%}
 .meses button{min-width:0;padding:7px 2px 10px;font-size:12px}
 .overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .overview .summary:first-child{grid-column:1/-1}
 .overview>.goal-card{grid-column:1/-1}
 .overview>.summary:nth-child(4){grid-column:1/-1}
 .summary{padding:12px 12px 10px}
 .summary-value{font-size:21px}
 .summary .spark{display:none}
 .summary.featured .spark,.goal-card .spark{display:block}
 .content-toolbar{padding:2px 8px 0}
 .group-tabs{flex-wrap:nowrap;width:100%;scrollbar-width:none}
 .group-tabs::-webkit-scrollbar{display:none}
 .bi-toolbar{padding:10px}
 .search-label{max-width:none;flex-basis:100%}
 .status-filter{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px;scrollbar-width:none}
 .status-chip{flex:none}
 .grade{grid-template-columns:1fr}
 .cartao .valor{font-size:26px}
 .resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
 .form-grid,.editor-grid{grid-template-columns:1fr}
 .form-topo{width:100%}.form-topo .field{flex:1}
 .upload-body{padding:0 14px 14px}
 .acoes{bottom:6px;padding:10px}
 .acoes-btns{width:100%;display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.acoes-btns>*{white-space:normal;line-height:1.2;font-size:12px!important;padding:8px!important}
 .acoes .msg-ok{font-size:12px}
 .history-filters{grid-template-columns:1fr}
 .history-table{min-width:680px}
 .conflict-summary{grid-template-columns:1fr}
 .dialog-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cl-dialog-head{padding:14px 14px 10px}.cl-dialog-body{padding:14px}.cl-dialog-foot{padding:12px 14px}
 .page-footer{flex-direction:column}
 #export-status{left:12px;right:12px;bottom:12px}
 .preview-report #report-print{padding:8px;overflow:auto}
}

/* ---------- Impressão ---------- */
@media print{
 @page{size:A4 landscape;margin:10mm}
 body{background:#fff!important;color:#172b3e!important}
 html[data-theme=dark]{--cl-bg:#fff;--cl-surface:#fff;--cl-surface-2:#f5f8fc;--cl-surface-3:#e9eff6;--cl-ink:#172b3e;--cl-text:#24405a;--cl-muted:#5b6b7d;--cl-line:#d9e1ea;--cl-line-strong:#c3cfdc;--cl-ok:#1c7a37;--cl-ok-soft:#e7f5ea;--cl-bad:#b5472a;--cl-bad-soft:#fcefe8;--cl-neutral-soft:#eef2f6;--cl-chart-cur:#0a86b3;--cl-chart-prev:#8a9aab;--cl-chart-grid:#e3e9f0;--cl-chart-axis:#5f7184;--cl-brand-soft:#e6f3f9;--cl-brand-ink:#005f80}
 .header-actions,.base-bar,.period-bar,.filters-card,.card-actions,#export-status,#chart-tooltip,.expand-chart,#session-alert,.skip-link{display:none!important}
 .page{padding:0!important;max-width:none}
 .grade,.grade.larga{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6mm!important}
 .grade.larga{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .overview{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .cartao,.graf,.summary{break-inside:avoid;box-shadow:none!important}
 .ind-group>h2{break-after:avoid}
 body.printing-report>*:not(#report-print){display:none!important}
 body.printing-report #report-print{display:block!important;background:#fff!important;padding:0!important;font:12px/1.4 Arial,sans-serif!important;color:#24405a!important}
 #report-print .report-preview-toolbar{display:none!important}
 #report-print .report-page{width:100%;min-height:180mm;padding:0;margin:0;break-after:page;box-shadow:none}
 #report-print .report-page:last-child{break-after:auto}
 #report-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---------- Estrutura comum (menu por permissão, abas, filtros e conta) ---------- */
.page{max-width:1440px}
.page-header.cl-page-head{margin-bottom:10px}
.op-tabs{margin-bottom:12px}
.base-bar.cl-statusline{margin:0 0 12px;gap:6px 18px}
.base-bar #status::before{width:7px;height:7px}
.source-note{display:block;font-size:12px;color:var(--cl-muted);max-width:900px}
.source-note>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--cl-brand-ink);font-weight:650}
html[data-theme=dark] .source-note>summary{color:var(--cl-brand)}
.source-note>summary::-webkit-details-marker{display:none}
.source-note>summary>span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--cl-brand-soft);font-size:10px;font-weight:800;font-style:italic}
.source-note[open]>div{margin-top:6px;padding:8px 10px;border-radius:var(--cl-radius-xs);background:var(--cl-surface);border:1px solid var(--cl-line);color:var(--cl-text)}
.op-filters{padding:0;margin-bottom:12px}
.op-filter-main{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:end;gap:8px 18px;padding:10px 14px 0;border-bottom:1px solid var(--cl-line)}
.op-filters .search-label{display:block;position:relative;max-width:none;margin-bottom:9px}
.op-filters .search-label::after{content:"⌕";position:absolute;left:11px;top:50%;bottom:auto;transform:translateY(-50%);font-size:16px;color:var(--cl-muted);pointer-events:none}
.op-filters .search-label input{width:100%;padding-left:34px;min-height:38px}
.op-filters .group-tabs{overflow-x:auto;scrollbar-width:thin}
.op-filters .attention-toggle{display:none}
.op-filters .bi-toolbar{align-items:center;padding:10px 14px}
.op-filters #layout-switch{margin-left:auto}
.op-filters #annual-controls>summary{min-height:36px}
.op-filters #annual-controls[open]{flex-basis:100%;order:3}
.op-filters .annual-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:10px;padding:12px;border:1px solid var(--cl-line);border-radius:var(--cl-radius-sm);background:var(--cl-surface-2)}
.op-filters .annual-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cl-muted)}
.op-filters .annual-grid label.toggle{flex-direction:row;align-items:center;gap:7px;padding-bottom:9px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--cl-text);font-weight:600}
.op-filters .annual-grid select{min-height:36px;text-transform:none;letter-spacing:0;font-weight:600}
.op-filters .cl-active-filters{margin:0;padding:0 14px 12px}
body[data-view=jornada] .legend-foot,body[data-view=history] .legend-foot,body[data-view=denied] .legend-foot{display:none}
.dica:empty{display:none}
@media(max-width:860px){
 .op-filter-main{grid-template-columns:1fr;padding-top:10px}
 .op-filters .search-label{margin-bottom:0}
 .op-filters #layout-switch{margin-left:0}
 .acoes-btns>*{min-width:0}
}
