/* Posse — interface (modo noturno padrão + modo claro) */
:root,:root[data-tema="noturno"]{
  --bg:#0E1120; --bg-2:#121628; --lateral:#0A0D19; --card:#161A2E; --card-2:#1E2340; --input:#1C2139;
  --hover:rgba(255,255,255,.04); --trilho:rgba(255,255,255,.07);
  --linha:rgba(255,255,255,.07); --linha-2:rgba(255,255,255,.13);
  --txt:#F1F3FA; --txt-2:#A9B0CC; --txt-3:#717896;
  --sombra:0 1px 2px rgba(0,0,0,.3);
  --lat-txt:#A9B0CC; --lat-txt-on:#FFFFFF; --lat-ativo:#1A1F37; --lat-linha:rgba(255,255,255,.07);
  color-scheme:dark;
}
:root[data-tema="claro"]{
  --bg:#F2F4F8; --bg-2:#FFFFFF; --lateral:#151A2D; --card:#FFFFFF; --card-2:#F1F3F8; --input:#F4F6FA;
  --hover:rgba(15,20,40,.04); --trilho:#E8EBF2;
  --linha:#E6E9F0; --linha-2:#D5DAE5;
  --txt:#161B2E; --txt-2:#535C78; --txt-3:#8A92AB;
  --sombra:0 1px 3px rgba(20,25,45,.06),0 1px 2px rgba(20,25,45,.04);
  --lat-txt:#A9B0CC; --lat-txt-on:#FFFFFF; --lat-ativo:#232A45; --lat-linha:rgba(255,255,255,.08);
  color-scheme:light;
}
:root{
  --ouro:#FFC93C; --ouro-2:#F2B417; --ouro-txt:#16130A;
  --azul:#3D74F5; --azul-2:#2F63DE; --verde:#1FAE7A; --coral:#EF5D60; --laranja:#F2A23B; --roxo:#8B6CF6;
  --ok:#1FAE7A; --ok-bg:rgba(31,174,122,.14); --erro:#EF5D60; --erro-bg:rgba(239,93,96,.13);
  --r:12px; --r-g:16px;
  --fonte:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:500 15px/1.5 var(--fonte);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.2}
h1{font-size:clamp(1.45rem,2.4vw,1.85rem)}
h2{font-size:1.08rem}
h3{font-size:.98rem}
p{margin:0}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
svg{display:block}
.num{font-variant-numeric:tabular-nums}
.mudo{color:var(--txt-2)}
.fraco{color:var(--txt-3)}
:focus-visible{outline:2px solid var(--azul);outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------------- botões ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--linha-2);cursor:pointer;
  font-weight:700;font-size:.9rem;white-space:nowrap;text-decoration:none!important;background:var(--card);color:var(--txt);transition:background .15s,border-color .15s}
.btn:hover{background:var(--card-2)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn svg{width:18px;height:18px;flex:none}
.btn.ouro{background:var(--ouro);border-color:var(--ouro);color:var(--ouro-txt)}
.btn.ouro:hover{background:var(--ouro-2);border-color:var(--ouro-2)}
.btn.azul{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.azul:hover{background:var(--azul-2)}
.btn.branco{background:#fff;border-color:#fff;color:#161B2E}
.btn.branco:hover{background:#EEF0F6}
.btn.texto{background:transparent;border-color:transparent;color:var(--txt-2);padding:0 10px}
.btn.texto:hover{color:var(--txt);background:var(--hover)}
.btn.perigo{color:var(--erro)}
.btn.p{height:34px;padding:0 12px;font-size:.84rem;border-radius:9px}
.btn.g{height:50px;font-size:.98rem;border-radius:12px;padding:0 22px}
.btn.ic{width:40px;padding:0}
.btn.ic.p{width:34px}
.btn.cheio{width:100%}

/* ---------------- formulários ---------------- */
.campo{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.campo>span{font-size:.82rem;font-weight:700;color:var(--txt-2)}
.campo small{font-size:.78rem;color:var(--txt-3)}
.entrada{width:100%;min-width:0;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--linha-2);background:var(--input);color:var(--txt);font-weight:600;outline:none;transition:border-color .15s,box-shadow .15s}
.entrada::placeholder{color:var(--txt-3);font-weight:500}
.entrada:focus{border-color:var(--azul);box-shadow:0 0 0 3px rgba(61,116,245,.18)}
textarea.entrada{height:auto;min-height:100px;padding:12px 14px;resize:vertical;line-height:1.55}
select.entrada{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238A92AB' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.duas{grid-template-columns:1fr}}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--txt-2)}
.chk input{width:18px;height:18px;accent-color:var(--azul);flex:none}
/* campo com rótulo na borda (login) */
.fl{position:relative;margin-bottom:18px;--fundo:var(--bg-2)}
.fl label{position:absolute;left:12px;top:-9px;padding:0 6px;font-size:.78rem;font-weight:700;color:var(--txt-2);z-index:1;line-height:18px;background:linear-gradient(to bottom,var(--fundo) 50%,var(--input) 50%);border-radius:4px}
.fl .caixa{display:flex;align-items:center;gap:10px;height:56px;padding:0 8px 0 16px;border-radius:12px;background:var(--input);border:1.5px solid var(--linha-2);transition:border-color .15s}
.fl .caixa:focus-within{border-color:var(--azul)}
.fl:focus-within label{color:var(--azul)}
.fl .caixa>svg{width:18px;height:18px;color:var(--txt-3);flex:none}
.fl input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-weight:600;font-size:1rem;color:var(--txt)}
.fl input::placeholder{color:var(--txt-3);font-weight:500}
.fl .olho{width:40px;height:40px;border:0;background:transparent;color:var(--txt-3);cursor:pointer;border-radius:10px;display:grid;place-items:center}
.fl .olho svg{width:20px;height:20px}

.seg{display:inline-flex;gap:3px;padding:3px;border-radius:10px;background:var(--card-2);flex-wrap:wrap}
.seg button{border:0;background:transparent;color:var(--txt-2);padding:6px 13px;border-radius:8px;font-weight:700;font-size:.84rem;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--txt);box-shadow:var(--sombra)}
:root:not([data-tema="claro"]) .seg button[aria-pressed="true"]{background:#2A3054}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--linha-2);background:transparent;color:var(--txt-2);border-radius:999px;padding:6px 13px;font-weight:700;font-size:.82rem;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:#fff}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--card-2);color:var(--txt-2);white-space:nowrap}
.tag.ouro{background:rgba(255,201,60,.16);color:#D99A00}
:root:not([data-tema="claro"]) .tag.ouro{color:var(--ouro)}
.tag.ok{background:var(--ok-bg);color:var(--ok)}
.tag.erro{background:var(--erro-bg);color:var(--erro)}
.tag.azul{background:rgba(61,116,245,.14);color:var(--azul)}
.cor{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}

/* ---------------- superfícies ---------------- */
.card{background:var(--card);border-radius:var(--r-g);border:1px solid var(--linha);box-shadow:var(--sombra)}
.card.pad{padding:22px}
.card-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--linha)}
.card-cab.sem{border-bottom:0;padding-bottom:6px}
.card-cab h2{display:flex;align-items:center;gap:9px}
.card-cab h2 svg{width:18px;height:18px;color:var(--txt-3)}
.card-cab p{font-size:.82rem;color:var(--txt-3);font-weight:600;margin-top:2px}
.vazio{padding:32px 22px;text-align:center;color:var(--txt-2)}
.vazio svg{width:38px;height:38px;margin:0 auto 12px;color:var(--txt-3)}
.vazio p{margin:0 auto 14px;max-width:44ch;font-weight:600}
.barra{height:8px;background:var(--trilho);border-radius:4px;overflow:hidden}
.barra i{display:block;height:100%;border-radius:4px;background:var(--ouro)}
.barra.azul i{background:var(--azul)}
.lista>*{border-top:1px solid var(--linha)}
.lista>*:first-child{border-top:0}
.item{display:flex;align-items:center;gap:14px;padding:13px 20px}
.item .tx{flex:1;min-width:0}
.item .tx b{display:block;font-weight:700;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item .tx span{display:block;font-size:.8rem;color:var(--txt-3);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marcador{width:24px;height:24px;border-radius:50%;border:2px solid var(--linha-2);background:transparent;cursor:pointer;flex:none;display:grid;place-items:center;padding:0;color:transparent;transition:.15s}
.marcador svg{width:13px;height:13px}
.marcador:hover{border-color:var(--ok)}
.marcador.on{background:var(--ok);border-color:var(--ok);color:#fff}

/* toasts e diálogos */
#toasts{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:min(440px,calc(100% - 32px))}
.toast{background:#161B2E;color:#fff;padding:13px 18px;border-radius:12px;font-weight:700;font-size:.9rem;box-shadow:0 12px 32px rgba(0,0,0,.3);animation:sobe .2s ease-out}
:root:not([data-tema="claro"]) .toast{background:#fff;color:#161B2E}
.toast.erro{background:var(--erro)!important;color:#fff!important}
@keyframes sobe{from{opacity:0;transform:translateY(8px)}}
dialog{border:1px solid var(--linha);border-radius:18px;padding:0;background:var(--bg-2);color:var(--txt);width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog::backdrop{background:rgba(8,10,22,.6)}
dialog[open]{animation:sobe .18s ease-out}
dialog.largo{width:min(880px,calc(100% - 24px))}
.dlg-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 4px}
.dlg-corpo{padding:14px 22px 20px}
.dlg-pe{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 20px;flex-wrap:wrap}
@media (max-width:560px){dialog{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.dlg-pe .btn{flex:1}}

/* =========================================================
   SHELL
   ========================================================= */
.logo-p{width:36px;height:36px;flex:none}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}
.lateral{position:sticky;top:0;height:100dvh;background:var(--lateral);display:flex;flex-direction:column;padding:20px 12px 14px;gap:16px;overflow-y:auto}
.marca{display:flex;align-items:center;gap:11px;padding:0 8px;color:#fff!important;text-decoration:none!important}
.marca b{font-weight:800;font-size:1.3rem;letter-spacing:-.04em}
.nav{display:flex;flex-direction:column;gap:2px}
.nav .grupo{font-size:.7rem;font-weight:800;color:#5D6482;letter-spacing:.4px;padding:14px 12px 6px}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--lat-txt);font-weight:700;font-size:.9rem;text-decoration:none!important}
.nav a svg{width:19px;height:19px;flex:none}
.nav a:hover{background:rgba(255,255,255,.04);color:#fff}
.nav a[aria-current="page"]{background:var(--lat-ativo);color:var(--lat-txt-on)}
.nav a[aria-current="page"] svg{color:var(--ouro)}
.nav .qtd{margin-left:auto;background:var(--coral);color:#fff;font-size:.7rem;font-weight:800;border-radius:999px;padding:1px 7px}
.lateral .rodape{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.aviso-teste{display:block;padding:12px 14px;border-radius:12px;background:rgba(255,201,60,.1);color:#E9ECF7!important;font-size:.8rem;font-weight:600;text-decoration:none!important}
.aviso-teste b{color:var(--ouro)}
.lateral .btn.ouro{height:44px}
.principal{min-width:0;display:flex;flex-direction:column}
.barra-topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:12px clamp(16px,3vw,36px);background:var(--bg);border-bottom:1px solid var(--linha)}
.barra-topo .titulo{font-weight:800;font-size:1rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.busca{position:relative;width:min(340px,40vw)}
.busca input{width:100%;height:40px;border-radius:999px;border:1px solid var(--linha);background:var(--card);padding:0 14px 0 38px;font-weight:600;color:var(--txt);outline:none}
.busca input:focus{border-color:var(--azul)}
.busca>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--txt-3)}
.busca .res{position:absolute;top:46px;left:0;right:0;background:var(--bg-2);border:1px solid var(--linha);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.25);max-height:60vh;overflow:auto;display:none;z-index:50}
.busca .res.aberto{display:block}
.busca .res a{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--txt);font-weight:600;font-size:.88rem;text-decoration:none}
.busca .res a:hover,.busca .res a.foco{background:var(--hover)}
.busca .res small{display:block;color:var(--txt-3);font-size:.76rem}
.icone-topo{width:40px;height:40px;border-radius:50%;border:1px solid var(--linha);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--txt-2)}
.icone-topo:hover{color:var(--txt)}
.icone-topo svg{width:18px;height:18px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--ouro);color:var(--ouro-txt);display:grid;place-items:center;font-weight:800;font-size:.86rem;flex:none;text-decoration:none!important}
.conteudo{width:100%;max-width:1220px;margin:0 auto;padding:26px clamp(16px,3vw,36px) 120px}
.topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.topo p{color:var(--txt-2);font-weight:600;margin-top:4px}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.nav-mobile{display:none}
@media (max-width:960px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .lateral{display:none}
  .busca{display:none}
  .barra-topo .marca-m{display:flex}
  .conteudo{padding:18px 16px 130px}
  .nav-mobile{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--lateral);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}
  .nav-mobile a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.66rem;font-weight:700;color:#7D84A3;text-decoration:none!important;padding:2px 0}
  .nav-mobile a svg{width:22px;height:22px}
  .nav-mobile a[aria-current="page"]{color:#fff}
  .nav-mobile a[aria-current="page"] svg{color:var(--ouro)}
  .nav-mobile .mais-btn{width:52px;height:52px;border-radius:16px;background:var(--ouro);color:var(--ouro-txt);display:grid;place-items:center;margin:-20px auto 0;box-shadow:0 8px 20px rgba(255,201,60,.3)}
  .nav-mobile .mais-btn svg{width:24px;height:24px}
}
.barra-topo .marca-m{display:none;align-items:center;gap:9px;color:var(--txt)!important;text-decoration:none!important;flex:1}
.barra-topo .marca-m b{font-weight:800;font-size:1.15rem;letter-spacing:-.04em}
.barra-topo .marca-m svg{width:32px;height:32px}
@media (max-width:960px){.barra-topo .titulo{display:none}.barra-topo .marca-m{display:flex}}

/* cronômetro */
.crono{position:fixed;right:24px;bottom:24px;z-index:60;display:none;align-items:center;gap:14px;background:#161B2E;color:#fff;border-radius:16px;padding:10px 10px 10px 18px;box-shadow:0 18px 50px rgba(0,0,0,.35);max-width:calc(100% - 32px);border:1px solid rgba(255,255,255,.08)}
.crono.ativo{display:flex;animation:sobe .2s ease-out}
.crono .t{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.crono .d{font-size:.76rem;font-weight:700;color:#A9B0CC;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crono button{width:40px;height:40px;border-radius:11px;border:0;cursor:pointer;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff}
.crono button.parar{background:var(--ouro);color:var(--ouro-txt)}
.crono button svg{width:17px;height:17px}
.crono.pausado .t{color:#717896}
@media (max-width:960px){.crono{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));justify-content:space-between}}

/* =========================================================
   INÍCIO
   ========================================================= */
.resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.res-card{position:relative;overflow:hidden;border-radius:var(--r-g);padding:18px 20px;color:#fff;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none!important}
.res-card span{font-size:.84rem;font-weight:700;opacity:.92}
.res-card b{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.res-card b small{font-size:.9rem;font-weight:700;opacity:.85;margin-left:4px}
.res-card svg{position:absolute;right:14px;bottom:12px;width:58px;height:58px;opacity:.22;stroke-width:1.6}
.res-card.c1{background:#3D74F5}.res-card.c2{background:#F2A23B}.res-card.c3{background:#EF5D60}.res-card.c4{background:#1FAE7A}
@media (max-width:960px){.resumo{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.res-card{min-height:92px;padding:14px 16px}.res-card b{font-size:1.4rem}.res-card svg{width:44px;height:44px}}
.grade-inicio{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.coluna{display:flex;flex-direction:column;gap:20px;min-width:0}
@media (max-width:1080px){.grade-inicio{grid-template-columns:minmax(0,1fr)}}
.proximo{padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.proximo .ic-d{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:1.05rem}
.proximo .rot{font-size:.78rem;font-weight:700;color:var(--txt-3)}
.proximo h2{font-size:1.3rem;margin:2px 0}
.proximo .assunto{color:var(--txt-2);font-weight:600;font-size:.92rem}
@media (max-width:640px){.proximo{grid-template-columns:auto minmax(0,1fr)}.proximo .btn{grid-column:1/-1;width:100%}}
/* linha do tempo */
.linha-tempo{padding:6px 20px 16px}
.lt-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;position:relative;padding:10px 0}
.lt-item::before{content:"";position:absolute;left:8px;top:28px;bottom:-10px;width:2px;background:var(--linha)}
.lt-item:last-child::before{display:none}
.lt-ponto{width:18px;height:18px;border-radius:50%;border:2px solid var(--linha-2);background:var(--card);margin-top:2px;display:grid;place-items:center}
.lt-ponto.on{border-color:var(--verde);background:var(--verde)}
.lt-ponto.on svg{width:10px;height:10px;color:#fff}
.lt-ponto.agora{border-color:var(--ouro)}
.lt-hora{font-size:.8rem;font-weight:700;color:var(--txt-3);margin-bottom:6px}
.lt-hora b{color:var(--txt-2)}
.lt-corpo{display:flex;align-items:center;gap:12px}
.lt-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:.78rem;flex:none}
.lt-tx{flex:1;min-width:0}
.lt-tx small{display:block;font-size:.76rem;color:var(--txt-3);font-weight:700}
.lt-tx b{display:block;font-weight:800;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-tx span{display:block;font-size:.82rem;color:var(--txt-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-tempo{font-size:.76rem;font-weight:800;padding:4px 9px;border-radius:8px;background:var(--ok-bg);color:var(--ok);font-variant-numeric:tabular-nums;white-space:nowrap}
.lt-total{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--linha);font-weight:700;font-size:.88rem;color:var(--txt-2)}
.play{width:40px;height:40px;border-radius:50%;border:0;background:var(--card-2);color:var(--txt);cursor:pointer;display:grid;place-items:center;flex:none}
.play:hover{background:var(--ouro);color:var(--ouro-txt)}
.play svg{width:15px;height:15px;margin-left:2px}
.contagem{padding:20px;display:flex;align-items:center;gap:16px}
.contagem .n{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.contagem .tx b{display:block;font-weight:800}
.contagem .tx span{display:block;font-size:.82rem;color:var(--txt-3);font-weight:600}
.semana7{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:16px 20px 20px;align-items:end}
.semana7 .col{display:flex;flex-direction:column;align-items:center;gap:6px}
.semana7 .trilho{width:100%;max-width:32px;height:86px;border-radius:8px;background:var(--trilho);display:flex;align-items:flex-end;overflow:hidden}
.semana7 .trilho i{display:block;width:100%;background:var(--azul);border-radius:8px}
.semana7 .trilho i.cheio{background:var(--verde)}
.semana7 small{font-size:.72rem;font-weight:800;color:var(--txt-3)}
.semana7 .hoje small{color:var(--txt)}
/* rosca */
.rosca-wrap{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center;padding:16px 20px 20px}
.rosca{position:relative;width:170px;height:170px}
.rosca svg{width:100%;height:100%;transform:rotate(-90deg)}
.rosca .centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rosca .centro b{font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums}
.rosca .centro span{font-size:.74rem;font-weight:700;color:var(--txt-3)}
.legenda{display:flex;flex-direction:column;gap:9px;min-width:0}
.leg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.84rem;font-weight:700}
.leg .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leg .v{color:var(--txt-3);font-variant-numeric:tabular-nums;font-size:.78rem}
@media (max-width:560px){.rosca-wrap{grid-template-columns:1fr;justify-items:center}.legenda{width:100%}}

/* =========================================================
   SALA DE ESTUDO
   ========================================================= */
.sala{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:1080px){.sala{grid-template-columns:minmax(0,1fr)}}
.sala-lista{position:sticky;top:84px;max-height:calc(100dvh - 110px);display:flex;flex-direction:column;overflow:hidden}
.sala-lista .cab-l{padding:16px;border-bottom:1px solid var(--linha);display:flex;flex-direction:column;gap:10px}
.sala-lista .prog{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;color:var(--txt-3)}
.sala-lista .itens{overflow-y:auto;flex:1;padding:6px}
@media (max-width:1080px){.sala-lista{position:static;max-height:none;order:2}.palco{order:1}.sala-lista .itens{max-height:300px}}
.ass{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:10px;cursor:pointer;color:var(--txt)}
.ass:hover{background:var(--hover)}
.ass.at{background:var(--card-2)}
.ass .marcador{margin-top:1px;width:22px;height:22px}
.ass .nm{flex:1;min-width:0;font-weight:600;font-size:.88rem;line-height:1.35}
.ass .nm small{display:flex;gap:8px;margin-top:3px;font-size:.72rem;color:var(--txt-3);font-weight:700}
.ass.feito .nm{color:var(--txt-3)}
.palco{display:flex;flex-direction:column;gap:16px;min-width:0}
.palco-cab{padding:20px 22px;display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.palco-cab .rot{font-size:.78rem;font-weight:700;color:var(--txt-3);display:flex;align-items:center;gap:8px}
.palco-cab h2{font-size:1.35rem;margin-top:4px;max-width:46ch}
.tela{background:#05070F;border-radius:var(--r-g);overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center;color:#A9B0CC;position:relative}
.tela video,.tela iframe{width:100%;height:100%;border:0;display:block;background:#000}
.tela.pdf{aspect-ratio:auto;height:min(78vh,900px);background:var(--card-2)}
.tela.vazia{aspect-ratio:auto;min-height:220px;background:var(--card);border:1px dashed var(--linha-2);color:var(--txt-2)}
.tela.vazia div{text-align:center;padding:24px;max-width:46ch;font-weight:600}
.tela.vazia svg{width:40px;height:40px;margin:0 auto 10px;color:var(--txt-3)}
.midias{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.midia{flex:none;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:12px;border:1px solid var(--linha);background:var(--card);cursor:pointer;font-weight:700;font-size:.84rem;color:var(--txt);max-width:280px}
.midia:hover{border-color:var(--linha-2)}
.midia.at{border-color:var(--azul);box-shadow:0 0 0 1px var(--azul)}
.midia .tp{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;color:#fff}
.midia .tp svg{width:15px;height:15px}
.midia .tp.video{background:var(--coral)}.midia .tp.pdf{background:var(--azul)}.midia .tp.youtube{background:#E53935}.midia .tp.link,.midia .tp.arquivo,.midia .tp.imagem,.midia .tp.audio{background:var(--roxo)}
.midia span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.midia .ok{color:var(--ok);width:16px;height:16px;flex:none}
.notas textarea{width:100%;min-height:120px;border:0;background:transparent;resize:vertical;padding:0 22px 20px;outline:none;color:var(--txt);line-height:1.6;font-weight:500}
.concluir{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 22px}

/* aulas (acervo) */
.acervo-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:16px 20px 20px}
.aula{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:var(--card-2);border:1px solid transparent;cursor:pointer;text-align:left;color:var(--txt)}
.aula:hover{border-color:var(--linha-2)}
.aula .top{display:flex;align-items:center;gap:10px}
.aula b{font-weight:800;font-size:.9rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aula small{font-size:.76rem;color:var(--txt-3);font-weight:700}

/* =========================================================
   PLANEJAMENTO
   ========================================================= */
.abas{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--linha);overflow-x:auto}
.abas button{border:0;background:transparent;color:var(--txt-3);padding:11px 14px;font-weight:800;font-size:.9rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.abas button[aria-selected="true"]{color:var(--txt);border-bottom-color:var(--ouro)}
.semana-grade{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.dia{background:var(--card);border-radius:var(--r-g);border:1px solid var(--linha);display:flex;flex-direction:column;min-height:240px;scroll-snap-align:start;box-shadow:var(--sombra)}
.dia.hoje{border-color:var(--ouro)}
.dia header{padding:13px 13px 9px;display:flex;justify-content:space-between;align-items:baseline}
.dia header b{font-weight:800}
.dia header span{font-size:.76rem;font-weight:700;color:var(--txt-3)}
.dia ul{list-style:none;margin:0;padding:0 9px 8px;display:flex;flex-direction:column;gap:7px;flex:1;min-height:40px;border-radius:12px}
.dia ul.alvo{background:rgba(61,116,245,.08)}
.blc{display:flex;gap:8px;align-items:flex-start;padding:9px 9px 9px 11px;border-radius:10px;background:var(--card-2);border-left:4px solid var(--c);cursor:grab;font-size:.84rem}
.blc .n{flex:1;font-weight:700;line-height:1.3;min-width:0}
.blc .n small{display:block;font-size:.72rem;color:var(--txt-3);font-weight:700;margin-top:2px}
.blc button{border:0;background:transparent;color:var(--txt-3);cursor:pointer;padding:2px;border-radius:6px;opacity:0;transition:opacity .15s}
.blc:hover button,.blc button:focus-visible{opacity:1}
@media (hover:none){.blc button{display:none}}
.blc button:hover{color:var(--erro)}
.blc button svg{width:14px;height:14px}
.blc.arrastando{opacity:.4}
.add-blc{margin:0 9px 11px;border:1px dashed var(--linha-2);background:transparent;border-radius:10px;padding:7px;font-weight:700;font-size:.8rem;color:var(--txt-3);cursor:pointer}
.add-blc:hover{color:var(--txt);border-color:var(--txt-3)}
.ciclo-ordem{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;list-style:none;padding:0;margin:0}
.ciclo-ordem .blc{align-items:center}
.ciclo-ordem .pos{font-weight:800;font-size:.76rem;color:var(--txt-3);width:22px;text-align:center}
.ciclo-ordem .blc.atual{outline:2px solid var(--ouro)}
.cal-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
@media (max-width:700px){.cal-resumo{grid-template-columns:1fr}}
.semana-cal{margin-bottom:18px}
.semana-cal>h3{font-size:.85rem;color:var(--txt-3);margin:0 4px 10px;font-weight:800}
.dias-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.dia-cal{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:11px;min-height:120px;min-width:0;box-shadow:var(--sombra)}
.dia-cal.hoje{border-color:var(--ouro)}
.dia-cal.prova{background:var(--ouro);color:var(--ouro-txt);border-color:var(--ouro)}
.dia-cal .d{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.dia-cal .d b{font-weight:800}
.dia-cal .d span{font-size:.7rem;font-weight:700;color:var(--txt-3)}
.dia-cal .it{font-size:.74rem;font-weight:800;line-height:1.35;padding:6px 8px;border-radius:8px;background:var(--card-2);border-left:3px solid var(--c);margin-bottom:5px;min-width:0}
.dia-cal .it span,.dia-cal .it small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dia-cal .it small{color:var(--txt-2);font-weight:600;font-size:.7rem}
.dia-cal .rv{font-size:.7rem;font-weight:800;color:var(--laranja);margin-top:4px}
.dia-cal.vazio-d{opacity:.5}
.dia-cal.fora{background:transparent;border:0;box-shadow:none}
@media (max-width:900px){.dias-cal{grid-template-columns:minmax(0,1fr)}.dia-cal{min-height:0}.dia-cal.vazio-d,.dia-cal.fora{display:none}}

/* =========================================================
   EDITAL
   ========================================================= */
.disc-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.disc{padding:18px;cursor:pointer;border-radius:var(--r-g);background:var(--card);border:1px solid var(--linha);text-align:left;color:var(--txt);display:flex;flex-direction:column;gap:14px;box-shadow:var(--sombra)}
.disc:hover{border-color:var(--linha-2)}
.disc .cab{display:flex;align-items:center;gap:12px}
.disc .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.9rem;flex:none;color:#fff}
.disc .cab div b{display:block;font-weight:800;font-size:.98rem;line-height:1.25}
.disc .cab div span{display:block;font-size:.78rem;color:var(--txt-3);font-weight:700}
.disc .linha-p{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;color:var(--txt-2);margin-bottom:6px}
.disc .nums{display:flex;gap:14px;font-size:.78rem;font-weight:700;color:var(--txt-3);flex-wrap:wrap}
.disc .nums b{color:var(--txt);font-size:.9rem}
.disc.pausada{opacity:.5}
.topico{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--linha)}
.topico:first-child{border-top:0}
.topico .nm{flex:1;min-width:0;font-weight:600}
.topico .nm small{display:block;font-size:.76rem;color:var(--txt-3);font-weight:600;margin-top:1px}
.topico.feito .nm{color:var(--txt-3)}
.topico .acs{display:flex;gap:2px;opacity:.35}
.topico:hover .acs,.topico:focus-within .acs{opacity:1}
@media (hover:none){.topico .acs{opacity:1}}
.material{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--linha)}
.material:first-child{border-top:0}
.material .tipo{width:38px;height:38px;border-radius:10px;background:var(--card-2);display:grid;place-items:center;font-size:.64rem;font-weight:800;color:var(--txt-2);flex:none}
.material a{font-weight:700;color:var(--txt)}
.soltar{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:2px dashed var(--linha-2);border-radius:var(--r-g);padding:24px;cursor:pointer;color:var(--txt-2);font-weight:600}
.soltar svg{width:26px;height:26px;color:var(--txt-3)}
.soltar.sobre{border-color:var(--azul);background:rgba(61,116,245,.06)}
.peso-sel{display:inline-flex;gap:4px}
.peso-sel button{width:15px;height:15px;border-radius:50%;border:2px solid var(--linha-2);background:transparent;padding:0;cursor:pointer}
.peso-sel button.on{background:var(--ouro);border-color:var(--ouro)}

/* =========================================================
   QUESTÕES
   ========================================================= */
.config{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:960px){.config{grid-template-columns:minmax(0,1fr)}}
.escolha label{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--linha);cursor:pointer;font-weight:700}
.escolha label:first-child{border-top:0}
.escolha label:hover{background:var(--hover)}
.escolha label span{flex:1;min-width:0}
.escolha input{width:18px;height:18px;accent-color:var(--azul)}
.prova{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}
@media (max-width:960px){.prova{grid-template-columns:minmax(0,1fr)}}
.prova-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.relogio{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}
.relogio.alerta{color:var(--erro)}
.questao{padding:clamp(20px,3vw,30px)}
.questao .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.enunciado{font-size:1.02rem;line-height:1.75;white-space:pre-wrap;margin-bottom:22px;max-width:76ch;font-weight:500}
.alts{display:flex;flex-direction:column;gap:9px}
.alt-l{display:flex;gap:6px}
.alt{flex:1;display:flex;gap:14px;align-items:flex-start;text-align:left;border:1px solid var(--linha-2);background:transparent;border-radius:12px;padding:12px 15px;cursor:pointer;line-height:1.55;font-weight:500;color:var(--txt)}
.alt:hover{background:var(--hover)}
.alt .l{width:28px;height:28px;border-radius:50%;background:var(--card-2);display:grid;place-items:center;font-weight:800;font-size:.84rem;flex:none}
.alt.marcada{border-color:var(--azul);background:rgba(61,116,245,.08)}
.alt.marcada .l{background:var(--azul);color:#fff}
.alt.riscada .tx{text-decoration:line-through;color:var(--txt-3)}
.alt.certa{border-color:var(--ok);background:var(--ok-bg)}
.alt.certa .l{background:var(--ok);color:#fff}
.alt.errada{border-color:var(--erro);background:var(--erro-bg)}
.alt.errada .l{background:var(--erro);color:#fff}
.riscar{width:36px;border:0;background:transparent;color:var(--txt-3);border-radius:10px;cursor:pointer}
.riscar:hover{background:var(--hover);color:var(--txt)}
.riscar svg{width:15px;height:15px;margin:auto}
.coment{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--card-2);font-size:.93rem;line-height:1.6}
.prova-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.cartao-resp{padding:18px;position:sticky;top:84px}
.cartao-resp .gr{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 16px}
.cartao-resp .gr button{height:34px;border-radius:9px;border:0;background:var(--card-2);color:var(--txt-2);font-weight:800;font-size:.8rem;cursor:pointer;font-variant-numeric:tabular-nums}
.cartao-resp .gr button.r{background:var(--azul);color:#fff}
.cartao-resp .gr button.ok{background:var(--ok);color:#fff}
.cartao-resp .gr button.x{background:var(--erro);color:#fff}
.cartao-resp .gr button.at{outline:2px solid var(--ouro);outline-offset:1px}
@media (max-width:960px){.cartao-resp{position:static}}
.res-topo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:640px){.res-topo{grid-template-columns:1fr;gap:20px}}
.nota{font-size:clamp(3rem,8vw,4.2rem);font-weight:800;letter-spacing:-.05em;line-height:.95;font-variant-numeric:tabular-nums}
.barras{display:flex;flex-direction:column;gap:12px}
.bl{display:grid;grid-template-columns:minmax(110px,210px) minmax(0,1fr) 60px;gap:12px;align-items:center;font-size:.86rem;font-weight:700}
.bl .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl .v{text-align:right;color:var(--txt-2);font-variant-numeric:tabular-nums}
.bl .barra i.baixo{background:var(--erro)}
@media (max-width:560px){.bl{grid-template-columns:minmax(0,1fr) 56px}.bl .barra{grid-column:1/-1;grid-row:2}}

/* ESTATÍSTICAS */
.kpis4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
@media (max-width:900px){.kpis4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{padding:16px 18px;border-radius:var(--r-g);background:var(--card);border:1px solid var(--linha);box-shadow:var(--sombra)}
.kpi b{display:block;font-size:1.55rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15}
.kpi span{display:block;font-size:.78rem;font-weight:700;color:var(--txt-3);margin-top:2px}
.dois{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:20px}
@media (max-width:900px){.dois{grid-template-columns:minmax(0,1fr)}}
.calor{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:minmax(12px,1fr);gap:4px;padding:16px 20px 20px;overflow-x:auto}
.calor i{aspect-ratio:1;border-radius:4px;background:var(--trilho);display:block;min-width:12px}
.calor i[data-n="1"]{background:rgba(31,174,122,.3)}.calor i[data-n="2"]{background:rgba(31,174,122,.55)}.calor i[data-n="3"]{background:rgba(31,174,122,.8)}.calor i[data-n="4"]{background:var(--verde)}
svg.graf{width:100%;height:auto;overflow:visible}
svg.graf text{fill:var(--txt-3);font-size:11px;font-weight:700;font-family:var(--fonte)}

/* TUTOR */
.chat{display:flex;flex-direction:column;height:calc(100dvh - 240px);min-height:440px}
.msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px 2px 16px}
.msg{max-width:min(700px,88%);line-height:1.65;font-size:.95rem}
.msg.eu{align-self:flex-end;background:var(--azul);color:#fff;padding:11px 16px;border-radius:16px 16px 6px 16px;font-weight:600}
.msg.ia{align-self:flex-start;background:var(--card);border:1px solid var(--linha);padding:14px 18px;border-radius:16px 16px 16px 6px}
.msg.ia p{margin:0 0 .6em}.msg.ia p:last-child{margin:0}
.msg.ia ul,.msg.ia ol{margin:.2em 0 .6em;padding-left:1.3em}
.chat-in{display:flex;gap:8px;align-items:flex-end;background:var(--card);border:1px solid var(--linha-2);border-radius:16px;padding:8px}
.chat-in:focus-within{border-color:var(--azul)}
.chat-in textarea{flex:1;border:0;background:transparent;resize:none;max-height:160px;min-height:42px;padding:9px 10px;outline:none;line-height:1.5;font-weight:500;color:var(--txt)}

/* ONBOARDING */
.onb{min-height:100dvh;display:flex;flex-direction:column}
.onb-topo{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,4vw,40px)}
.onb-topo .marca{color:var(--txt)!important}
.onb{position:relative;isolation:isolate;overflow-x:clip}
.onb-topo .marca b{text-transform:lowercase}
.onb-passos{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
.onb-passos li{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--txt-3)}
.onb-passos li+li::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--trilho);margin-right:2px}
.onb-passos li.ok+li::before{background:var(--ouro)}
.onb-passos i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.76rem;font-weight:800;border:2px solid var(--linha-2);color:var(--txt-3);flex:none}
.onb-passos i svg{width:13px;height:13px}
.onb-passos li.on{color:var(--txt)}
.onb-passos li.on i{border-color:var(--ouro);color:var(--ouro)}
.onb-passos li.ok{color:var(--txt-2)}
.onb-passos li.ok i{background:var(--ouro);border-color:var(--ouro);color:#161B2E}
@media (max-width:760px){.onb-passos li span{display:none}.onb-passos li+li::before{width:12px}.onb-passos i{width:24px;height:24px}.onb-passos{gap:4px}}
.onb-olho{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro);margin-bottom:12px}
.onb-corpo h1 em{font-style:normal;color:var(--txt-2)}
.drop{position:relative;border-style:dashed!important;background:linear-gradient(180deg,rgba(255,201,60,.06),transparent 55%),var(--card)!important;transition:border-color .15s,transform .15s,background .15s}
.drop:hover{transform:translateY(-2px)}
.drop.arrastando{border-style:solid!important;background:rgba(255,201,60,.1)!important;transform:scale(1.01)}
.drop .selo-rec{position:absolute;top:18px;right:18px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#161B2E;background:var(--ouro);padding:4px 9px;border-radius:999px}
.drop-doc{width:62px;height:62px;display:block}
.drop-doc svg{width:100%;height:100%}
.drop h3{font-size:1.35rem!important}
.drop-lista{list-style:none;margin:2px 0 6px;padding:0;display:flex;flex-direction:column;gap:7px}
.drop-lista li{display:flex;align-items:center;gap:9px;font-weight:700;font-size:.9rem;color:var(--txt)}
.drop-lista li svg{width:16px;height:16px;color:#2FC28C;flex:none}
.drop .btn.g{align-self:stretch!important}
.areas-onb{display:flex;flex-wrap:wrap;gap:6px}
.areas-onb i{font-style:normal;font-size:.76rem;font-weight:700;color:var(--txt-2);border:1px solid var(--linha-2);padding:4px 10px;border-radius:999px}
.onb-corpo{flex:1;width:100%;max-width:820px;margin:0 auto;padding:12px 16px 130px}
.onb-corpo h1{font-size:clamp(1.6rem,3.4vw,2.2rem);margin-bottom:10px}
.onb-corpo .intro{color:var(--txt-2);font-weight:600;max-width:56ch;margin-bottom:26px}
.opcoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.op{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px;border-radius:var(--r-g);background:var(--card);border:2px solid var(--linha);cursor:pointer;color:var(--txt)}
.op:hover{border-color:var(--linha-2)}
.op[aria-pressed="true"]{border-color:var(--azul)}
.op .ic{width:40px;height:40px;border-radius:11px;background:var(--card-2);display:grid;place-items:center;flex:none}
.op .ic svg{width:21px;height:21px;color:var(--azul)}
.op b{display:block;font-weight:800}
.op small{display:block;color:var(--txt-3);font-weight:600;font-size:.8rem;margin-top:2px}
.caminhos{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
@media (max-width:700px){.caminhos{grid-template-columns:1fr!important}}
.caminho{padding:26px;border-radius:20px;background:var(--card);border:2px solid var(--linha);cursor:pointer;text-align:left;color:var(--txt);display:flex;flex-direction:column;gap:12px}
.caminho:hover{border-color:var(--linha-2)}
.caminho.dest{border-color:var(--ouro)}
.caminho .ic{width:50px;height:50px;border-radius:14px;background:rgba(255,201,60,.14);display:grid;place-items:center}
.caminho .ic svg{width:26px;height:26px;color:#E0A800}
:root:not([data-tema="claro"]) .caminho .ic svg{color:var(--ouro)}
.caminho h3{font-size:1.2rem}
.caminho p{color:var(--txt-2);font-weight:600}
.caminho .btn{align-self:flex-start;margin-top:auto}
.processo{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 0}
.processo .anel{width:80px;height:80px;border-radius:50%;border:6px solid var(--trilho);border-top-color:var(--ouro);animation:gira 1s linear infinite;margin-bottom:24px}
@keyframes gira{to{transform:rotate(360deg)}}
.etapas{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px;text-align:left}
.etapas li{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--txt-3)}
.etapas li i{width:24px;height:24px;border-radius:50%;border:2px solid var(--linha-2);display:grid;place-items:center;flex:none}
.etapas li i svg{width:13px;height:13px}
.etapas li.on{color:var(--txt)}
.etapas li.on i{border-color:var(--ouro)}
.etapas li.ok{color:var(--txt-2)}
.etapas li.ok i{background:var(--ok);border-color:var(--ok);color:#fff}
.ed-disc{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--linha);border-left:4px solid var(--c)}
.ed-disc input{border:0;background:transparent;font-weight:800;color:var(--txt);min-width:0;padding:6px 4px;border-radius:8px;outline:none}
.ed-disc input:focus{background:var(--input)}
.ed-disc .lbl{font-size:.7rem;font-weight:800;color:var(--txt-3);display:flex;flex-direction:column;gap:4px;align-items:center}
.ed-disc .seg button{padding:4px 9px;font-size:.74rem}
.ed-lista{display:flex;flex-direction:column;gap:8px}
@media (max-width:640px){.ed-disc{grid-template-columns:minmax(0,1fr) auto}.ed-disc .rem{grid-row:1;grid-column:2}.ed-disc .lbl{flex-direction:row;gap:8px;grid-column:1/-1;justify-content:flex-start}}
.horas7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.horas7 label{display:flex;flex-direction:column;gap:6px;text-align:center;font-weight:800;font-size:.78rem;color:var(--txt-2)}
.horas7 input{text-align:center;padding:0 4px}
@media (max-width:560px){.horas7{grid-template-columns:repeat(4,minmax(0,1fr))}}
.onb-pe{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg-2);border-top:1px solid var(--linha);padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
.onb-pe>div{max-width:820px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cargos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.resultado-onb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
@media (max-width:640px){.resultado-onb{grid-template-columns:1fr}}

.planos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.planos{grid-template-columns:1fr}}
.plano{padding:22px;border-radius:var(--r-g);background:var(--card);border:2px solid var(--linha);cursor:pointer;text-align:left;color:var(--txt)}
.plano[aria-pressed="true"]{border-color:var(--azul)}
.plano .preco{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:8px 0 4px}
.plano .preco small{font-size:.88rem;font-weight:700;color:var(--txt-3);letter-spacing:0}
.carregando{display:flex;justify-content:center;padding:60px 0}
.carregando i{width:34px;height:34px;border-radius:50%;border:4px solid var(--trilho);border-top-color:var(--ouro);animation:gira .8s linear infinite}
.faixa-imp{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:9px 16px;background:#FFC93C;color:#161B2E;font-size:.86rem;font-weight:700;text-align:center}
.faixa-imp a{background:#161B2E;color:#fff!important;padding:6px 12px;border-radius:8px;font-weight:800;text-decoration:none!important;white-space:nowrap}
body.com-imp .lateral{top:var(--imp-h,40px);height:calc(100dvh - var(--imp-h,40px))}
body.com-imp .barra-topo{top:var(--imp-h,40px)}
/* onboarding: rotina */
.sem-cab{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.sem-total{font-size:2.4rem;font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.sem-total small{font-size:.95rem;font-weight:700;color:var(--txt-3);letter-spacing:0;margin-left:6px}
.sem-linha{color:var(--txt-3);font-weight:600;font-size:.88rem}
.sem-linha b{color:var(--txt-2);font-weight:700}
.semana-ed{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:22px 0 8px;padding:18px 12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--linha)}
.sd{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.sd .trilho{position:relative;width:100%;max-width:44px;height:150px;border-radius:10px;background:var(--trilho);cursor:ns-resize;touch-action:none;overflow:hidden}
.sd .trilho i{position:absolute;left:0;right:0;bottom:0;border-radius:10px;background:var(--ouro);transition:height .12s}
.sd .trilho:hover i{background:#FFD45F}
.sd input{width:100%;max-width:56px;border:0;border-radius:8px;background:transparent;color:var(--txt);text-align:center;font-size:1.05rem;font-weight:800;padding:4px 0;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.sd input:focus{background:var(--input)}
.sd input::-webkit-inner-spin-button,.sd input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.sd span{font-size:.74rem;font-weight:700;color:var(--txt-3)}
.sd.zero input{color:var(--txt-3)}
.sem-dica{font-size:.8rem;color:var(--txt-3);font-weight:600;margin-bottom:30px}
.ajustes{border-top:1px solid var(--linha)}
.aj{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center;padding:18px 0;border-bottom:1px solid var(--linha)}
.aj b{display:block;font-weight:700;font-size:.95rem}
.aj p{margin:2px 0 0;color:var(--txt-3);font-weight:600;font-size:.84rem;line-height:1.45}
.aj .entrada{width:180px;height:40px}
.aj .seg button{padding:7px 12px}
.sw-onb{position:relative;width:44px;height:24px;flex:none;display:inline-block}
.sw-onb input{opacity:0;width:0;height:0;position:absolute}
.sw-onb i{position:absolute;inset:0;border-radius:99px;background:var(--trilho);transition:.2s;cursor:pointer}
.sw-onb i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.sw-onb input:checked+i{background:var(--ouro)}
.sw-onb input:checked+i::after{transform:translateX(20px)}
@media (max-width:640px){
  .sd .trilho{height:110px}
  .semana-ed{gap:4px;padding:14px 8px 10px}
  .aj{grid-template-columns:minmax(0,1fr)}
  .aj .entrada{width:100%}
  .aj .seg{width:100%}.aj .seg button{flex:1}
}
