/* Estilos da plataforma (base do protótipo aprovado) */

:root{
  /* visual clínico: cinza claro + branco + verde-água (tema único, claro) */
  color-scheme:light;
  --bg:#EEF2F3; --surface:#FFFFFF; --surface-2:#F4F7F7; --line:#DDE5E6;
  --ink:#22303A; --ink-2:#556670; --muted:#8A99A1;
  --accent:#2BA89A; --accent-ink:#FFFFFF; --accent-soft:#E2F4F1; --accent-deep:#1D7F75;
  --gold:#C99A3A; --warn:#B4532F; --warn-soft:#FBEAE2;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;padding-inline:16px;padding-block:0 48px}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto}

/* top bar */
.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:18px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-.01em}
.brand svg{flex:none}
.proto{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 9px}
.tabs{margin-left:auto;display:flex;background:var(--surface-2);border-radius:10px;padding:3px}
.tabs button{border:0;background:none;color:var(--ink-2);padding:7px 14px;border-radius:8px;font-weight:500;font-size:14px}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* course header */
.course{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:end;padding-block:28px 22px}
.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}
.course h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,40px);line-height:1.1;margin:6px 0 0;text-wrap:balance}
.prog{min-width:220px}
.prog-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;margin-bottom:6px}
.bar{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .4s}

/* layout */
.grid{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}
@media (max-width:880px){.grid{grid-template-columns:1fr}.course{grid-template-columns:1fr}}

.list{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:sticky;top:calc(env(safe-area-inset-top,0px) + 12px);max-height:calc(100vh - 24px);overflow-y:auto}
@media (max-width:880px){.list{position:static;max-height:none}}
.list-h{padding:14px 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;color:inherit;padding:11px 16px;border-bottom:1px solid var(--line)}
.item:last-child{border-bottom:0}
.item:hover:not([disabled]){background:var(--surface-2)}
.item.done{background:#F0FAF7}
.item.done:hover{background:#E6F6F2!important}
.item[aria-current="true"]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.item[disabled]{cursor:not-allowed;opacity:.5}
.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border:1.5px solid var(--line);color:var(--ink-2)}
.item.done .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.item[aria-current="true"] .dot{border-color:var(--accent);color:var(--accent)}
.item.done[aria-current="true"] .dot{color:var(--accent-ink)}
.it-d{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent-deep);margin-bottom:1px}
.it-t{font-size:14px;line-height:1.35;font-weight:500}
.it-m{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.it-r{font-size:12px;color:var(--gold);font-weight:600;white-space:nowrap}

/* session */
.panel{display:flex;flex-direction:column;gap:18px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.s-head{display:flex;gap:18px;align-items:center}
.day{flex:none;width:82px;height:82px;border-radius:18px;background:var(--accent-soft);color:var(--accent-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #CBEAE4}
.day small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.day b{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.s-num{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);font-weight:700}
.s-title{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.25;margin:2px 0 0;text-wrap:balance}
.s-lab{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep);margin-right:2px}
@media (max-width:480px){.s-title{font-size:17px}.s-lab{font-size:12px}}
@media (min-width:900px){.s-title{font-size:22px}}
@media (max-width:480px){.day{width:64px;height:64px;border-radius:14px}.day b{font-size:28px}}
.video{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:12px;overflow:hidden;background:#1E2B30;display:grid;place-items:center;margin-top:20px}
.video::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,rgba(43,168,154,.35),transparent 60%),radial-gradient(90% 90% at 90% 100%,rgba(255,255,255,.08),transparent 60%)}
.play{position:relative;width:68px;height:68px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center}
.vtag{position:absolute;left:14px;bottom:12px;font-size:12px;color:#C9CEDA;display:flex;gap:10px;align-items:center}
.vtag b{color:#fff;font-weight:600}
.panda{position:absolute;right:12px;top:12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#C9CEDA;border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:3px 9px}

.audio{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.a-btn{width:36px;height:36px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.a-body{flex:1;min-width:0}
.a-t{font-weight:600;font-size:15px;margin:16px 0 0;color:var(--ink)}
.a-s{font-size:13px;color:var(--ink-2)}
.wave{flex:1;min-width:0;display:flex;gap:2px;align-items:center;height:24px}
.wave i{flex:1;background:var(--line);border-radius:2px}
.wave i.on{background:var(--accent)}
.a-time{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.pub-row{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;margin-top:12px}
.pub-row .btn{white-space:nowrap}
@media (max-width:340px){.pub-row{flex-wrap:wrap}}
.intro-cta{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.intro-cta p{margin:0;color:var(--ink-2);font-size:15px}
.btn.big{padding:14px 28px;font-size:16px;border-radius:12px;width:min(100%,360px)}
.a-tip{display:flex;gap:10px;align-items:center;margin-top:10px;padding:10px 14px;border-radius:10px;background:#FFF6E5;border:1px solid #F0D9A8;color:#6B4E12;font-size:13.5px;line-height:1.4}
.a-tip svg{flex:none;color:#B7862B}
.a-tip b{color:#8A4B12}

.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 16px;font-weight:600;font-size:14px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn:disabled{opacity:.55;cursor:default}
.rate-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:14px;color:var(--ink-2)}
.rate-row small{font-size:12px;color:var(--accent-deep)}
.done-note{display:flex;gap:10px;align-items:center;background:var(--accent-soft);border:1px solid #CBEAE4;color:var(--accent-deep);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;margin-bottom:14px}
.stars{display:flex;gap:2px;align-items:center}
.stars span{font-size:12px;color:var(--muted);margin-right:6px}
.stars button{border:0;background:none;padding:2px;color:#C3CED2;font-size:26px;line-height:1}
.stars button.on{color:var(--gold)}


/* relatos (estilo comentários) */
.card.relato{background:#F1F8F7;border-color:#D6ECE8}
.r-h{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-size:17px;font-weight:600;margin:0;background:#FFFFFF;border:1.5px solid var(--accent);border-radius:11px;padding:6px 12px 6px 6px;box-shadow:0 3px 10px rgba(43,168,154,.14);color:var(--ink);white-space:nowrap}
.r-ic{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;flex:none}
@media (max-width:480px){.r-h{font-size:16px}.card.relato{padding:16px}}
@media (max-width:400px){.r-h{font-size:15px;padding:5px 10px 5px 5px;gap:7px}.r-ic{width:24px;height:24px}.c-count{padding:4px 8px;font-size:12px;gap:4px}.c-count b{font-size:13px}.c-count svg{width:13px;height:13px}}

.r-p{color:var(--ink-2);margin:10px 0 6px;font-size:14px}
textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #CFE3E0;border-radius:10px;background:#FFFFFF;color:var(--ink);font:inherit;padding:12px 14px}
#relato{border:1px solid #E7A3A3}
#relato:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(43,168,154,.15)}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin-top:10px}
.consent.cream{background:#FFF8E6;border:1px solid #F1E0B4;border-radius:10px;padding:7px 10px;font-size:12.5px;margin-top:8px;color:#6B5418;align-items:center}
.consent.cream svg{flex:none;color:#B7862B}
.consent.cream b{color:#5A4510;letter-spacing:.02em}
.consent input{margin-top:3px;accent-color:var(--accent)}
.c-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid #D6ECE8}
.c-tabs{display:flex;gap:4px;flex-wrap:wrap}
.c-tabs button{border:1px solid transparent;background:none;color:var(--ink-2);border-radius:8px;padding:5px 11px;font-size:13px;font-weight:500}
.c-tabs button[aria-pressed="true"]{background:#FFFFFF;border-color:#CFE3E0;color:var(--accent-deep);font-weight:600}
.r-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}
@media (max-width:350px){.r-top{flex-wrap:wrap}}
.c-count{display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;border:1.5px solid var(--accent);color:var(--accent-deep);border-radius:10px;padding:5px 11px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px rgba(43,168,154,.14)}
.c-count b{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1}
.av.th img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.av.th:has(img){background:#fff;padding:0;overflow:hidden}
.cfg{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.cfg .big{width:96px;height:96px;font-size:34px}
.cfg h3{margin:0 0 4px;font-size:16px}
.cfg p{margin:0 0 12px;font-size:13.5px;color:var(--ink-2);max-width:52ch}
.comments{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.cm{display:block}
.av.sm{width:26px;height:26px;font-size:12px}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:14px;color:var(--accent-deep);background:#FFFFFF;border:1px solid #CFE3E0}
.av.th{background:var(--accent);color:#fff;border-color:var(--accent);font-family:var(--serif);font-size:15px}
.bubble{background:#FFFFFF;border:1px solid #E1EEEC;border-radius:12px;padding:12px 14px;min-width:0}
.bubble.mine{border-color:#BFE3DC}
.b-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px;font-weight:600}
.b-h small{font-weight:400;color:var(--muted);font-size:12px}
.b-t{margin-top:6px;font-size:14.5px;white-space:pre-line;overflow-wrap:anywhere}
.reply{margin-top:10px}
.reply .av.sm{width:26px;height:26px}
.reply .bubble{background:var(--accent-soft);border-color:#CBEAE4}
.sig{margin-top:8px;font-size:13.5px;color:var(--ink-2);white-space:pre-line}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:99px;padding:3px 10px}
.pill.wait{background:#FFF8E8;color:#8A6414;border:1px solid #EFDDB0}
.pill.ok{background:var(--accent-soft);color:var(--accent-deep)}
.pill.flag{background:var(--warn-soft);color:var(--warn)}
.pill.priv{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.alertbox{background:var(--warn-soft);border-radius:12px;padding:12px 14px;font-size:14px;margin-top:10px;white-space:pre-line}
.empty{font-size:14px;color:var(--muted);padding:10px 2px}
.note{font-size:12.5px;color:var(--muted)}

/* painel */
.sec-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:30px 0 12px}
.sec-h h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:0}
.sec-h span{font-size:13px;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:26px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.kpi b{display:block;font-family:var(--serif);font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{font-size:13px;color:var(--ink-2)}
.kpi em{display:block;font-style:normal;font-size:12px;color:var(--accent-deep);margin-top:2px}
.kpi.hot{border-color:#EFDDB0;background:#FFFCF3}
.queue{display:flex;flex-direction:column;gap:14px}
.q{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.q.flag{border-color:#EFC6B4}
@media (max-width:820px){.q{grid-template-columns:1fr}}
.q-lab{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
.q-who{font-weight:600}
.q-meta{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.q-txt{font-size:14.5px;background:var(--surface-2);border-radius:10px;padding:12px 14px;white-space:pre-line}
.q textarea{min-height:190px;font-size:14px;background:#FFFFFF}
.q-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.q-hist{font-size:12.5px;color:var(--ink-2);margin-top:10px}
.btn.warn{background:var(--warn);border-color:var(--warn);color:#fff}
.done-msg{background:var(--accent-soft);color:var(--accent-deep);border-radius:12px;padding:14px 16px;font-size:14px;font-weight:500}
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 18px 12px;position:relative}
.chart-wrap{overflow-x:auto}
.chart-card svg{display:block;width:100%;min-width:560px;height:auto}
.chart-card text{fill:var(--muted);font-family:var(--sans);font-size:11px}
.bar-r{fill:var(--accent);transition:opacity .15s}
.hit:hover + .bar-r,.bar-r.hov{fill:var(--accent-deep)}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:12.5px;border-radius:8px;padding:6px 10px;white-space:nowrap;transform:translate(-50%,-110%)}
.chart-note{font-size:13px;color:var(--ink-2);margin-top:6px}
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:900px){.how{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.how{grid-template-columns:1fr}}
.how div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.how h3{font-size:15px;margin:0 0 4px}
.how p{margin:0;font-size:13.5px;color:var(--ink-2)}
/* painel: subnavegação, sessões, fichas */
.subnav{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px;border-bottom:1px solid var(--line)}
.subnav button{border:0;background:none;color:var(--ink-2);font-weight:600;font-size:14px;padding:10px 4px;margin-right:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.subnav button[aria-selected="true"]{color:var(--accent-deep);border-bottom-color:var(--accent)}
.ed{display:flex;flex-direction:column;gap:10px}
.ed-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:70px minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:center}
@media (max-width:900px){.ed-row{grid-template-columns:60px 1fr}.ed-row>.f{grid-column:1/-1}}
.ed-n{font-family:var(--serif);font-size:22px;color:var(--accent-deep);line-height:1}
.ed-n small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ed input[type=text],.ed input[type=url]{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.f label{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:4px}
.up{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.up input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.up .btn{padding:7px 12px;font-size:13px}
.up span{font-size:12.5px;color:var(--ink-2);overflow-wrap:anywhere}
.ok-chip{font-size:12px;color:var(--accent-deep);font-weight:600}
.no-chip{font-size:12px;color:#8A6414;font-weight:600}
.save-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.people{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}
@media (max-width:820px){.people{grid-template-columns:1fr}}
.pl-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--muted)}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,168,154,.15)}
.search input{border:0;outline:0;flex:1;min-width:0;padding:10px 0;font:inherit;font-size:14px;background:transparent;color:var(--ink)}
.pl-count{font-size:12px;color:var(--muted);padding-left:2px}
.pl{max-height:560px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pl button{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;padding:11px 14px}
.pl button:last-child{border-bottom:0}
.pl button[aria-current="true"]{background:var(--accent-soft)}
.pl small{display:block;color:var(--muted);font-size:12px}
.ficha{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:18px;min-width:0}
.fi-h{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.fi-h h3{font-family:var(--serif);font-weight:500;font-size:26px;margin:0}
.fi-h .meta{font-size:13px;color:var(--muted)}
.mem{background:#F1F8F7;border:1px solid #D6ECE8;border-radius:12px;padding:16px 18px}
.mem h4,.tl h4,.use h4{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}
.mem dl{display:grid;grid-template-columns:170px 1fr;gap:8px 14px;margin:0;font-size:14px}
@media (max-width:560px){.mem dl{grid-template-columns:1fr;gap:2px}.mem dd{margin-bottom:8px}}
.mem dt{color:var(--ink-2);font-weight:600}
.mem dd{margin:0}
.tl ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border-left:2px solid #CBEAE4;margin-left:8px}
.tl li{position:relative;padding:0 0 14px 18px;font-size:14px}
.tl li::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent)}
.tl li b{display:block;font-size:13px}
.tl li span{color:var(--ink-2)}
.use{border:1px dashed #BFE3DC;border-radius:12px;padding:16px 18px;font-size:14px}
.use p{margin:0;white-space:pre-line}
.use .hl{background:#DDF1ED;border-radius:4px;padding:0 3px}

/* tela de acesso */
.ac-wrap{max-width:420px;margin:32px auto 0;display:flex;flex-direction:column;gap:14px}
.ac-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(34,48,58,.07)}
.ac-brand{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.ac-brand b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.2}
.ac-brand small{color:var(--muted);font-size:12.5px}
.ac-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);border-radius:10px;padding:3px;margin-bottom:18px}
.ac-tabs button{border:0;background:none;padding:8px;border-radius:8px;font-weight:600;font-size:14px;color:var(--ink-2)}
.ac-tabs button[aria-selected="true"]{background:#fff;color:var(--accent-deep);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ac-card h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:0 0 4px}
.ac-card p{margin:0 0 14px;color:var(--ink-2);font-size:14px}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.fld label{font-size:13px;font-weight:600;color:var(--ink-2)}
.fld input{border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.fld input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,168,154,.15)}
.ac-card .btn.primary{width:100%;padding:12px;font-size:15px}
.ac-link{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:var(--accent-deep);background:none;border:0;width:100%;font-weight:600}
.ac-ok{background:var(--accent-soft);border:1px solid #CBEAE4;color:var(--accent-deep);border-radius:12px;padding:14px;font-size:14px;margin-bottom:14px}
.ac-err{background:var(--warn-soft);border:1px solid #EFC6B4;color:var(--warn);border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:12px}
.req{color:var(--warn)}
.ferr{color:var(--warn);font-size:12.5px}
.fld input.bad{border-color:var(--warn);box-shadow:0 0 0 3px rgba(180,83,47,.12)}
.btn.wa{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;font-size:15px;background:#25A45A;border-color:#25A45A;color:#fff;text-decoration:none}
.btn.wa:hover{background:#1F8E4D}
.ac-num{text-align:center;font-size:12.5px;color:var(--muted);margin:10px 0 0!important}
.ac-num b{color:var(--ink-2);user-select:all}
.ac-foot{text-align:center;font-size:13.5px;color:var(--ink-2);margin:0}
.ac-foot a{color:var(--accent-deep);font-weight:600}
.ac-demo{text-align:center;font-size:12px;color:var(--muted);margin:0}

/* notificações */
.bell-wrap{position:relative;margin-left:auto}
.bell-wrap + .tabs{margin-left:0}
.bell{position:relative;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center}
.badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;border-radius:99px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;border:2px solid var(--bg)}
.drop{position:absolute;right:0;top:48px;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(34,48,58,.14);z-index:20;overflow:hidden}
.drop-h{padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drop-h button{border:0;background:none;color:var(--accent-deep);font-size:12.5px;font-weight:600;padding:0}
.nt{display:grid;grid-template-columns:32px 1fr 8px;gap:10px;align-items:start;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;padding:12px 16px}
.nt:last-child{border-bottom:0}
.nt:hover{background:var(--surface-2)}
.nt.unread{background:#F1F8F7}
.nt .av{width:32px;height:32px}
.nt-t{font-size:13.5px;line-height:1.4}
.nt-t small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nt i{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px}
.nt:not(.unread) i{visibility:hidden}
.toast{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 32px));background:var(--surface);border:1px solid #BFE3DC;border-radius:14px;box-shadow:0 14px 36px rgba(34,48,58,.18);padding:16px;display:grid;grid-template-columns:40px 1fr;gap:12px;z-index:30;animation:up .35s ease-out}
@keyframes up{from{transform:translateY(12px);opacity:.4}to{transform:none;opacity:1}}
.toast .av{width:40px;height:40px}
.toast h4{margin:0;font-size:15px}
.toast p{margin:3px 0 10px;font-size:13.5px;color:var(--ink-2)}
.toast .row{display:flex;gap:8px}
.toast .btn{padding:7px 12px;font-size:13px}
.new-dot{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:99px;padding:2px 7px;margin-left:6px;vertical-align:1px}
.cm.flash .bubble{animation:flash 2.4s ease-out}
@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--accent)}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- complementos da versão real ---- */
.hidden{display:none!important}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .soon{position:relative;color:#C9CEDA;font-size:14px}
.audio audio{display:none}
.wave{cursor:pointer}
.msg-erro{background:var(--warn-soft);border:1px solid #EFC6B4;color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13.5px;margin-top:10px}
.msg-ok{background:var(--accent-soft);border:1px solid #CBEAE4;color:var(--accent-deep);border-radius:10px;padding:10px 12px;font-size:13.5px;margin-top:10px}
.user-menu{display:flex;align-items:center;gap:10px;margin-left:auto}
.user-menu .who{font-size:13px;color:var(--ink-2)}
.link-btn{border:0;background:none;color:var(--accent-deep);font-weight:600;font-size:13px;padding:4px}
.loading{padding:40px;text-align:center;color:var(--muted)}
.unlock-note{font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:10px;padding:10px 12px;margin-top:12px}
.bell-wrap + .user-menu{margin-left:0}

/* ---- guia: próximo passo pulsando ---- */
@keyframes guia{0%{box-shadow:0 0 0 0 rgba(43,168,154,.6)}70%{box-shadow:0 0 0 10px rgba(43,168,154,0)}100%{box-shadow:0 0 0 0 rgba(43,168,154,0)}}
.guia{animation:guia 2s ease-out infinite;position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.guia{animation:none;box-shadow:0 0 0 4px rgba(43,168,154,.4)}}
.done-hint{font-size:12.5px;color:var(--muted);margin:6px 0 0}
#btn-done:disabled:not(.feito){background:#C9D6D8;border-color:#C9D6D8;color:#fff;opacity:1}
