:root{
  /* identidade do Painel Prof. Gil Kléber: preto + dourado sobre papel */
  --bg:#FAF8F4; --sup:#FFFFFF; --sup2:#F3EFE7; --linha:#E7E1D6; --linha2:#D6CEBF;
  --tx:#111111; --tx2:#55524C; --tx3:#8C877E;
  --nav:#111111; --navtx:#CFC8BA; --navsel:#2A2620;
  --ouro:#C1912F; --ouro2:#E2B860;
  --acc:#C1912F; --acc2:#8A6418; --accs:#F6EBD3;
  --btn:#111111; --btntx:#FFFFFF;
  --ok:#2F7D4F; --oks:#E3F1E8; --err:#B23A2E; --errs:#F8E4E1; --amb:#A8641A; --ambs:#FBEFDC;
  --cia:#1F6F8B; --cias:#E1EFF4;
  --r:12px; --sans:-apple-system,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif; --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --gl:max(16px,env(safe-area-inset-left)); --gr:max(16px,env(safe-area-inset-right));
  --navh:0px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E0D0B; --sup:#181613; --sup2:#211E19; --linha:#2E2A23; --linha2:#3F392F;
  --tx:#F2EEE6; --tx2:#B9B2A5; --tx3:#8C877E;
  --nav:#000000; --navsel:#2A2620;
  --acc:#E2B860; --acc2:#E2B860; --accs:#2E2615;
  --btn:#E2B860; --btntx:#111111;
  --ok:#5DBB83; --oks:#14281C; --err:#E9786B; --errs:#33191A; --amb:#E5A64A; --ambs:#33260F;
  --cia:#6CC0DB; --cias:#11262E;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
code{font-family:var(--mono);font-size:.85em;background:var(--sup2);padding:1px 5px;border-radius:4px}

/* topo */
.top{position:sticky;top:0;z-index:20;background:var(--nav);color:#fff;border-bottom:2px solid var(--ouro);display:flex;align-items:center;gap:10px;
  padding:calc(env(safe-area-inset-top) + 10px) var(--gr) 10px var(--gl);flex-wrap:wrap}
.marca{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;text-align:left}
.marca-t{font-weight:800;letter-spacing:.02em;font-size:17px}
.marca-s{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ouro2)}
.menu{display:flex;gap:2px;margin-left:auto;overflow-x:auto}
.menu button{padding:7px 11px;border-radius:8px;font-size:14px;font-weight:600;color:var(--navtx);white-space:nowrap}
.menu button[aria-current=true]{background:var(--navsel);color:var(--ouro2)}
.sair{font-size:13px;color:var(--navtx);padding:7px 4px}
.som-top{font-size:17px;line-height:1;padding:6px 8px;border-radius:8px;background:var(--navsel)}
@media (max-width:700px){
  :root{--navh:62px}
  .sair{margin-left:auto}
  .som-top,.som-top[hidden] + .ajuda-top{margin-left:auto}
  .sair{margin-left:0}
  .menu{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;background:var(--nav);border-top:2px solid var(--ouro);
    padding:6px max(6px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right));
    display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;overflow:visible}
  .menu button{font-size:11.5px;padding:8px 2px;text-align:center}
  .menu .so-desk{display:none!important}
}
.aviso-local{background:var(--ambs);color:var(--amb);font-size:13px;padding:8px var(--gr) 8px var(--gl);text-align:center}

/* geral */
.app{max-width:860px;margin:0 auto;padding:22px var(--gr) calc(60px + var(--navh)) var(--gl)}
h1{font-size:26px;line-height:1.2;margin:0 0 6px;letter-spacing:-.015em}
h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin:28px 0 10px;font-weight:700}
.lede{color:var(--tx2);margin:0 0 18px}
.eb{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--acc2)}
.carregando{display:flex;justify-content:center;padding:80px 0}
.spin{width:24px;height:24px;border:3px solid var(--linha2);border-top-color:var(--acc);border-radius:50%;animation:g .7s linear infinite}
@keyframes g{to{transform:rotate(360deg)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn);color:var(--btntx);font-weight:700;border-radius:10px;padding:12px 18px}
.btn:hover{filter:brightness(1.07)}
.btn.sec{background:var(--sup);color:var(--tx);border:1px solid var(--linha2)}
.btn.pleno{width:100%}
.btn:disabled{opacity:.5;cursor:default}
.link{color:var(--acc2);font-weight:600;font-size:14px;padding:4px 0}
.voltar{color:var(--tx2);font-size:14px;font-weight:600;margin-bottom:12px;display:inline-block}
.caixa{background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:18px}
.nota{background:var(--sup2);border-left:3px solid var(--acc);border-radius:8px;padding:12px 14px;color:var(--tx2);font-size:14px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}

/* login */
.login{max-width:420px;margin:7vh auto 0;text-align:center}
.login .logo{font-weight:800;font-size:30px;letter-spacing:-.02em}
.login .logo-img{display:block;width:min(260px,70%);margin:0 auto 6px;border-radius:12px}
@media (prefers-color-scheme:dark){.login .logo-img{filter:none;background:#fff;padding:6px}}
.login .logo span{color:var(--acc)}
.login form{margin-top:24px;text-align:left}
.campo{display:block;margin-bottom:14px}
.campo span{display:block;font-size:13px;font-weight:600;color:var(--tx2);margin-bottom:5px}
.campo input{width:100%;padding:13px 14px;border:1px solid var(--linha2);border-radius:10px;background:var(--sup);color:var(--tx)}
.campo input:focus{border-color:var(--acc);outline:none}
.msg{margin-top:14px;font-size:14px;color:var(--tx2)}
.msg.erro{color:var(--err)}

/* cartões de aula */
.aula-card{display:flex;flex-direction:column;text-align:left;background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:16px;gap:10px;transition:border-color .15s}
.aula-card:hover{border-color:var(--acc)}
.aula-n{font:600 12px var(--mono);color:var(--acc2);letter-spacing:.1em}
.aula-t{font-size:18px;font-weight:700;line-height:1.25}
.aula-r{font-size:13.5px;color:var(--tx2)}
.barras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.mini{font-size:11px;color:var(--tx3)}
.mini b{display:block;font:600 15px var(--mono);color:var(--tx)}
.trilho{display:block;height:4px;background:var(--sup2);border-radius:3px;overflow:hidden;margin-top:4px}
.trilho i{display:block;height:100%;background:var(--acc)}

/* abas */
.abas{display:flex;background:var(--sup);border:1px solid var(--linha);border-radius:12px;padding:4px;gap:4px;margin:16px 0 20px}
.abas button{flex:1;padding:10px 6px;border-radius:9px;font-weight:700;font-size:14px;color:var(--tx2)}
.abas button[aria-current=true]{background:var(--btn);color:var(--btntx)}

/* apostila */
.secoes{display:flex;flex-direction:column;gap:1px;background:var(--linha);border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.sec-row{display:flex;align-items:center;gap:12px;background:var(--sup);padding:14px 16px;text-align:left;width:100%}
.sec-row:hover{background:var(--sup2)}
.sec-n{font:600 12px var(--mono);color:var(--tx3);width:24px;flex:none}
.sec-t{flex:1;font-weight:600}
.lida{font:600 11px var(--mono);color:var(--ok);letter-spacing:.08em}
.texto{font-size:17px;line-height:1.7}
.texto p{margin:0 0 14px}
.texto h3{font-size:18px;margin:24px 0 8px}
.texto ul,.texto ol{padding-left:22px;margin:0 0 14px}
.texto li{margin-bottom:6px}
.texto strong{font-weight:700}
.texto blockquote{margin:16px 0;padding:12px 16px;border-radius:10px;background:var(--accs);border-left:4px solid var(--acc);font-size:16px}
.texto blockquote.cuidado{background:var(--errs);border-left-color:var(--err)}
.texto blockquote.porque{background:var(--ambs);border-left-color:var(--amb)}
.texto blockquote p:last-child{margin:0}
.tab-w{overflow-x:auto;margin:0 0 16px;border:1px solid var(--linha);border-radius:10px}
.texto table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.45}
.texto th{text-align:left;background:var(--sup2);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);padding:9px 11px}
.texto td{padding:9px 11px;border-top:1px solid var(--linha);vertical-align:top}
.pense{margin-top:22px;border:1px dashed var(--linha2);border-radius:var(--r);padding:14px 16px;background:var(--sup)}
.pense-h{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amb);margin-bottom:8px}
.pense-q{font-weight:600;margin:10px 0 6px}
.pense-r{background:var(--oks);border-radius:8px;padding:10px 12px;font-size:15px}
.navsec{display:flex;gap:10px;margin-top:24px}
.navsec .btn{flex:1}

/* flashcards */
.fc-topo{display:flex;align-items:center;gap:10px;font:600 12px var(--mono);color:var(--tx2);margin-bottom:12px}
.fc-topo .trilho{flex:1;margin:0}
.fc{background:var(--sup);border:1px solid var(--linha);border-radius:16px;padding:26px 22px;min-height:230px;display:flex;flex-direction:column;gap:14px}
.fc-tema{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.fc-f{font-size:21px;line-height:1.4;font-weight:600}
.fc-v{font-size:17px;line-height:1.6;border-top:1px solid var(--linha);padding-top:14px}
.notas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.nota-b{border-radius:10px;padding:12px 4px;font-weight:700;font-size:14px;border:1.5px solid var(--linha2);background:var(--sup)}
.nota-b small{display:block;font:500 10.5px var(--mono);color:var(--tx3);margin-top:2px}
.n0{border-color:var(--err);color:var(--err)}.n3{border-color:var(--amb);color:var(--amb)}.n4{border-color:var(--ok);color:var(--ok)}.n5{border-color:var(--acc);color:var(--acc2)}
.contadores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.cont{background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:14px}
.cont b{display:block;font:600 28px var(--mono);line-height:1}
.cont span{font-size:12.5px;color:var(--tx2)}

/* questões */
.q-enun{font-size:18px;line-height:1.55;font-weight:500;margin:0 0 16px}
.opcoes{display:flex;flex-direction:column;gap:9px}
.op{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--sup);border:1.5px solid var(--linha);border-radius:12px;padding:13px 14px;font-size:15.5px;line-height:1.45}
.op:hover:not(:disabled){border-color:var(--acc)}
.op .k{font:600 13px var(--mono);color:var(--tx3);padding-top:2px;width:16px;flex:none}
.op.certa{border-color:var(--ok);background:var(--oks)}
.op.errada{border-color:var(--err);background:var(--errs)}
.op:disabled{cursor:default}
.expl{margin-top:14px;background:var(--sup2);border-radius:10px;padding:13px 15px;font-size:15px;line-height:1.6}
.expl b.ok{color:var(--ok)}.expl b.no{color:var(--err)}
.modos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modo{background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:16px;text-align:left}
.modo:hover{border-color:var(--acc)}
.modo b{display:block;font-size:16px;margin-bottom:4px}
.modo span{font-size:13.5px;color:var(--tx2)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.chip{border:1px solid var(--linha2);border-radius:20px;padding:5px 11px;font-size:13px;color:var(--tx2);background:var(--sup)}
.chip[aria-pressed=true]{background:var(--accs);border-color:var(--acc);color:var(--acc2);font-weight:600}
.resultado{text-align:center;padding:10px 0 18px}
.resultado b{display:block;font:600 52px var(--mono);line-height:1;color:var(--acc2)}
.revlist{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.rev{background:var(--sup);border:1px solid var(--linha);border-left:4px solid var(--ok);border-radius:10px;padding:12px 14px;font-size:14.5px}
.rev.no{border-left-color:var(--err)}
.rev p{margin:4px 0}

/* desempenho */
.temas{display:flex;flex-direction:column;gap:8px}
.tema{background:var(--sup);border:1px solid var(--linha);border-radius:10px;padding:11px 14px}
.tema-h{display:flex;justify-content:space-between;gap:10px;font-size:14.5px}
.tema-h b{font:600 13px var(--mono)}
.tema .trilho{height:6px}
.tema.fraco .trilho i{background:var(--err)}.tema.medio .trilho i{background:var(--amb)}.tema.bom .trilho i{background:var(--ok)}
.tabela{width:100%;border-collapse:collapse;font-size:14px;background:var(--sup);border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.tabela th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);padding:9px 11px;background:var(--sup2)}
.tabela td{padding:9px 11px;border-top:1px solid var(--linha);vertical-align:top}
.num{font-family:var(--mono);font-weight:600;white-space:nowrap}
.vazio{text-align:center;color:var(--tx2);padding:30px 10px}

.menu .menu-a{padding:7px 11px;border-radius:8px;font-size:14px;font-weight:600;color:var(--navtx);white-space:nowrap;text-decoration:none}
.extras{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.extras .btn{flex:1;min-width:220px;text-decoration:none}
.indice{background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:14px 18px;margin-bottom:8px}
.indice b{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.indice ol{margin:8px 0 0;padding-left:22px;columns:2;column-gap:28px}
.indice li{margin-bottom:5px;font-size:14.5px;break-inside:avoid}
.indice a{color:var(--acc2);text-decoration:none}
@media (max-width:620px){.indice ol{columns:1}}
.corrido{padding-top:26px;margin-top:26px;border-top:1px solid var(--linha);scroll-margin-top:110px}
.corrido-t{font-size:23px;letter-spacing:-.01em;text-transform:none;color:var(--tx);margin:4px 0 14px}

/* ================= v2: disciplina, casos clínicos, OSCE ================= */
.ferr{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ferr .btn{flex:1;min-width:200px;text-decoration:none}
.disc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.disc select{font:inherit;padding:8px 10px;border-radius:9px;border:1px solid var(--linha2);background:var(--sup);color:var(--tx)}
.selo{display:inline-block;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:var(--accs);color:var(--acc2)}
.selo.ok{background:var(--oks);color:var(--ok)}.selo.no{background:var(--errs);color:var(--err)}

/* lista de casos */
.caso-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--sup);border:1px solid var(--linha);border-left:4px solid var(--ouro);border-radius:var(--r);padding:14px 16px}
.caso-card:hover{border-color:var(--acc)}
.caso-card .cc-n{font:600 12px var(--mono);color:var(--acc2);letter-spacing:.08em;display:flex;justify-content:space-between;gap:8px}
.caso-card .cc-p{font-weight:700;font-size:16.5px}
.caso-card .cc-c{font-size:13.5px;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* corrida de um caso */
.chegada{font-size:16.5px;line-height:1.6;background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:14px 16px;margin:10px 0 14px}
.chegada small{display:block;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin-bottom:4px}
.monitor{background:#0b0b0a;color:#eee;border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:8px;border:1px solid #2a2620}
.monitor .mt{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#a79f8f}
.monitor .mt b{color:#E2B860}
.vt{background:#151412;border-radius:10px;padding:8px 10px;min-height:66px;min-width:0}
.vt.v-pa{grid-column:span 2}
.vt span{display:block;font:600 10.5px var(--mono);letter-spacing:.1em;color:#8c877e}
.vt b{display:block;font:600 clamp(19px,5.4vw,26px)/1.15 var(--mono);white-space:nowrap}
.vt i{font-style:normal;font:600 11px var(--mono);margin-left:2px;vertical-align:middle}
.vt.v-fc b{color:#5ee08a}.vt.v-sp b{color:#5fd0f0}.vt.v-pa b{color:#f08a7a}.vt.v-fr b{color:#f2d36b}.vt.v-tp b{color:#d9d4c9}.vt.v-co b{color:#E2B860}
.vt .up{color:#f08a7a}.vt .dn{color:#5fd0f0}
.ritmo{grid-column:1/-1;background:#3a1210;color:#ffb3a8;border-radius:8px;padding:8px 10px;font:700 14px var(--mono);text-align:center;letter-spacing:.06em}
.pedir{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 6px}
.pedir button{border:1px solid var(--linha2);background:var(--sup);border-radius:20px;padding:7px 12px;font-size:13.5px;font-weight:600;color:var(--tx)}
.pedir button[aria-pressed=true]{background:var(--btn);color:var(--btntx);border-color:var(--btn)}
.pedir button.visto{border-color:var(--acc);color:var(--acc2)}
.pedir button.visto::after{content:" ✓";font-size:12px}
.res{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.res-c{background:var(--sup);border:1px solid var(--linha);border-radius:var(--r);padding:12px 14px;font-size:15px;line-height:1.55}
.res-c h3{margin:0 0 6px;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc2)}
.res-c p{margin:0}
.labt{width:100%;border-collapse:collapse;font-size:14px}
.labt td{padding:5px 6px;border-top:1px solid var(--linha)}
.labt tr:first-child td{border-top:0}
.labt .v{font:600 14px var(--mono);text-align:right;white-space:nowrap}
.labt .rf{color:var(--tx3);font-size:12px;text-align:right;white-space:nowrap}
.labt .alto .v,.labt .baixo .v{color:var(--err)}
.labt .alto .v::after{content:" ↑"}.labt .baixo .v::after{content:" ↓"}
.ecgw canvas{width:100%;height:auto;border-radius:8px;display:block}
.imgw canvas{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:8px;background:#000}
.imgw .cred{font-size:11.5px;color:var(--tx3);margin-top:6px}
.decide{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.decide .btn{padding:16px 10px;font-size:16px}
.condutas{display:flex;flex-direction:column;gap:9px;margin-top:8px}
.conduta{text-align:left;background:var(--sup);border:1.5px solid var(--linha2);border-radius:12px;padding:13px 14px;font-size:15.5px;line-height:1.45;font-weight:600}
.conduta:hover{border-color:var(--acc)}
.veredito{border-radius:var(--r);padding:13px 15px;margin:12px 0;border-left:5px solid;font-size:15px;line-height:1.55}
.veredito b{display:block;font-size:16px;margin-bottom:2px}
.veredito.green{background:var(--oks);border-color:var(--ok)}.veredito.green b{color:var(--ok)}
.veredito.cyan{background:var(--cias);border-color:var(--cia)}.veredito.cyan b{color:var(--cia)}
.veredito.orange{background:var(--ambs);border-color:var(--amb)}.veredito.orange b{color:var(--amb)}
.veredito.red{background:var(--errs);border-color:var(--err)}.veredito.red b{color:var(--err)}
.fim-box{background:var(--nav);color:#fff;border-radius:16px;padding:18px;border-top:4px solid var(--ouro)}
.fim-box .ft{font-size:24px;font-weight:800}
.fim-box .fs{color:var(--ouro2);font-weight:600;margin-bottom:10px}
.fim-box ul{margin:0;padding-left:20px}
.fim-box li{margin-bottom:6px;line-height:1.5}
.caminho{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}
.caminho li{background:var(--sup);border:1px solid var(--linha);border-left:4px solid var(--linha2);border-radius:8px;padding:8px 11px;font-size:14px}
.caminho li.green{border-left-color:var(--ok)}.caminho li.cyan{border-left-color:var(--cia)}.caminho li.orange{border-left-color:var(--amb)}.caminho li.red{border-left-color:var(--err)}

/* OSCE */
.relogio{position:sticky;top:calc(env(safe-area-inset-top) + 64px);z-index:10;display:flex;justify-content:space-between;align-items:center;background:var(--nav);color:#fff;border-radius:12px;padding:8px 14px;margin-bottom:12px;font:600 14px var(--mono)}
.relogio b{font-size:22px;color:var(--ouro2)}
.relogio.alerta b{color:#ff8a7a}
.fala{background:var(--sup);border:1px solid var(--linha);border-radius:14px 14px 14px 4px;padding:10px 13px;margin:8px 0;font-size:15px;max-width:92%}
.fala small{display:block;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-bottom:2px}
.plano{width:100%;min-height:150px;font:inherit;font-size:15.5px;line-height:1.5;padding:12px;border-radius:12px;border:1px solid var(--linha2);background:var(--sup);color:var(--tx);resize:vertical}
.check{display:flex;flex-direction:column;gap:7px}
.check label{display:flex;gap:10px;align-items:flex-start;background:var(--sup);border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font-size:15px;line-height:1.45;cursor:pointer}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--ouro);flex:none}
.check .peso{margin-left:auto;font:600 12px var(--mono);color:var(--acc2);white-space:nowrap}
.check label.crit{border-left:4px solid var(--ouro)}
.aviso{font-size:13.5px;color:var(--tx2);background:var(--sup2);border-radius:10px;padding:10px 12px;margin:10px 0}
.evol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.evol li{background:var(--sup);border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font-size:14.5px;line-height:1.5}
.evol li b{display:block;font-size:13px;color:var(--acc2)}
.msgs{display:flex;flex-direction:column;gap:10px}
.msgs div{background:var(--sup);border-left:4px solid var(--ouro);border-radius:10px;padding:11px 14px;font-size:15px;line-height:1.55}
.msgs b{display:block;margin-bottom:2px}

/* v3: minimonitor fixo e caso em fluxo vertical */
.minimon{position:sticky;top:var(--topo,0px);z-index:15;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:0;background:#050505;color:#eee;border-radius:12px;overflow:hidden;border:1px solid #2a2620;margin:0 0 14px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.mm-ondas{position:relative;height:118px;min-width:0;overflow:hidden}
.mm-ondas canvas{display:block}
.mm-l{position:absolute;left:6px;font:600 9.5px var(--mono);letter-spacing:.08em;opacity:.85}
.mm-l.l1{top:3px;color:#3cff8e}.mm-l.l2{top:calc(33.3% + 3px);color:#33d6ff}.mm-l.l3{top:calc(66.6% + 3px);color:#ffe234}
.mm-num{background:#050505;z-index:1;display:grid;grid-template-columns:auto auto;grid-auto-rows:min-content;gap:2px 10px;padding:6px 8px 6px 10px;border-left:1px solid #1d1b18;align-content:center;position:relative}
.mm-n span{display:block;font:600 9.5px var(--mono);letter-spacing:.08em;color:#8c877e}
.mm-n b{display:block;font:600 22px/1.05 var(--mono);white-space:nowrap}
.mm-n i{display:block;font:600 10px var(--mono);font-style:normal;color:#ffd43b}
.n-fc b{color:#3cff8e}.n-sp b{color:#33d6ff}.n-pa b{color:#f08a7a;font-size:18px}.n-fr b{color:#ffe234}
.minimon{position:sticky}
.mm-rit{grid-column:1/-1;background:#3a1210;color:#ffb3a8;font:700 12px var(--mono);text-align:center;letter-spacing:.06em;padding:4px}
@media (max-width:420px){.minimon{grid-template-columns:minmax(0,1fr) 128px}.mm-ondas{height:104px}.mm-n b{font-size:19px}.n-pa b{font-size:15px}.mm-num{gap:1px 8px;padding:5px 6px 5px 8px}}
.fluxo{display:flex;flex-direction:column;gap:14px}
.passo{scroll-margin-top:calc(var(--topo,0px) + 140px)}
.passo + .passo{border-top:1px dashed var(--linha2);padding-top:14px}
.passo-t{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin:4px 0 8px}
.passo .pedir{margin-top:0}
.feito{margin:4px 0;font-size:14.5px;color:var(--tx2)}
.feito b{color:var(--tx)}

/* OSCE: relógio e minimonitor presos juntos no alto */
.fixo{position:sticky;top:var(--topo,0px);z-index:15;margin:0 0 14px}
.fixo .minimon{position:relative;top:auto;margin:0}
.fixo .relogio{position:static;margin:0 0 6px}
.mm-obs{margin:4px 2px 0;font:600 11px var(--mono);color:var(--tx3);letter-spacing:.04em}
.ordem{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.ordem .mini{margin-right:2px}
.fixo{background:var(--bg);padding-bottom:4px}

/* tela travada na largura; zoom só no visor de exames */
html,body{overflow-x:hidden;max-width:100%}
html{touch-action:pan-x pan-y}
body.sem-rolar{overflow:hidden}
.ajuda-top{font-size:13px;font-weight:600;color:var(--ouro2);padding:6px 8px;border:1px solid #3a342a;border-radius:8px}
.ajuda-fundo{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.ajuda{background:var(--sup);color:var(--tx);border-radius:16px;border-top:4px solid var(--ouro);max-width:520px;width:100%;max-height:calc(100dvh - 32px);overflow:auto;padding:20px 20px 16px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.ajuda h2{font-size:22px;letter-spacing:-.01em;text-transform:none;color:var(--tx);margin:2px 0 10px}
.ajuda h3{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);margin:14px 0 4px}
.ajuda p{margin:0;font-size:15.5px;line-height:1.55}
.ajuda ul{margin:0;padding-left:20px;font-size:15px;line-height:1.55}
.ajuda li{margin-bottom:6px}
.ajuda .mini{margin:14px 0 10px;color:var(--tx3)}
.ampliar{margin-top:8px;font-size:13.5px;font-weight:600;color:var(--acc2);border:1px solid var(--linha2);border-radius:20px;padding:5px 11px;background:var(--sup)}
.lupa{position:fixed;inset:0;z-index:70;background:#0b0b0a;color:#eee;display:flex;flex-direction:column}
.lupa-topo{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;border-bottom:1px solid #2a2620}
.lupa-topo b{flex:1;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lupa-bt{display:flex;gap:6px}
.lupa-bt button{min-width:40px;height:38px;border-radius:9px;background:#221f1a;color:#fff;font-size:20px;font-weight:700;padding:0 10px}
.lupa-bt .lupa-x{font-size:14px;background:var(--ouro);color:#111}
.lupa-corpo{flex:1;overflow:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;background:#111}
.lupa-conteudo{width:100%;min-height:100%;display:flex;align-items:flex-start}
.lupa-conteudo .lupa-img{width:100%;height:auto;display:block}
.lupa-conteudo table{background:#fff;color:#111;width:100%}
.lupa-conteudo table td{border-top-color:#ddd}
.lupa-dica{margin:0;padding:6px 12px calc(env(safe-area-inset-bottom) + 8px);font-size:12px;color:#a79f8f;text-align:center}

/* tabelas no celular: rolam para o lado dentro do cartão, sem cortar */
.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;max-width:100%}
.rolagem .tabela{min-width:100%}
.tabela .qtd{color:var(--tx3)}
@media (max-width:520px){
  .tabela{font-size:13px}
  .tabela th{font-size:10px;letter-spacing:.04em}
  .tabela th,.tabela td{padding:8px 6px;white-space:nowrap}
  .tabela td:first-child,.tabela th:first-child{white-space:normal;min-width:118px;padding-left:10px}
  .tabela .num{white-space:nowrap;font-size:12.5px}
  .tabela .qtd{display:none}
}
