:root{
  --bg:#F4F5F7;--card:#FFFFFF;--line:#E3E6EA;--ink:#14171C;--ink2:#3A414C;--mut:#5A6270;--soft:#EEF0F3;
  --accent:#2457D6;--accent-soft:#EAF0FD;--orange:#E07A1F;--good:#1E6B44;--good-soft:#E3F3EA;--bad:#A3401A;--bad-soft:#FBE7DE;--warn:#8A5600;--warn-soft:#FDF0D9;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0E1116;--card:#171B22;--line:#262C36;--ink:#F2F4F7;--ink2:#C3C9D3;--mut:#9AA3B2;--soft:#222833;--accent:#6E9BFF;--accent-soft:#1C2740;--good:#6FD39B;--good-soft:#173326;--bad:#F2A65A;--bad-soft:#3A2516;--warn:#F2C65A;--warn-soft:#3A3016;color-scheme:dark}
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mut{color:var(--mut);font-size:13px}
button,select,input{font:inherit;color:inherit}
.btn-primary{min-height:48px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}
.btn-primary:disabled{opacity:.6}
.btn-ghost{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:transparent;font-weight:600;cursor:pointer}
.btn-icon{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:22px;cursor:pointer}
.btn-icon:disabled{opacity:.35;cursor:default}

.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:8px}
.login-card h1{margin:18px 0 0;font-size:26px}
.login-card label{margin-top:10px;font-size:14px;font-weight:600}
.login-card input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.login-card .btn-primary{margin-top:16px}
.erro{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--bad-soft);color:var(--bad);font-size:14px}

.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.brand b{display:block;font-size:16px}.brand span{display:block;font-size:12px;color:var(--mut)}
.brand .brand-mark{display:inline-flex;font-size:18px;color:var(--bg)}

.topbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--line)}
.wrap{max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.semana{display:flex;gap:8px;align-items:center}
.semana select{flex:1;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-weight:600}

.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}
.card-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.card h2{margin:0;font-size:17px}

.resumo{display:flex;align-items:center;gap:18px}
.ring{width:120px;height:120px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--soft)}
.ring>div{width:94px;height:94px;border-radius:50%;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring b{font-size:34px;line-height:1}.ring span{font-size:11px;color:var(--mut)}
.resumo-txt{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--ink2)}
.delta{font-weight:700;font-size:15px}.up{color:var(--good)}.down{color:var(--bad)}.flat{color:var(--mut)}
.pill{align-self:flex-start;margin-top:2px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--soft);color:var(--ink2)}
.pill.evolucao{background:var(--good-soft);color:var(--good)}.pill.atencao{background:var(--bad-soft);color:var(--bad)}

.dias{display:flex;gap:8px;align-items:flex-end;height:150px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.dia{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.dia .v{font-size:13px;font-weight:700}.dia .d{font-size:11px;font-weight:700}
.dia .bar{width:100%;max-width:46px;border-radius:6px 6px 0 0;background:var(--accent)}
.dia .bar.off{background:var(--soft)}
.dia-lab{display:flex;gap:8px;margin-top:6px}.dia-lab span{flex:1;text-align:center;font-size:12px;color:var(--mut)}
.tabela-wrap{overflow-x:auto;margin-top:12px}
.tabela{width:100%;border-collapse:collapse;font-size:13px}
.tabela th{text-align:right;font-weight:600;color:var(--mut);padding:6px 4px;border-bottom:1px solid var(--line)}
.tabela td{text-align:right;padding:7px 4px;border-bottom:1px solid var(--soft)}
.tabela th:first-child,.tabela td:first-child{text-align:left}

.inds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ind-top{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.ind-top b{font-size:15px}
.ind-sub{font-size:12px;color:var(--mut);margin-top:2px}
.track{position:relative;height:8px;border-radius:99px;background:var(--soft);margin-top:6px}
.track .fill{height:100%;border-radius:99px;background:var(--accent)}
.track .fill.worse{background:var(--orange)}
.track .mark{position:absolute;top:-4px;width:2px;height:16px;background:var(--ink)}

.tend{display:flex;gap:4px;align-items:flex-end;height:120px;border-bottom:1px solid var(--line)}
.tend .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.tend .bar{width:100%;max-width:40px;border-radius:5px 5px 0 0;background:var(--soft)}
.tend .bar.atual{background:var(--accent)}
.tend .v{font-size:12px;font-weight:700}
.tend .mut{font-size:11px}
@media (max-width:420px){.tend .mut{font-size:10px;letter-spacing:-.02em}.dias{gap:6px}}

.dicas{display:flex;flex-direction:column;gap:10px}
.dica{padding:12px 14px;border-radius:12px;background:var(--accent-soft)}
.dica b{display:block;font-size:15px}.dica .g{font-size:13px;font-weight:700;color:var(--accent)}
.dica p{margin:4px 0 0;font-size:14px;color:var(--ink2)}
.vazio{font-size:14px;color:var(--mut)}
.nota-esp{margin:0;padding:10px 12px;border-radius:10px;background:var(--warn-soft);color:var(--warn);font-size:13px}
.rodape{text-align:center;font-size:12px;color:var(--mut);margin:4px 0 24px}
.carregando{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--mut)}

.btn-link{min-height:44px;border:0;background:transparent;color:var(--accent);font-weight:600;cursor:pointer}
.top-acoes{display:flex;gap:8px;align-items:center}
a.btn-ghost{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.gestor-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:600}
.gestor-bar select{flex:1;min-width:200px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-weight:600}
.ok{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--good-soft);color:var(--good);font-size:14px}
/* página de carga */
.adm{max-width:960px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.adm h1{margin:8px 0 0;font-size:26px}
.adm .card p{margin:0 0 10px;font-size:14px;color:var(--ink2)}
.campo{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.campo label{font-size:14px;font-weight:600}
.campo input[type=file]{padding:10px;border:1px dashed var(--line);border-radius:12px;background:var(--bg)}
.log{margin:10px 0 0;padding:12px;border-radius:12px;background:var(--bg);font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;max-height:260px;overflow:auto}
.barra{height:10px;border-radius:99px;background:var(--soft);overflow:hidden;margin-top:10px}.barra>div{height:100%;width:0;background:var(--accent);transition:width .2s}
.acessos{width:100%;border-collapse:collapse;font-size:14px}
.acessos th{text-align:left;color:var(--mut);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--line)}
.acessos td{padding:8px 6px;border-bottom:1px solid var(--soft);vertical-align:middle}
.acessos select{min-height:40px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);max-width:220px}
.linha-btn{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn-primary.peq{min-height:44px;padding:0 18px}

/* ===== tela do analista (versão apresentável) ===== */
.hero{display:flex;flex-direction:column;gap:16px;padding:20px}
.hero-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.saudacao{margin:0;font-size:24px;line-height:1.2}
.hero .semana{flex:1 1 300px;max-width:420px}
.hero-body{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.hero .ring{width:148px;height:148px}
.hero .ring>div{width:116px;height:116px}
.hero .ring b{font-size:44px}
.hero-txt{flex:1 1 260px;display:flex;flex-direction:column;gap:8px}
.faixa{align-self:flex-start;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em}
.faixa.alta{background:var(--good-soft);color:var(--good)}.faixa.media{background:var(--accent-soft);color:var(--accent)}.faixa.baixa{background:var(--bad-soft);color:var(--bad)}.faixa.sem{background:var(--soft);color:var(--mut)}
.frase{margin:0;font-size:18px;line-height:1.45;font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 12px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:600;color:var(--ink2)}
.chip.sit-evolucao{background:var(--good-soft);color:var(--good)}.chip.sit-atencao{background:var(--bad-soft);color:var(--bad)}
.dica-ios{margin:0;padding:10px 14px;border-radius:12px;background:var(--accent-soft);font-size:14px}

.destaques{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.dest{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px;border-top:4px solid var(--line)}
.dest.bom{border-top-color:var(--good)}.dest.rever{border-top-color:var(--orange)}.dest.forte{border-top-color:var(--accent)}.dest.foco{border-top-color:var(--warn)}
.dest-rot{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.dest-tit{font-size:16px;line-height:1.3}
.dest-sub{font-size:13px;color:var(--ink2)}

.dias{display:flex;gap:8px;align-items:stretch;height:190px;border-bottom:0;padding:0}
.dia{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;padding:6px 2px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;color:var(--ink)}
.dia:hover{background:var(--soft)}
.dia.sel{border-color:var(--line);background:var(--soft)}
.dia .bar{display:block;width:100%;max-width:48px;border-radius:8px 8px 3px 3px;background:var(--soft)}
.dia.alta .bar{background:var(--good)}.dia.media .bar{background:var(--accent)}.dia.baixa .bar{background:var(--orange)}
.dia .v{font-size:15px;font-weight:800}.dia .d{font-size:11px;font-weight:700;min-height:14px}
.dia .lab{font-size:12px;color:var(--mut);margin-top:4px}
.dia-det{margin-top:12px;padding:14px;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:10px}
.det-tit{font-size:15px}
.det-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.det-item{background:var(--card);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px}
.det-item span{font-size:12px;color:var(--mut)}.det-item b{font-size:18px}

.grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.grupo{display:flex;flex-direction:column}
.grupo-tit{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.ind{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--soft)}
.ind-esq{display:flex;flex-direction:column;gap:3px;min-width:0}
.ind-esq b{font-size:15px}
.ind-exp{font-size:12px;color:var(--mut);line-height:1.4}
.ind-ant{font-size:12px;color:var(--mut)}.ind-ant.up{color:var(--good)}.ind-ant.down{color:var(--bad)}
.ind-dir{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;text-align:right}
.ind-val{font-size:20px;font-weight:800}
.tag{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.tag.acima{background:var(--good-soft);color:var(--good)}.tag.abaixo{background:var(--bad-soft);color:var(--bad)}.tag.neutro{background:var(--soft);color:var(--mut)}
.ind-eq{font-size:12px;color:var(--mut)}

.tend .col .lab{font-size:11px;color:var(--mut)}
.tend .col.alta .bar{background:color-mix(in srgb,var(--good) 45%,transparent)}.tend .col.media .bar{background:color-mix(in srgb,var(--accent) 40%,transparent)}.tend .col.baixa .bar{background:color-mix(in srgb,var(--orange) 45%,transparent)}
.tend .col.atual .bar{opacity:1}.tend .col.alta.atual .bar{background:var(--good)}.tend .col.media.atual .bar{background:var(--accent)}.tend .col.baixa.atual .bar{background:var(--orange)}

.passos{margin:0;padding:0;list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:10px}
.passo{counter-increment:p;position:relative;padding:14px 14px 14px 52px;border-radius:14px;background:var(--accent-soft)}
.passo::before{content:counter(p);position:absolute;left:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.passo.ok{background:var(--good-soft)}.passo.ok::before{content:'✓';background:var(--good)}
.passo-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.passo .ganho{font-size:13px;font-weight:800;color:var(--accent)}
.passo p{margin:4px 0 0;font-size:14px;color:var(--ink2);line-height:1.45}

@media (max-width:560px){
  .so-desk{display:none!important}
  .top-acoes .btn-ghost{padding:0 10px;font-size:14px}
  .hero .ring{width:120px;height:120px}.hero .ring>div{width:94px;height:94px}.hero .ring b{font-size:34px}
  .frase{font-size:16px}
  .dias{gap:4px;height:170px}
}

.btn-bloco{display:flex;align-items:center;justify-content:center;text-decoration:none}
@media (max-width:560px){.hero .semana{flex:1 1 100%;max-width:none}.semana select{min-width:0;width:100%}}

/* ---------- Alertas ---------- */
.btn-sino{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;padding:0;color:var(--ink)}
.badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--bad);color:#fff;font-size:12px;font-weight:800;line-height:20px;text-align:center;box-sizing:border-box}
.painel-alertas{position:fixed;z-index:5;top:72px;right:16px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.pa-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.pa-hd b{font-size:15px}
.pa-grupo{padding:10px 0;border-top:1px solid var(--soft)}
.pa-nome{border:0;background:transparent;padding:4px 0;min-height:36px;color:var(--accent);font-weight:700;font-size:15px;cursor:pointer;text-align:left}
.lista-alertas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lista-alertas li{padding:9px 12px;border-radius:10px;font-size:14px;border-left:4px solid var(--bad);background:var(--bad-soft);color:var(--ink)}
.lista-alertas li.al-queda{border-left-color:var(--warn);background:var(--warn-soft)}
.lista-alertas li b{display:block;font-weight:600}
.lista-alertas li p{margin:4px 0 0;font-size:13px;color:var(--ink2)}
.aviso-alertas{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:14px;background:var(--bad-soft);color:var(--bad);font-weight:600;font-size:14px}
.aviso-alertas[hidden],.painel-alertas[hidden]{display:none}
.aviso-alertas .btn-ghost{color:var(--bad);border-color:currentColor;min-height:40px}
@media (max-width:560px){.painel-alertas{top:64px;right:12px;left:12px;width:auto}}

/* ---------- Ajustes ---------- */
.ger-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.ger-bar .campo{flex:1;min-width:200px}
.ger-bar select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-weight:600;width:100%}
.resumo-alertas{margin-top:12px;font-size:14px;color:var(--ink2)}
.tab-alertas td:first-child a{color:var(--accent);font-weight:600}
.tab-alertas td{vertical-align:top}
.tab-alertas .lista-alertas li{padding:6px 10px;font-size:13px}
.cel-param{white-space:nowrap;font-size:14px;color:var(--ink2)}
.cel-param input,.campo-inline input[type=number]{width:72px;min-height:38px;padding:0 8px;margin:0 4px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.tab-param input[type=checkbox],.campo-inline input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}
.param-gerais{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.campo-inline{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;color:var(--ink2)}
