  :root{
    --paper:#F4F2EC; --surface:#FFFFFF; --ink:#23211C; --muted:#8C867A; --faint:#B7B1A4;
    --line:#E5E0D5; --sage:#5E7A63; --sageDeep:#46604B; --sageSoft:#E8EEE7;
    --clay:#B06B45; --claySoft:#F3E5DA; --ochre:#A7842F; --ochreSoft:#F1E9D2;
    --red:#A8472F; --redSoft:#F4E1DA; --green:#3C7A4E; --greenSoft:#E2EFE4;
    --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html,body{margin:0;padding:0;-webkit-text-size-adjust:100%;text-size-adjust:100%} /* 14/09: sem isto o Safari/Chrome do celular infla texto pequeno em coluna estreita e a hierarquia some */
  body{background:var(--paper);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;
    -webkit-font-smoothing:antialiased;min-height:100vh}
  button{font-family:inherit;cursor:pointer;border:none;background:none}
  input,textarea,select{font-family:inherit}
  .wrap{max-width:680px;margin:0 auto;padding:0 16px 110px;position:relative}
  .topbar{padding-top:max(22px,env(safe-area-inset-top))}
  .eyebrow{color:var(--sage);letter-spacing:.18em;font-size:11px;font-weight:700;text-transform:uppercase}
  h1{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.05;margin:4px 0 0}
  .count{color:var(--muted);font-size:13px;margin-top:6px}
  .gear{position:absolute;top:max(20px,env(safe-area-inset-top));right:16px;color:var(--muted);padding:8px;border-radius:10px;z-index:5}
  .search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:16px 0 14px}
  .search input{flex:1;border:none;outline:none;background:none;font-size:15px;color:var(--ink)}
  .addbtn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--sage);color:#fff;border-radius:13px;padding:15px;font-size:16px;font-weight:700;box-shadow:0 4px 14px rgba(94,122,99,.28)}
  .addbtn:active{transform:scale(.99)}
  .linkbtn{display:block;width:100%;text-align:center;color:var(--muted);font-size:13px;font-weight:600;padding:10px;margin-top:8px}
  /* calendário */
  .calhead{display:flex;align-items:flex-end;justify-content:space-between;margin:30px 0 16px}
  .calhead .mtitle{font-family:var(--serif);font-weight:400;font-size:33px;line-height:1;text-transform:capitalize;color:var(--ink)}
  .calhead .myear{font-size:15px;font-weight:600;color:var(--muted);margin-left:9px}
  .navbtn{padding:9px;border-radius:11px;background:var(--surface);border:1px solid var(--line);color:var(--ink);display:flex}
  .todaybtn{font-size:12.5px;font-weight:600;color:var(--sageDeep);background:var(--sageSoft);border:1px solid var(--line);border-radius:999px;padding:8px 13px;margin-left:8px}
  .weekrow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:7px}
  .wd{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase}
  .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
  /* S3 (ajuste de fidelidade ao protótipo v3): células com borda + número colorido + bolinhas por tipo */
  .cell{position:relative;aspect-ratio:1/1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--paper);border:1px solid transparent;cursor:pointer}
  .cell:hover{border-color:var(--line);background:#fff}
  .cell.out{opacity:0;pointer-events:none}
  .cnum{font-size:15px;font-weight:700;color:var(--muted);line-height:1}
  .cell.has{background:var(--sageSoft);border-color:#CBD8CC}
  .cell.has .cnum{color:var(--sageDeep)}
  .cell.off{background:transparent}
  .cell.off .cnum{color:#D5CFC2;font-weight:600}
  .cell.off:hover{border-color:transparent;background:transparent}
  .cell.offhas{background:var(--ochreSoft);border-color:#E8C9A0}
  .cell.offhas .cnum{color:#9A5A22}
  .cell .dots{height:7px;display:flex;gap:2.5px;align-items:center}
  .cell .dots i{width:5.5px;height:5.5px;border-radius:99px;background:var(--sage);display:inline-block}
  .cell .dots i.r{background:#3E6DA6}
  .cell .dots i.k{background:var(--clay)}
  .cell.today{outline:2px solid var(--sage);outline-offset:1px}
  .cell.sel{background:var(--sageDeep);border-color:var(--sageDeep)}
  .cell.sel .cnum{color:#fff}
  .cell.sel .dots i{background:#fff}
  .workdays{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
  .workdays .wl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px;text-align:center}
  .wdrow{display:flex;gap:5px;justify-content:center}
  .wdtog{width:34px;height:34px;border-radius:99px;font-size:11.5px;font-weight:800;border:1px solid var(--line);background:var(--paper);color:var(--faint);cursor:pointer}
  .wdtog.on{background:var(--sageDeep);border-color:var(--sageDeep);color:#fff}
  .dot{width:8px;height:8px;border-radius:999px;display:inline-block}
  .dayhead{font-family:var(--serif);font-size:19px;margin:22px 0 12px;text-transform:capitalize}
  .apptitem{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:9px}
  .apptitem:active{background:var(--paper)}
  .appttime{font-weight:700;font-size:15px;min-width:50px;color:var(--ink)}
  .apptbody{flex:1;min-width:0}
  .apptname{font-size:15px;font-weight:600}
  .apptsub{font-size:12.5px;color:var(--muted);margin-top:2px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .schip{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px}
  .legend{display:flex;gap:14px;justify-content:center;margin:14px 0 2px;font-size:12px;color:var(--muted)}
  .legend span{display:flex;align-items:center;gap:5px}
  .mover{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:18px 0 6px}
  .mover .mt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
  .mrow{display:flex;align-items:flex-start;gap:10px;font-size:14px;padding:5px 0;line-height:1.35}
  .mrow .me{font-size:16px;width:22px;text-align:center;flex:0 0 auto}
  .mrow b{font-weight:700}
  .reactbtn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px;font-size:14px;font-weight:700;background:var(--ochreSoft);color:#9A5A22;border:1px solid #E8C9A0;margin-bottom:16px}
  .reactbtn.on{background:#E0863A;color:#fff;border-color:#E0863A}
  .reactcard{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid #E0863A;border-radius:12px;padding:12px 14px;margin-bottom:9px}
  .reactcard:active{background:var(--paper)}
  .reactwa{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--greenSoft);color:var(--green);display:flex;align-items:center;justify-content:center;text-decoration:none}
  /* tabela pacientes */
  .viewtoggle{display:flex;justify-content:flex-end;margin-bottom:10px}
  .vt{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--sageDeep);background:var(--sageSoft);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
  .zoomwrap{transform-origin:top left}
  .edgehint{position:absolute;top:1px;right:1px;width:24px;height:calc(100% - 2px);pointer-events:none;border-radius:0 13px 13px 0;background:linear-gradient(to right,rgba(255,255,255,0),rgba(140,134,122,.14))}
  .boardhint{color:var(--faint);font-size:12px;text-align:center;padding:11px 12px 0}
  table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:14px}
  th,td{padding:13px 15px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);vertical-align:middle}
  th{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;background:var(--paper)}
  tr:last-child td{border-bottom:none}
  td.nm,th.nm{position:sticky;left:0;z-index:2;font-weight:600;box-shadow:1px 0 0 var(--line)}
  td.nm{background:var(--surface)} th.nm{background:var(--paper);z-index:3}
  tbody tr:active td{background:var(--paper)}
  .pay{font-size:13px;font-weight:600} .age{color:var(--muted)}
  .temacell{max-width:200px;overflow:hidden;text-overflow:ellipsis} .muted2{color:var(--faint)}
  .empty{border:1px dashed var(--line);border-radius:18px;padding:46px 18px;text-align:center}
  .empty .et{font-size:15px;font-weight:600;margin:12px 0 0}
  .empty .es{color:var(--muted);font-size:14px;margin:4px auto 0;max-width:300px}
  .btn{border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600}
  .btn.primary{background:var(--sage);color:#fff}
  .btn.soft{background:var(--surface);color:var(--muted);border:1px solid var(--line);font-weight:500}
  /* pendências */
  .pendctrl{display:flex;gap:8px;margin-bottom:14px}
  .pill{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;border-radius:999px;padding:9px 14px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
  .pill.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .grouplbl{display:flex;align-items:center;gap:8px;margin:18px 0 9px}
  .grouplbl .d{width:6px;height:6px;border-radius:999px}
  .grouplbl .t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
  .penditem{display:flex;align-items:flex-start;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:9px}
  .penditem:active{background:var(--paper)}
  .bolinha{flex:0 0 auto;width:24px;height:24px;border-radius:999px;border:2px solid var(--faint);background:transparent;margin-top:1px;display:flex;align-items:center;justify-content:center;color:#fff}
  .bolinha.on{background:var(--sage);border-color:var(--sage)}
  .pendbody{flex:1;min-width:0}
  .pendtitle{font-size:15px;font-weight:600;line-height:1.3}
  .pendmeta{font-size:12.5px;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
  .pend-done .pendtitle{text-decoration:line-through;color:var(--muted)}
  /* ===== Pendências 2.0 (2026-08-28): item selecionável + painel rápido inline + grupo recolhível + layout largo ===== */
  .pendwrap{margin-bottom:9px}
  .pendwrap .penditem{margin-bottom:0;cursor:pointer;transition:border-color .12s,background .12s}
  .pendwrap .penditem:hover{border-color:#CBD8CC}
  .pendwrap.sel .penditem{border-color:var(--sage);border-bottom-left-radius:0;border-bottom-right-radius:0;background:var(--sageSoft)}
  .pendcaret{flex:0 0 auto;color:var(--faint);font-size:12px;margin-top:3px}
  .pendorig{color:var(--sageDeep);text-decoration:underline;text-decoration-color:#CBD8CC;text-underline-offset:2px}
  .pendquick{background:var(--surface);border:1px solid var(--sage);border-top:none;border-radius:0 0 12px 12px;padding:11px 14px 12px}
  .pqacts{display:flex;flex-wrap:wrap;gap:7px}
  .pqacts button,.pqacts a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;white-space:nowrap}
  .pqacts button:hover,.pqacts a:hover{background:var(--sageSoft)}
  .pqacts .pq1{background:var(--sageDeep);border-color:var(--sageDeep);color:#fff}
  .pqacts .pq1:hover{background:var(--sage)}
  .pqacts .pqok{color:var(--green);background:var(--greenSoft);border-color:#CBD8CC;margin-left:auto}
  .pqacts .qnote{font-size:12px;color:var(--muted);padding:6px 2px;align-self:center}
  .pqadiar{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}
  .pqadiar span{margin-right:2px}
  .pqadiar button{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
  .pqadiar button:hover{background:var(--paper);color:var(--ink)}
  .pqnotes{font-size:12.5px;color:var(--muted);margin-top:9px;white-space:pre-wrap;line-height:1.45}
  .gtoggle{width:100%;text-align:left;cursor:pointer;background:transparent;border:none;padding:0}
  .gtoggle .gnext{margin-left:auto;font-size:11.5px;color:var(--faint);font-weight:600}
  .pendlayout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start;margin-top:2px}
  .pendpane{display:none}
  .minipend{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
  .minipend:last-child{border-bottom:none}
  /* nav */
  .nav{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 4px max(8px,env(safe-area-inset-bottom));z-index:30}
  .navi{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 10px;color:var(--faint);font-size:10.5px;font-weight:600}
  .navi.on{color:var(--sage)}
  .navbadge{position:absolute;top:0;right:4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
  /* modal */
  .scrim{position:fixed;inset:0;background:rgba(35,33,28,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center}
  .sheet{width:100%;max-width:560px;max-height:94vh;overflow-y:auto;background:var(--paper);border-radius:18px 18px 0 0;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .shead{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 20px;z-index:2}
  .shead h2{font-family:var(--serif);font-weight:400;font-size:21px;margin:0}
  .fbody{padding:16px 20px;display:flex;flex-direction:column;gap:15px}
  label.fl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
  .fin{width:100%;border-radius:9px;padding:11px 12px;font-size:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);outline:none}
  select.fin{appearance:none;-webkit-appearance:none}
  textarea.fin{min-height:70px;resize:vertical}
  .hint{font-size:12px;color:var(--faint);margin-top:5px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .seg{display:flex;gap:6px;flex-wrap:wrap}
  .segb{border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
  .chips{display:flex;flex-wrap:wrap;gap:6px}
  .chip{border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
  .chip.on{background:var(--sageSoft);border-color:var(--sage);color:var(--sageDeep)}
  .snz{border-radius:9px;padding:7px 11px;font-size:12px;font-weight:600;background:var(--ochreSoft);color:var(--ochre)}
  .sfoot{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:14px 20px}
  .note{border-radius:12px;padding:14px;font-size:13px;line-height:1.5;background:var(--ochreSoft);color:#6B561F}
  .dhead{padding:18px 20px 4px}
  .dname{font-family:var(--serif);font-size:24px}
  .dsub{color:var(--muted);font-size:14px;margin-top:3px}
  .facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 20px}
  .fact{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px}
  .fact .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
  .fact .v{font-size:15px;margin-top:3px;font-weight:600}
  .section{padding:6px 20px 14px}
  .sectitle{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin:14px 0 9px}
  .conrow{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:7px;font-size:14px}
  .actionbtn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:11px;font-size:14px;font-weight:700;width:100%;text-decoration:none}
  .wa{background:var(--greenSoft);color:var(--green)}
  .calbtn{background:var(--claySoft);color:var(--clay)}
  svg{display:block}

  /* autenticação Supabase */
  [hidden]{display:none!important}
  .authscreen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 18px;background:var(--paper)}
  .authcard{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 22px;box-shadow:0 12px 34px rgba(35,33,28,.08)}
  .authcard h1{font-size:30px;margin:7px 0 8px}
  .authintro{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 20px}
  .authtabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:18px}
  .authtab{border-radius:9px;padding:10px 8px;color:var(--muted);font-size:14px;font-weight:700}
  .authtab.on{background:var(--surface);color:var(--sageDeep);box-shadow:0 1px 5px rgba(35,33,28,.08)}
  .authfields{display:flex;flex-direction:column;gap:14px}
  .authsubmit{width:100%;background:var(--sage);color:#fff;border-radius:11px;padding:13px;font-size:15px;font-weight:700;margin-top:2px}
  .authsubmit:disabled{opacity:.55;cursor:wait}
  .authmsg{min-height:20px;margin-top:13px;font-size:13px;line-height:1.45;color:var(--muted)}
  .authmsg.error{color:var(--red)}
  .authmsg.success{color:var(--green)}
  .authsmall{font-size:11.5px;color:var(--faint);line-height:1.45;margin-top:12px}
  /* Bloco A (2026-09-13): linha de confiança do login (A7) + dica do convite (A4) + campos dentro do diálogo (A6) */
  .authdemo{display:block;width:100%;margin-top:14px;padding:11px;border-radius:11px;background:var(--paper);border:1px dashed var(--line);color:var(--sageDeep);font-size:13.5px;font-weight:700;cursor:pointer} /* Bloco B2 */
  .authdemo:hover{border-style:solid}
  /* Bloco B1: faixa da demonstração (rodapé), acima da barra do celular; no desktop, centrada na área útil como o #atdchip */
  #demobar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(74px + env(safe-area-inset-bottom));z-index:34;display:flex;align-items:center;gap:10px;width:calc(100vw - 20px);background:#2E2B26;color:#F4F1EA;border-radius:16px;padding:13px 12px 13px 16px;font-size:14.5px;line-height:1.35;box-shadow:0 8px 24px rgba(35,33,28,.28)}
  #demobar .dblbl{flex:0 0 auto;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#C9B46A}
  #demobar .dbtxt{flex:1 1 auto;min-width:0}
  #demobar button{flex:0 0 auto;background:rgba(255,255,255,.14);color:#F4F1EA;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700}
  body.demomode #atdchip{bottom:calc(126px + env(safe-area-inset-bottom))}
  body.onbmode #demobar{display:none}
  .authtrust{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--faint);line-height:1.4}
  .authtrust span+span::before{content:"·";margin-right:8px;color:var(--line)}
  .authhint{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.4}
  /* A5 (2026-09-19): Termos + Privacidade — aceite no Criar conta, links discretos e janela de leitura */
  .authterms{display:flex;gap:9px;align-items:flex-start;margin-top:12px;font-size:12.5px;line-height:1.45;color:var(--ink);cursor:pointer}
  .authterms input{width:17px;height:17px;margin:1px 0 0;flex:none;accent-color:var(--sage)}
  .authterms button,.authlegal button,.tmlinks button{background:none;border:none;padding:0;font:inherit;color:var(--sageDeep);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
  .authlegal{display:flex;justify-content:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--faint)}
  .authlegal button{color:var(--muted)}
  .tmlinks{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:14px;font-size:12.5px;color:var(--faint)}
  .tmlinks em{font-style:normal;color:var(--faint);margin-left:auto}
  .tmscrim{z-index:70}
  .tmcard{width:100%;max-width:560px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--paper);border-radius:16px;padding:16px 18px 18px;box-shadow:0 18px 50px rgba(35,33,28,.25)}
  .tmgate{font-size:13px;line-height:1.45;color:var(--ink);padding:0 0 12px}
  .tmgate b{display:block;font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:3px}
  .tmtabs{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--line)}
  .tmtabs [data-tm]{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 10px;font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer}
  .tmtabs [data-tm].on{color:var(--ink);border-bottom-color:var(--sage)}
  .tmx{margin-left:auto;background:none;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 6px}
  .tmbody{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 2px 4px;font-family:var(--serif);font-size:14px;line-height:1.6;color:var(--ink);outline:none}
  .tmbody h4{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.01em;margin:16px 0 4px;color:var(--ink)}
  .tmbody p{margin:0 0 6px}
  .tmbody ul{margin:2px 0 6px;padding-left:18px}
  .tmbody li{margin-bottom:3px}
  .tmver{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;font-size:11.5px;color:var(--faint)}
  @media(max-width:520px){.tmscrim{padding:12px}.tmcard{max-height:calc(100dvh - 24px);padding:14px}}
  .dlgfields{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .dlgfields .fin{font-size:15px}
  .dlgerr{min-height:16px;font-size:12.5px;color:var(--red);margin-top:8px;line-height:1.4}
  .accountbox{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:10px}
  .accountinfo{flex:1;min-width:0}
  .accountlabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
  .accountemail{font-size:14px;font-weight:600;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* ===== Linha do tempo + documento travado (sessão 4 F2) ===== */
  .tlyear{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--faint);margin:14px 0 8px}
  .tlcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:8px;cursor:pointer}
  .tlhead{display:flex;align-items:center;gap:8px}
  .tldate{font-size:14.5px;font-weight:700}
  .tlchip{font-size:10.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
  .tlchip-consulta{background:var(--sageSoft);border-color:var(--sageSoft);color:var(--sageDeep)}
  .tlchip-retorno{background:#E3EBF4;border-color:#E3EBF4;color:#3E6DA6}
  .tlchev{margin-left:auto;color:var(--faint);display:flex}
  .tlsum{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.5}
  .tlfull{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;cursor:auto}
  .tlvitals{font-size:13px;color:var(--muted);margin-bottom:6px}
  .tltext{font-family:var(--serif);font-size:14.5px;line-height:1.65;white-space:pre-wrap}
  .tllbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin:10px 0 3px}
  .tlactions{display:flex;gap:8px;align-items:center;margin-top:10px}
  .tlvazia{border:1px dashed var(--line);border-radius:12px;padding:16px 14px;text-align:center;font-size:13.5px;color:var(--muted)}
  .lockbar{display:flex;align-items:center;gap:8px;background:var(--ochreSoft);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:14px 20px 0;font-size:12.5px;color:#6B561F;font-weight:600}
  .docpaper{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:12px 20px 16px;padding:16px 18px}
  .doctitle{font-family:var(--serif);font-size:22px}
  .docsub{font-size:12px;color:var(--muted);margin-top:2px}
  .docvitals{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin:11px 0;font-size:13px;color:var(--ink)}
  .doctext{font-family:var(--serif);font-size:15px;line-height:1.7;white-space:pre-wrap}
  .docstamp{font-size:12px;color:var(--faint);margin-top:12px}
  .adendo{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px}
  .adendolbl{font-size:11px;color:var(--ochre);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}

  /* ===== Modo Atendimento parte 1 (sessão 5 F2) ===== */
  .atdhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .atdsave{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--sageDeep);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 11px;margin-top:8px}
  .atdsave.err{color:#fff;background:var(--red);border-color:var(--red)}
  .atdultima{background:var(--ochreSoft);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12.5px;color:#6B561F;margin:14px 0 12px;line-height:1.5}
  .atdcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px}
  .atdmedidas{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:10px}
  .medida{flex:1;min-width:90px}
  .medida .fin{padding:8px 10px;font-size:14px}
  /* finalização do atendimento (sessão 6 F2) */
  .fimwarn{background:#F6E8D8;border:1px solid #E0B98A;color:#7A4E1E;border-radius:10px;padding:11px 13px;font-size:13.5px;line-height:1.45}
  .fimnote{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.4}
  .fimretro{margin-top:7px;color:#A05A1F;font-size:12.5px;font-weight:600}
  .fimerr{background:#F7E3E0;border:1px solid #E3A8A0;color:#8C2F23;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4}

  /* ===== Blocos vivos na ficha (sessão 7 F2) ===== */
  .dmotivo{font-size:13px;color:var(--muted);margin-top:4px;font-style:italic}
  .alergchip{display:inline-flex;align-items:center;gap:6px;background:var(--redSoft);color:var(--red);font-size:12.5px;font-weight:700;border-radius:999px;padding:5px 11px;margin-top:8px}
  .blkline{font-size:14px;line-height:1.55;padding:2px 0}
  .blkpen{color:var(--muted);padding:4px;border-radius:8px}
  .medrow{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
  .medrow.off .medname{text-decoration:line-through;color:var(--muted);font-weight:500}
  .medname{font-size:14.5px;font-weight:600}
  .medmeta{font-size:12.5px;color:var(--muted);margin-top:2px}
  .medsuspline{font-size:11.5px;color:var(--faint);margin-top:2px}
  .medbtns{display:flex;align-items:center;gap:2px;flex-shrink:0}
  .medlink{font-size:12.5px;font-weight:700;color:var(--faint);padding:5px 6px}
  .medlink.has{color:#8C2F45}
  .medpen{color:var(--muted);padding:5px}
  .medpause{color:var(--muted);padding:5px;font-size:11px}
  .medpanel{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;margin:8px 0}
  .medpaneltitle{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .mederr{background:var(--redSoft);color:var(--red);font-size:13px;border-radius:9px;padding:9px 11px;margin-bottom:8px;line-height:1.4}
  .medsustoggle{width:100%;text-align:center;color:var(--muted);font-size:12.5px;font-weight:600;padding:8px;margin-top:6px}

  /* ===== Sessão 7.1: grupos do cadastro + confirmação de exclusão ===== */
  .fgroup{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:2px}
  .fgroup:first-child{border-top:none;padding-top:0;margin-top:0}
  .fmore{width:100%;text-align:center;color:var(--muted);font-size:13px;font-weight:700;padding:10px;border:1px dashed var(--line);border-radius:11px;background:var(--paper)}
  .aconfirm{background:var(--redSoft);border:1px solid #E3A8A0;border-radius:12px;padding:14px}
  .aconfirmtitle{font-size:15px;font-weight:700;color:var(--red)}
  .aconfirmtext{font-size:13.5px;line-height:1.45;margin-top:6px;color:var(--ink)}

  /* ===== Sessão 8a F2: grid do protótipo no Modo Atendimento ===== */
  .atdultima.click{cursor:pointer}
  .atdultdica{font-size:11.5px;color:#A3924F;margin-left:10px;user-select:none;font-weight:600}
  .atdulthist{margin-top:7px}
  .atdulthist div{padding:5px 0 3px;border-top:1px dashed #E4D9B8;line-height:1.5}
  .atdAtoggle{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:700;color:var(--sageDeep);margin-bottom:10px}
  .atdcolA{display:none}
  .atdcolA.open{display:block;margin-bottom:4px}
  .atdcolA .section{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:10px}
  .atdcolA .sectitle{margin-top:0}

  /* ===== App shell (sessão 2 F2): sidebar no desktop, barra inferior no mobile ===== */
  .side{display:none}
  @media(min-width:900px){
    .side{display:flex;flex-direction:column;gap:2px;position:fixed;left:0;top:0;bottom:0;width:210px;background:var(--surface);border-right:1px solid var(--line);padding:18px 12px max(14px,env(safe-area-inset-bottom));z-index:30}
    .nav{display:none}
    .gear{display:none}
    #appShell{padding-left:210px}
    .wrap{padding-bottom:40px}
    .sbrand{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--sageDeep);padding:4px 12px 16px;letter-spacing:.01em}
    /* Trava de tamanho dos icones da navegacao (14/09): a barra so aceita 22px.
       Nasceu do ic.doc de 16px, que encolhia "Documentos" e deslocava o rotulo. */
    .sitem>svg,.navi>svg{width:22px;height:22px;flex:0 0 auto}
    .sitem{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:600;text-align:left}
    .sitem:hover{background:var(--paper)}
    .sitem.on{background:var(--sageSoft);color:var(--sageDeep)}
    .sitem .navbadge{position:static;margin-left:auto}
    .sdiv{height:1px;background:var(--line);margin:10px 12px}
    .sfoot{margin-top:auto}
    /* modais centralizados no desktop (sessão 6 F2); no mobile seguem como bottom sheet */
    .scrim{align-items:center;padding:24px}
    .sheet{border-radius:18px;max-height:88vh}
    /* grid do Modo Atendimento (sessão 8a F2): eixo A fixo à esquerda, eixo B (escrita) é a coluna maior */
    .atdAtoggle{display:none}
    body.atdmode .wrap{max-width:1240px}
    .atdgrid{display:grid;grid-template-columns:440px minmax(0,1fr);gap:14px;align-items:start}
    .atdcolA{display:block}
  }

  /* ===== Sessão 8b F2: diálogos estilizados (regra 8), timer + chip, modal pendência/retorno ===== */
  .dlgscrim{position:fixed;inset:0;background:rgba(35,33,28,.5);z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
  .dlgcard{width:100%;max-width:360px;background:var(--paper);border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(35,33,28,.25)}
  .dlgtitle{font-size:15.5px;font-weight:700;color:var(--ink)}
  .dlgtitle.danger{color:var(--red)}
  .dlgtext{font-size:13.5px;line-height:1.5;margin-top:7px;color:var(--ink)}
  .dlgbtns{display:flex;gap:8px;margin-top:14px}
  .atdtimer{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
  #atdchip{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(74px + env(safe-area-inset-bottom));z-index:35}
  #atdchip[hidden]{display:none}
  #atdchip button{display:flex;align-items:center;gap:8px;background:#E0863A;color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(224,134,58,.4)}
  .atddot{width:8px;height:8px;border-radius:999px;background:#fff;animation:atdpulse 1.6s infinite}
  @keyframes atdpulse{0%,100%{opacity:1}50%{opacity:.35}}
  .atdchiptime{font-weight:600;font-size:12px;opacity:.9;border-left:1px solid rgba(255,255,255,.5);padding-left:8px}
  .pretaviso{background:var(--redSoft);border:1px solid #E3A8A0;color:#8C2F23;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
  .pretsug{background:#E7EEF6;border:1px solid #C9D8EA;color:#3E6DA6;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}
  .duasmetades{display:grid;grid-template-columns:1fr;gap:12px}
  .metade{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}
  .mhead{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;cursor:pointer}
  .mhead input{width:17px;height:17px;accent-color:var(--sage)}
  .mdesc{font-size:12px;color:var(--muted);margin:3px 0 10px 25px}
  .mbody.inativa{opacity:.45;pointer-events:none}
  /* azul do protótipo no eixo B (aprovado na 8b): faixa lateral nos cards + botão contornado no cabeçalho de Condutas */
  .atdcolB .atdcard{border-left:3px solid #3E6DA6}
  .btnpret{background:var(--surface);border:1px solid #3E6DA6;color:#3E6DA6;border-radius:8px;padding:6px 13px;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none}
  .btnpret:hover{background:#E3EBF4}
  .paramx{color:var(--faint);padding:0 4px;font-size:13px;line-height:1;vertical-align:middle;margin-left:2px}
  .paramx:hover{color:var(--red)}
  .ocultochip{color:var(--sageDeep);background:var(--sageSoft);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;margin-left:4px}
  @media(min-width:900px){
    .duasmetades{grid-template-columns:1fr 1fr}
    #atdchip{left:calc(50% + 105px);bottom:22px}
    #demobar{left:calc(50% + 105px);bottom:22px;width:auto;max-width:860px}
    body.demomode #atdchip{bottom:74px}
  }

  /* ===== Fase 3, S1: grade do dia (Agenda 2.0 — desenho do agenda-grade-prototipo.html v3) ===== */
  .daypane{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 18px 22px;margin-top:18px}
  .dayheadrow{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
  .dayheadrow h2{font-family:var(--serif);font-weight:400;font-size:22px;margin:0;text-transform:capitalize}
  .agruler{font-size:13px;color:var(--muted);margin-top:3px}
  .agruler b{color:var(--ink)}
  .closeday{display:none;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--sageDeep);background:var(--sageSoft);border:1px solid var(--line);border-radius:999px;padding:8px 14px;margin-bottom:14px}
  .aggrid{position:relative;margin-top:18px;border-top:1px solid var(--line)}
  .hourline{position:absolute;left:0;right:0;border-top:1px solid var(--line);pointer-events:none}
  .hourline.half{border-top:1px dashed #EEEAE0}
  .hourlabel{position:absolute;left:0;transform:translateY(-52%);font-size:11px;font-weight:700;color:var(--faint);background:var(--surface);padding-right:8px;pointer-events:none;font-variant-numeric:tabular-nums}
  .gridin{position:absolute;left:52px;right:6px;top:0;bottom:0}
  .aggap{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;border-radius:10px;cursor:pointer} /* S2: vão clicável */
  .aggap:hover{background:#FBFAF6}
  .aggap span{font-size:11px;color:var(--faint);background:var(--surface);padding:0 8px;border:1px dashed var(--line);border-radius:999px;line-height:20px}
  .aggap:hover span{color:var(--sageDeep);border-color:#CBD8CC}
  .nowline{position:absolute;left:0;right:0;pointer-events:none;z-index:15}
  .nowline::before{content:"";position:absolute;left:0;right:0;top:0;border-top:2px solid var(--clay)}
  .nowline::after{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:99px;background:var(--clay)}
  .nowtag{position:absolute;right:0;top:-9px;font-size:9.5px;font-weight:800;color:#fff;background:var(--clay);border-radius:999px;padding:2px 7px;letter-spacing:.04em}
  .agappt{position:absolute;border-radius:11px;padding:7px 11px 5px;overflow:hidden;border:1px solid;box-shadow:0 1px 4px rgba(35,33,28,.06);cursor:pointer;text-align:left}
  .agappt.c{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
  .agappt.r{background:#E3EBF4;border-color:#C5D4E8;color:#3E6DA6}
  .agappt.k{background:var(--claySoft);border-color:#E0C4AE;color:var(--clay)}
  .agappt.conflict{background:var(--redSoft);border-color:#E0B6A8;color:var(--red)}
  .agappt.done{opacity:.55}
  .agappt .at{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .agappt .an{font-size:13.5px;font-weight:700;color:var(--ink);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .agappt .agchip{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:1.5px 7px;background:#fff8}
  .agappt .adur{position:absolute;top:7px;right:9px;font-size:10.5px;font-weight:700;opacity:.8}
  .agappt.short{display:flex;align-items:center;gap:9px;padding:0 64px 0 11px}
  .agappt.short .an{margin:0;font-size:12.5px;flex:1;min-width:0}
  .agappt.short .adur{top:50%;transform:translateY(-50%)}
  .conflictwarn{position:absolute;right:6px;bottom:5px;font-size:10px;font-weight:800;color:var(--red)}
  .emptyday{padding:70px 20px;text-align:center;color:var(--muted);font-size:14px}
  .emptyday .big{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:6px}
  .agsemhora{margin-top:16px}
  .agsemhora .sl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}
  /* ===== Fase 3, S2 — interação da grade ===== */
  .agappt.sel{box-shadow:0 0 0 2px var(--sageDeep),0 4px 14px rgba(35,33,28,.14);z-index:20}
  .agappt.dragging{cursor:grabbing;box-shadow:0 8px 22px rgba(35,33,28,.22);z-index:30;opacity:.94}
  .aghandle{display:none;position:absolute;left:0;right:0;bottom:0;height:12px;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none}
  .aghandle::after{content:"";width:26px;height:3px;border-radius:99px;background:currentColor;opacity:.35}
  .agquick{position:absolute;width:236px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(35,33,28,.16);padding:13px 14px;z-index:40}
  .agquick .qn{font-weight:800;font-size:14.5px;color:var(--ink)}
  .agquick .qs{font-size:12px;color:var(--muted);margin-top:2px}
  .agquick .ql{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:12px 0 6px}
  .durchips{display:flex;gap:6px}
  .durchips button{flex:1;font-size:12.5px;font-weight:700;border:1px solid var(--line);border-radius:9px;padding:7px 0;background:var(--paper);color:var(--muted);cursor:pointer}
  .durchips button.on{background:var(--sageDeep);border-color:var(--sageDeep);color:#fff}
  .agquick .qacts{display:flex;flex-direction:column;gap:6px}
  .agquick .qacts button,.agquick .qacts a{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;text-align:left}
  .agquick .qacts button:hover,.agquick .qacts a:hover{background:var(--sageSoft)}
  .agquick .qhint{font-size:11px;color:var(--faint);margin-top:11px;line-height:1.5}
  /* ===== P1 (decisão 22) — Pacientes 2.0: lista viva + filtros + ficha lateral ===== */
  .paclayout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start;margin-top:2px}
  .toolrow{display:flex;gap:10px;align-items:center;margin:16px 0 14px;flex-wrap:wrap}
  .toolrow .search{flex:1;min-width:220px;margin:0}
  .search .slash{font-size:11px;font-weight:700;color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
  .sortsel{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .sortsel button{font-size:12px;font-weight:700;color:var(--muted);padding:11px 13px;white-space:nowrap}
  .sortsel button.on{background:var(--sageSoft);color:var(--sageDeep)}
  .fwrap{position:relative;flex:0 0 auto}
  .fbtn{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:var(--surface);color:var(--muted);white-space:nowrap}
  .fbtn:hover{background:var(--paper)}
  .fbtn .n{font-size:11px;font-weight:800;background:var(--paper);border-radius:999px;padding:1px 7px}
  .fbtn .x{font-weight:800;margin-left:2px;opacity:.75;padding:2px 3px}
  .fbtn.on{background:var(--sageDeep);border-color:var(--sageDeep);color:#fff}
  .fbtn.on .n{background:#ffffff22;color:#fff}
  .fbtn.react{background:#E0863A;border-color:#E0863A;color:#fff} /* Reativar ativo mantém a identidade âmbar */
  .fbtn.react .n{background:#ffffff2e;color:#fff}
  .fpop{display:none;position:absolute;right:0;top:calc(100% + 7px);z-index:50;width:240px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 32px rgba(35,33,28,.16);padding:7px}
  .fpop.open{display:block}
  .fopt{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:13.5px;font-weight:600;padding:10px 11px;border-radius:9px;color:var(--ink);text-align:left}
  .fopt:hover{background:var(--paper)}
  .fopt.onopt{background:var(--sageSoft);color:var(--sageDeep)}
  .fopt.react{color:#9A5A22}
  .fopt.react.onopt{background:var(--ochreSoft)}
  .fopt .n{font-size:11px;font-weight:800;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--muted)}
  .plist{display:flex;flex-direction:column;gap:8px}
  .prow{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;cursor:pointer;position:relative;transition:box-shadow .12s}
  .prow:hover{box-shadow:0 3px 12px rgba(35,33,28,.08)}
  .prow.sel{box-shadow:0 0 0 2px var(--sageDeep)}
  .prow.reactrow{border-left:4px solid #E0863A}
  .avatar{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
  .av0{background:var(--sageSoft);color:var(--sageDeep)} .av1{background:#E3EBF4;color:#3E6DA6}
  .av2{background:var(--claySoft);color:var(--clay)} .av3{background:var(--ochreSoft);color:#9A5A22}
  .prow .pbody{flex:1;min-width:0}
  .prow .pname{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prow .pmot{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prow .pmeta{flex:0 0 auto;text-align:right}
  .plast{font-size:12px;font-weight:700}
  .plast.ok{color:var(--green)} .plast.mid{color:var(--ochre)} .plast.old{color:#C2702E} .plast.never{color:var(--faint);font-weight:600}
  .pchips{display:flex;gap:4px;justify-content:flex-end;margin-top:4px}
  .mchip{font-size:10px;font-weight:800;border-radius:999px;padding:2px 7px}
  .mchip.pay{background:var(--redSoft);color:var(--red)}
  .mchip.rea{background:var(--ochreSoft);color:#9A5A22}
  .mchip.pen{background:#E3EBF4;color:#3E6DA6}
  .mchip.bday{background:var(--claySoft);color:var(--clay)}
  /* preview lateral minimalista (ajuste pós-teste: a ficha completa é um clique a partir dele) */
  .pacpane{display:none}
  .pvcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;max-height:calc(100vh - 40px);overflow-y:auto}
  .pvname{font-family:var(--serif);font-size:23px;line-height:1.1}
  .pvsub{font-size:13px;color:var(--muted);margin-top:4px}
  .pvmot{font-size:13.5px;font-style:italic;color:var(--sageDeep);margin-top:6px}
  .pvfacts{display:flex;gap:8px;margin-top:14px}
  .pvfact{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:9px 11px;text-align:center;min-width:0}
  .pvfact .v{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pvfact .v.red{color:var(--red)}
  .pvfact .k{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-top:2px}
  .pvlast{background:var(--ochreSoft);border:1px solid #E8C9A0;border-radius:11px;padding:10px 12px;font-size:13px;margin-top:14px;color:#6b4a1c;line-height:1.5}
  .pvlast b{color:#9A5A22}
  .pvsec{margin-top:15px}
  .pvsec .sl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}
  .pvsec .it{font-size:13.5px;line-height:1.55;color:var(--ink)}
  .pvmed{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;padding:5px 0;border-bottom:1px dashed var(--line)}
  .pvmed:last-child{border-bottom:none}
  .pvmed .d{color:var(--muted);font-size:12.5px;white-space:nowrap}
  .pvbtns{display:flex;flex-direction:column;gap:7px;margin-top:16px}
  .pvbtn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:12px;font-size:14px;font-weight:700;cursor:pointer}
  .pvbtn.soft{background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none}
  .pvbtn.soft:hover{background:var(--sageSoft)}
  .pv-empty{color:var(--faint);text-align:center;padding:90px 16px;font-size:14px;background:var(--surface);border:1px dashed var(--line);border-radius:16px}
  .pv-empty .big{font-family:var(--serif);font-size:19px;color:var(--muted);margin-bottom:6px}
  /* ===== S3 + financeiro (decisões 20/21) ===== */
  .fincard{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin-top:14px}
  .finhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .finhead .ft{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
  .fineye{font-size:15px;padding:2px 6px;border-radius:8px;cursor:pointer}
  .fineye:hover{background:var(--paper)}
  .finrow{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted);padding:3px 0}
  .finrow b{color:var(--ink);font-variant-numeric:tabular-nums}
  .daytog{display:flex;gap:6px}
  .dayt{flex:1;font-size:13px;font-weight:800;border:1px solid var(--line);border-radius:10px;padding:10px 0;background:var(--paper);color:var(--faint);cursor:pointer;text-align:center}
  .dayt.on{background:var(--sage);border-color:var(--sage);color:#fff}
  @media(max-width:899px){
    /* dia como tela por cima (decisão 19): cobre o shell; volta por botão/ESC */
    .daypane{position:fixed;inset:0;z-index:36;border-radius:0;border:none;overflow-y:auto;padding:16px 16px 80px;display:none;background:var(--paper);margin-top:0}
    .daypane.open{display:block}
    .closeday{display:flex}
    .hourlabel{background:var(--paper)}
    .aggap span{background:var(--paper)}
    .agquick .qhint{display:none} /* S2: sem arrasto no mobile — duração pelos chips */
  }
  @media(min-width:900px){
    body.agmode .wrap{max-width:1240px}
    .aglayout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:26px;align-items:start}
    .agleft .calhead{margin-top:18px}
    .daypane{min-height:520px}
    .agappt{cursor:grab;touch-action:none} /* S2: arrasto do card no desktop */
    .aghandle{display:flex}
    body.pacmode .wrap{max-width:1240px} /* P1: página larga em Pacientes */
    .paclayout{grid-template-columns:minmax(0,1fr) 440px}
    .pacpane{display:block;position:sticky;top:18px}
    body.pendmode .wrap{max-width:1240px} /* Pendências 2.0: página larga (lista + preview do paciente) */
    .pendlayout{grid-template-columns:minmax(0,1fr) 440px}
    .pendpane{display:block;position:sticky;top:18px}
  }
  /* ===== Diagnósticos 2.0 + consulta antiga no layout do atendimento (interlúdio 2026-08-22) ===== */
  .dg{margin:0 0 8px}
  .dgtitle{display:flex;align-items:center;gap:8px;background:var(--sageSoft);border:1px solid #CBD8CC;border-radius:9px;padding:6px 9px 6px 7px}
  .dgnum{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--sageDeep);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .dgt{flex:1;font-size:14px;font-weight:700;color:var(--sageDeep);line-height:1.3}
  .dgtitle[data-drag]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
  .dgdragging{opacity:.45}
  .dgtarget>.dgtitle{box-shadow:0 -2px 0 0 var(--sageDeep)}
  .dgediting{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px}
  .dgediting .fin{width:100%}
  .dgediting textarea.fin{min-height:90px;font-size:13.5px}
  .dgtools{display:flex;gap:2px;flex:0 0 auto}
  .dgtools button{color:var(--muted);padding:3px 5px;border-radius:7px;font-size:13px;line-height:1}
  .dgtools button:disabled{opacity:.3}
  .dgtools .dgx{font-size:16px;color:var(--red)}
  .dgitems{padding:4px 0 0 14px}
  .dgitem{font-size:13.5px;line-height:1.5;padding:2px 4px;border-radius:6px;display:flex;align-items:flex-start;gap:6px}
  .dgnotes{font-size:13.5px;line-height:1.55;white-space:pre-wrap;padding:3px 6px;border-radius:6px}
  .dgnotes[data-action]{cursor:text}
  .dgnotes[data-action]:hover{background:var(--bg)}
  .dgnotesedit .fin{min-height:96px;font-size:13.5px}
  .dgitem[data-action]{cursor:text}
  .dgitem[data-action]:hover{background:var(--bg)}
  .dgix{margin-left:auto;color:var(--muted);font-size:15px;line-height:1;padding:0 4px;opacity:.55;flex:0 0 auto}
  .dgix:hover{color:var(--red);opacity:1}
  .dgadditem{font-size:12px;font-weight:600;color:var(--sageDeep);padding:3px 4px;margin-top:2px}
  .dgaddbtn{font-size:12.5px;padding:7px 11px;margin-top:4px}
  .dgedit{display:flex;gap:6px;margin:3px 0}
  .dgedit .fin{flex:1;padding:7px 10px;font-size:13.5px}
  .dgok{padding:6px 10px;font-size:12.5px;flex:0 0 auto}
  .dgtog{display:block;font-size:12.5px;font-weight:600;color:var(--sageDeep);padding:4px 2px;margin-bottom:4px}
  .dgnotas{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}
  .dgnotastitle{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
  .atddx{font-size:13px;color:var(--sageDeep);font-weight:600;margin-top:3px;line-height:1.4}
  .pvdx{display:flex;flex-wrap:wrap;gap:5px}
  .pvdxchip{background:var(--sageSoft);color:var(--sageDeep);border:1px solid #CBD8CC;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}
  /* consulta antiga: somente leitura — botões dos blocos vivos somem, textos em serifada (decisão 13) */
  .ro button,.ro .blkpen,.ro .dgtools,.ro .dgix,.ro .dgadditem,.ro .dgaddbtn{display:none!important}
  .ro .dgitem{cursor:default}
  .ro .section,.ro .dgsec{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:10px}
  .conaviso{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:8px 11px;font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.45}
  .conview .atdcolB .atdcard{border-left:3px solid var(--ochre,#C9A227)}
  .convitals{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted);font-weight:600}
  .conview .docstamp{margin:4px 0 10px}
  /* ===== S5+S6 (2026-08-23) — lembretes WhatsApp + confirmação ===== */
  .agappt .agchip.lemb{background:var(--greenSoft);color:var(--green)}
  .agappt .agchip.ok{background:var(--green);color:#fff}
  .agappt .agchip.miss{background:var(--redSoft);color:var(--red)}
  .agappt.miss{opacity:.6;border-style:dashed;cursor:pointer}
  .agappt.miss .an{text-decoration:line-through;color:var(--muted)}
  .agquick .qselo{font-size:11.5px;color:var(--green);background:var(--greenSoft);border-radius:8px;padding:5px 8px;margin-top:8px}
  .agquick .qselo a{color:var(--muted);margin-left:6px;text-decoration:underline}
  .agquick .qacts button.qok{background:var(--greenSoft);border-color:#CBD8CC;color:var(--green)}
  .agquick .qacts button.qmiss{color:var(--red)}
  .agquick .qnote{font-size:12px;color:var(--muted);padding:4px 2px}
  .agquick .qnote a{color:var(--sageDeep);text-decoration:underline}
  .lembbtn{margin-left:auto;align-self:center;font-size:13px;font-weight:700;color:var(--green);background:var(--greenSoft);border:1px solid #CBD8CC;border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}
  .lembbtn:hover,.lembbtn.on{background:var(--green);color:#fff;border-color:var(--green)}
  /* fila destacada da grade (ajuste pós-teste 23/08): fundo sage claro, borda verde, sombra leve, mais respiro antes da grade */
  .fila{background:var(--sageSoft);border:1.5px solid #B9CCBB;border-left:5px solid var(--green);border-radius:14px;padding:14px 16px;margin:14px 0 26px;box-shadow:0 6px 18px rgba(60,122,78,.10)}
  .fila .filarow{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:6px;padding:8px 10px}
  .fila .filarow.next{box-shadow:0 0 0 2px var(--green)}
  .fila .fh{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--green);margin-bottom:6px;display:flex;justify-content:space-between}
  .fila .fhs{text-transform:none;letter-spacing:0;font-weight:700;color:var(--green)}
  .filarow{display:flex;align-items:center;gap:10px;padding:8px 6px;border-top:1px solid var(--line);font-size:13.5px}
  .filarow .ft{font-variant-numeric:tabular-nums;font-weight:800;color:var(--muted);width:44px}
  .filarow .fn{flex:1;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .filarow .fs{font-size:12px;color:var(--green)}
  .filarow.sent{opacity:.75}
  .filarow.nophone .fn{color:var(--muted)}
  .filarow .fb{font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:9px;padding:6px 10px;background:var(--paper);color:var(--muted);cursor:pointer;white-space:nowrap}
  .filarow .fb.send{background:var(--green);border-color:var(--green);color:#fff}
  .filarow .fb.ok{background:var(--greenSoft);border-color:#CBD8CC;color:var(--green)}
  .filarow .fb:hover{filter:brightness(.96)}
  .fila .qhint{font-size:11px;color:var(--faint);margin-top:10px;line-height:1.5}
  .lembaviso{width:100%;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);background:var(--ochreSoft);border:1px solid #E8C9A0;border-radius:12px;padding:9px 12px;margin-bottom:12px;cursor:pointer;text-align:left}
  .lembaviso .la{font-weight:800;color:#9A5A22}
  .lembaviso b{color:#9A5A22}
  .lembaviso.ok{background:var(--greenSoft);border-color:#CBD8CC}
  .lembaviso.ok .la{color:var(--green)}
  .lembprev{margin-top:8px;background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:9px 11px;font-size:13px;line-height:1.5;color:var(--muted);white-space:normal}
  .mchip.nophone{background:var(--paper);color:var(--faint);border:1px dashed var(--line)}
  .actionbtn small{font-weight:500;opacity:.8}
  @media (max-width:899px){ .lembbtn{margin-left:0;margin-top:8px} .filarow{flex-wrap:wrap} }

  /* ===== Fase 3, S7 — Ajustes 2.0 (4 seções, navegação lateral) + janela por dia da semana na grade ===== */
  .cfgbody{display:flex;flex-direction:column;min-height:0}
  .cfgnav{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--paper);position:sticky;top:57px;z-index:2}
  .cfgnav button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 11px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--muted);text-align:left}
  .cfgnav button.on{background:var(--sageSoft);color:var(--sageDeep)}
  .cfgnav .ico{font-size:15px;width:18px;text-align:center}
  .cfgpane h3{font-family:var(--serif);font-weight:400;font-size:19px;margin:0}
  .cfgkv{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);padding:7px 0;border-bottom:1px dashed var(--line)}
  .cfgkv b{color:var(--ink)}
  .wintab{width:100%;border-collapse:collapse;font-size:13.5px}
  .wintab td{padding:7px 6px;border-bottom:1px dashed var(--line)}
  .wintab td:first-child{font-weight:600;width:30%}
  .wintab tr.off td{color:var(--faint)}
  .cfgchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .cfgchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--ink)}
  .cfgchip .x{color:var(--faint);font-size:13px;font-weight:800}
  .cfgchip:hover .x{color:var(--red)}
  .cfgchip.hid{color:var(--faint);text-decoration:line-through}
  .cfgchip.hid .x{color:var(--sageDeep)}
  .cfgchip.dash{border-style:dashed;color:var(--muted)}
  .cfgadd{display:flex;gap:6px;align-items:center;width:100%}
  .cfgadd .fin{flex:1}
  @media(min-width:900px){
    .sheet.cfgsheet{max-width:760px;display:flex;flex-direction:column}
    .cfgbody{flex-direction:row;flex:1;min-height:0}
    .cfgnav{flex-direction:column;gap:3px;padding:12px 10px;border-bottom:none;border-right:1px solid var(--line);width:186px;flex-shrink:0;overflow:visible;position:static}
    .cfgnav button{padding:10px 11px;font-size:14px}
    .cfgpane{flex:1;overflow-y:auto;min-height:360px;max-height:calc(88vh - 60px)}
  }
  /* grade: barra da janela, alças, faixa "fora da janela", toast */
  .winbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0 -6px;font-size:12.5px;color:var(--muted)}
  .winbar.bot{margin:8px 0 0}
  .winbar b{color:var(--ink)}
  .winbtns{display:flex;gap:5px;align-items:center;margin-left:auto}
  .winbtns .wl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-right:2px}
  .winbtn{white-space:nowrap;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--sageDeep)}
  .winbtn:hover{background:var(--sageSoft)}
  .winbtn:disabled{opacity:.35;cursor:default}
  .winbtn.reset{padding:2px 8px;font-size:11px}
  .agextra{position:absolute;left:0;right:0;background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(167,132,47,.09) 6px 12px);pointer-events:none;z-index:1}
  .agextra span{position:absolute;right:8px;top:4px;background:var(--surface);padding:0 6px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--ochre)}
  .agextra.top span{top:auto;bottom:4px}
  .winhandle{position:absolute;left:46px;right:0;height:14px;margin-top:-7px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;z-index:20;touch-action:none}
  .winhandle::before{content:"";width:56px;height:5px;border-radius:999px;background:var(--sage);opacity:.45}
  .winhandle:hover::before,.winhandle.drag::before{opacity:1;height:6px}
  .winhandle .wtip{position:absolute;right:0;top:-24px;background:var(--ink);color:#fff;font-size:11px;padding:3px 8px;border-radius:6px;opacity:0;pointer-events:none;white-space:nowrap}
  .winhandle.bot .wtip{top:auto;bottom:-24px}
  .winhandle:hover .wtip,.winhandle.drag .wtip{opacity:1}
  .agtoast{position:fixed;left:50%;bottom:max(86px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:70;max-width:92vw;text-align:center}
  .agtoast.show{opacity:1;pointer-events:auto}
  .agtoast button{color:#9FD1A8;font-weight:700;margin-left:10px}
  .agtoast .agtoastx{color:#B8B2A6;font-weight:400;font-size:16px;line-height:1;margin-left:8px;padding:0 4px} /* E1: fecha o aviso na hora */
  .agtoast .agtoastx:hover{color:#fff}
  @media(min-width:900px){ .agtoast{bottom:28px} }

  /* ===== D2 — retrato da época na consulta antiga ===== */
  .retratobar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:8px 11px;font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.45}
  .retratobar.on{background:var(--sageSoft);border:1px solid #CBD8CC;color:var(--sageDeep)}
  .retratobar.warn{background:var(--ochreSoft);border:1px solid #E6D9B4;color:var(--ochre)}
  .retratobar button{font-size:12px;font-weight:700;color:var(--sageDeep);text-decoration:underline;padding:0}
  .ro .retratobar button{display:inline}

  /* ===== Fase 4, E1 — seção Exames (ficha + rodapé do atendimento) ===== */
  .exhead{display:flex;align-items:center;gap:6px;width:100%;text-align:left;cursor:pointer;color:var(--muted)}
  .exhead:hover{color:var(--ink)}
  .exn{font-weight:600;color:var(--faint);text-transform:none;letter-spacing:0}
  .exdate{border-top:1px dashed var(--line);padding:8px 0}
  .exdate:first-of-type{border-top:none}
  .exdatehead{display:flex;align-items:center;gap:7px;width:100%;text-align:left;font-size:13.5px;font-weight:700;color:var(--ink);padding:2px 0;cursor:pointer}
  .exdatehead .exdo{margin-left:auto;font-size:12px;color:var(--faint);font-weight:600}
  .exdatehead:hover .exdo{color:var(--sageDeep)}
  .exline{font-family:var(--serif);font-size:14px;line-height:1.75;color:var(--ink);padding:2px 0 0 14px}
  .exitem b{font-weight:700}
  .exsep{color:var(--faint);margin:0 6px}
  .exedit{margin:6px 0 2px 14px;border-left:2px solid var(--line);padding-left:10px}
  .exeditrow{display:flex;align-items:center;gap:10px;font-size:13px;padding:3px 0}
  .exeditrow span:first-child{font-weight:600;min-width:120px}
  .exeditrow button{color:var(--red);font-weight:800;font-size:14px;padding:2px 8px;border-radius:8px}
  .exeditrow button:hover{background:var(--redSoft)}
  .exform{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}
  .exnewrow{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:6px;margin-top:6px}
  .exwrap{margin-top:14px}
  @media(min-width:900px){ body.atdmode .exwrap{max-width:1240px} }

  /* ===== Fase 4, E2 — importação de PDF: janela de revisão ===== */
  .exrevcard{background:var(--card,#fff);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.22);width:min(760px,calc(100vw - 28px));max-height:88vh;overflow:auto;padding:18px 20px}
  .exrevhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
  .exrevav{background:var(--ochreSoft);border:1px solid #E6D9B4;color:var(--ochre);border-radius:10px;padding:7px 11px;font-size:12.5px;line-height:1.45;margin:8px 0}
  .exrevgrid{display:grid;grid-template-columns:26px 1.5fr .9fr .7fr 1.3fr;gap:6px;align-items:center}
  .exrevghead{margin-top:10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:700}
  .exrevlist{max-height:46vh;overflow:auto;margin-top:4px;padding-right:2px}
  .exrevrow{margin-top:5px}
  .exrevrow .fin{padding:7px 9px;font-size:13px}
  .exrevrow .exr_on{width:16px;height:16px;accent-color:var(--sage)}
  .exrevrow.lowc .fin{border-style:dashed;color:var(--muted,#8C867A)} /* E3a: linha de baixa confiança do motor genérico */
  @media(max-width:640px){
    .exrevgrid{grid-template-columns:22px 1.2fr .8fr;row-gap:2px}
    .exrevghead span:nth-child(4),.exrevghead span:nth-child(5){display:none}
    .exrevrow .exr_u,.exrevrow .exr_r{grid-column:2/4}
  }

  /* ===== Fase 4, E2b — cartões de exames personalizáveis + datas minimizáveis ===== */
  .exdbar{display:flex;align-items:center;gap:7px;width:100%;text-align:left;font-size:13.5px;font-weight:700;color:var(--ink);padding:9px 11px;background:var(--paper);border:1px solid var(--line);border-radius:11px;margin-top:7px;cursor:pointer}
  .exdbar:hover{border-color:#CBD8CC;background:var(--sageSoft)}
  .exdbar.on{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
  .exdchev{font-size:11px;color:var(--sageDeep)}
  .exdoff{color:var(--ochre);font-size:18px;line-height:0;margin-left:2px}
  .exgcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px;margin-top:9px}
  .exgcard{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:10px 12px;min-width:0}
  .exgcard.dragover{border-color:var(--sage);background:var(--sageSoft);box-shadow:0 0 0 2px var(--sageSoft)}
  .exgcard.outros{border-style:dashed}
  .exghead{display:flex;align-items:center;gap:5px;margin-bottom:6px;min-height:20px}
  .exgtit{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--faint)}
  .exgpen{color:var(--faint);font-size:11px;padding:1px 4px;opacity:0;transition:opacity .15s}
  .exgcard:hover .exgpen{opacity:1}
  .exgdel{color:var(--red);font-weight:800;font-size:13px;padding:1px 6px;margin-left:auto}
  .exgtitedit{display:flex;align-items:center;gap:4px;flex:1}
  .exgtitedit .fin{padding:4px 8px;font-size:12px;flex:1;min-width:0}
  .exgtitedit button{font-weight:800;padding:3px 7px;border-radius:8px}
  .exgtitedit button:first-of-type{color:var(--sageDeep)}
  .exgtitedit button:last-of-type{color:var(--muted)}
  .exgrow{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2.5px 0;font-size:13.5px;cursor:grab;border-radius:7px;flex-wrap:wrap}
  .exgrow:hover{background:rgba(94,122,99,.06)}
  .exgrow .a{color:var(--muted);font-size:12.5px}
  .exgrow .vwrap{margin-left:auto;white-space:nowrap}
  .exgrow .v{font-family:var(--serif);font-size:14.5px;color:var(--ink);font-variant-numeric:tabular-nums}
  .exgrow .u{color:var(--faint);font-size:11px;margin-left:3px}
  .exgrow .ref{flex-basis:100%;text-align:right;color:var(--faint);font-size:10.5px;margin-top:-2px}
  .exgrow.off .v{color:var(--ochre)}
  .exgrow .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ochre);margin-left:4px;vertical-align:2px}
  .exgvazio{color:var(--faint);font-size:12px;padding:6px 0;font-style:italic}
  .exgmenu{position:absolute;top:100%;right:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;min-width:170px;max-height:260px;overflow:auto}
  .exgmt{font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--faint);padding:4px 8px}
  .exgmenu button{display:block;width:100%;text-align:left;font-size:13px;padding:7px 9px;border-radius:8px;color:var(--ink)}
  .exgmenu button:hover{background:var(--sageSoft);color:var(--sageDeep)}
  .exgacts{display:flex;gap:14px;margin-top:7px;flex-wrap:wrap}
  .linkbtn2{color:var(--muted);font-size:12px;font-weight:700;padding:4px 0}
  .linkbtn2:hover{color:var(--sageDeep)}

  /* ===== Ficha 2.0 — abas na ficha do paciente ===== */
  .fichatabs{display:flex;gap:6px;margin:12px 0 2px}
  .fichatab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border-radius:11px;border:1px solid var(--line);background:var(--paper);font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
  .fichatab:hover{border-color:#CBD8CC}
  .fichatab.on{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
  .tbadge{background:var(--ochreSoft);color:var(--ochre);border-radius:999px;font-size:10.5px;font-weight:800;padding:1px 7px}
  .tbadge.n{background:var(--sageSoft);color:var(--sageDeep)}
  .fichatab.on .tbadge.n{background:#fff}
  .fsec{padding-top:10px;padding-bottom:4px}
  .fsec > .exhead{margin-bottom:0}
  .fsec .section{padding-top:8px;padding-bottom:0}
  /* o título interno do bloco é redundante (a barra da seção já o carrega): some o TEXTO, sobrevivem os botões (ex.: ✎ dos Antecedentes) */
  .fsec .section > .sectitle:not(.exhead){font-size:0;letter-spacing:0;margin-bottom:2px;min-height:0}
  .fsec .section > .sectitle:not(.exhead) > *{font-size:13px}
  .fsecbar{display:flex;align-items:center;gap:8px}
  .fsecbar .exhead{flex:1}
  .fsecadd{font-size:12px;font-weight:700;color:var(--sageDeep);background:var(--sageSoft);border:1px solid #CBD8CC;border-radius:999px;padding:4px 12px;white-space:nowrap}
  .fsecadd:hover{background:#DDE7DC}
  .fsec .dgaddbtn{display:none} /* o "+ diagnóstico" grande sai da ficha — o ＋ vive na barra da seção */
  .fsec .section > [data-action="medadd"]{display:none!important} /* idem "+ Adicionar medicação" (o botão tem display inline) */
  .fsec .dgtitle{cursor:pointer}
  /* preview lateral: hierarquia dos botões (Ficha 2.0) — chips compactos p/ Agendar e WhatsApp */
  .pvrow{display:flex;gap:8px;margin-top:8px}
  .pvchip{flex:1;font-size:12.5px;font-weight:700;padding:9px 10px;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.3;text-decoration:none;cursor:pointer}
  .pvchip:hover{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
  /* ===== Bloco 1 (2026-08-29, decisão 31) — Perfil + Onboarding ===== */
  .swho{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;font-size:11.5px;font-weight:500;color:var(--muted);margin-top:3px;line-height:1.3;letter-spacing:0}
  /* ===== ARCO DA CHEGADA (14/09) ===== */
  /* dica dos campos: cinza quase apagado — o campo nasce vazio, nada para apagar */
  .fin::placeholder,.pfbig::placeholder{color:#C7C1B4;opacity:1}
  /* a voz lateral: comentario que complementa, nunca instrucao — serifada, italica, menor, mais clara */
  .onbaside{font-family:var(--serif);font-style:italic;font-size:12.5px;line-height:1.55;color:var(--faint);
            margin:0 0 18px;padding-left:11px;border-left:2px solid var(--line)}
  /* previa ao vivo: a apresentacao mora dentro do passo que ela ilustra */
  .onbpv{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#FBFAF7;padding:12px 13px}
  .onbpvl{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:9px}
  .pvrx{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:13px 14px}
  .pvrxh{border-bottom:1.5px solid var(--ink);padding-bottom:8px}
  .pvnm{font-family:var(--serif);font-size:17px;line-height:1.15;color:var(--ink)}
  .pvcr{font-size:11.5px;color:var(--muted);margin-top:3px}
  .pvgh{color:#C7C1B4}
  .pvrxb{font-family:var(--serif);font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.7}
  .pvgh2{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:5px}
  .pvgr{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--faint);margin-bottom:3px}
  .pvhh{flex:0 0 32px;font-variant-numeric:tabular-nums;text-align:right}
  .pvbx{flex:1;height:15px;border-radius:4px;background:#EDEAE1}
  .pvbx.c{background:var(--sageSoft)}
  /* passo 3: as duas portas de entrada dos pacientes */
  .onbbring{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;
            background:var(--surface);padding:13px 14px;margin-bottom:9px}
  .onbbring .ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--sageSoft);
                color:var(--sageDeep);display:flex;align-items:center;justify-content:center;font-size:16px}
  .onbbring .tx{flex:1;min-width:0}
  .onbbring b{display:block;font-size:13.5px;font-weight:600}
  .onbbring i{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:2px;line-height:1.45}
  .btn.line{border:1px solid var(--line);color:var(--muted);background:var(--surface)}
  /* no passo 3 o caminho recomendado tem peso proprio; o .btn.soft do app e branco, igual ao .line */
  .onbbring .btn.rec{background:var(--sageSoft);color:var(--sageDeep);border:none;font-weight:700}
  /* a porta de volta, no rodape da barra lateral */
  .scheg{display:flex;align-items:center;gap:4px;margin:6px 0;border-radius:10px;
         background:#ffffff0f;border:1px solid #ffffff1f;padding:8px 8px 8px 11px}
  .scheg button{flex:1;min-width:0;display:flex;align-items:center;gap:8px;color:#E9E5DA;font-size:12px;
                font-weight:600;text-align:left;padding:0;line-height:1.3}
  .scheg .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .scheg em{font-style:normal;color:#9A9488;font-weight:500;font-size:11px}
  .scheg .pip{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#C9A15A}
  .scheg .nx{flex:0 0 auto;font-size:15px;color:#7E786C;padding:0 3px}
  .scheg .nx:hover{color:#C9C3B6}
  /* no celular nao ha barra lateral: a porta e a primeira linha de Ajustes > Perfil */
  .cfgcheg{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:var(--ochreSoft);
           border:1px solid #E8C9A0;border-radius:11px;padding:11px 13px;margin-bottom:14px;
           font-size:13px;font-weight:700;color:#7A5A22}
  .cfgcheg .pip{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#C9A15A}
  .cfgcheg em{margin-left:auto;font-style:normal;font-weight:600;font-size:12px;color:#9A7434}
  /* B5 parte 2: convite de instalação — mesmo desenho da porta da chegada, pip sage (convite, não pendência) */
  .spwa{display:flex;align-items:center;gap:4px;margin:auto 0 0;border-radius:10px;background:#ffffff0f;border:1px solid #ffffff1f;padding:8px 8px 8px 11px}
  .spwa button{flex:1;min-width:0;display:flex;align-items:center;gap:8px;color:#E9E5DA;font-size:12px;font-weight:600;text-align:left;padding:0;line-height:1.3}
  .spwa .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .spwa em{font-style:normal;color:#9A9488;font-weight:500;font-size:11px}
  .spwa .pip{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#93AE96}
  .spwa .nx{flex:0 0 auto;font-size:15px;color:#7E786C;padding:0 3px}
  .spwa .nx:hover{color:#C9C3B6}
  .spwa+.sacct{margin-top:8px}
  .cfgpwa{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;width:100%;text-align:left;background:var(--sageSoft);border:1px solid #CBD8CC;border-radius:11px;padding:11px 13px;margin-bottom:14px;font-size:13px;font-weight:700;color:var(--sageDeep)}
  .cfgpwa .pip{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--sage)}
  .cfgpwa em{margin-left:auto;font-style:normal;font-weight:600;font-size:12px;color:var(--sage)}
  .gear.nudge:after{content:"";position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:99px;background:var(--ochre);border:2px solid var(--paper)}
  body.onbmode .nav,body.onbmode .gear,body.onbmode .side,body.onbmode #atdchip{display:none!important}
  body.onbmode #appShell{padding-left:0}
  body.onbmode .wrap{max-width:640px;padding-bottom:40px}
  .onbstage{padding-top:max(22px,env(safe-area-inset-top))}
  .onbtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
  .onbskip{font-size:12.5px;color:var(--clay);font-weight:700;border:1px solid #E3C2AE;background:var(--claySoft);border-radius:999px;padding:7px 12px}
  .onbcard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:0 6px 24px rgba(35,33,28,.05);animation:onbin .3s ease}
  @keyframes onbin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .onbdots{display:flex;gap:6px;align-items:center;margin:0 0 18px}
  .onbdots i{width:22px;height:4px;border-radius:99px;background:var(--line);display:block}
  .onbdots i.on{background:var(--sage)}
  .onbdots i.done{background:#CBD8CC}
  .onbdots span{margin-left:auto;font-size:12px;color:var(--faint);font-weight:600}
  .onbh1{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.08;margin:6px 0 0}
  .onblead{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink);margin:18px 0 0}
  .onblead em,.onbintro em{font-style:italic;color:var(--sageDeep)}
  .onbsub{color:var(--muted);font-size:14px;line-height:1.5;margin-top:12px}
  .onbintro{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--ink);margin:14px 0 2px;padding-left:12px;border-left:2px solid var(--sageSoft)}
  .onbfoot{display:flex;align-items:center;gap:10px;margin-top:22px}
  .onbfoot .btn{border-radius:13px;padding:14px 18px;font-size:15.5px;font-weight:700}
  .onbfoot .btn.primary{flex:1;box-shadow:0 4px 14px rgba(94,122,99,.28)}
  .btn.ghost{color:var(--muted);font-weight:600;font-size:14px;padding:12px 10px;background:none}
  .onbsect,.cfgsect{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin:22px 0 4px;padding-top:16px;border-top:1px solid var(--line)}
  .onbsum{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:14.5px}
  .onbsum:first-child{border-top:none}
  .onbsum .k{color:var(--muted);font-size:13px}
  .onbsum .v{text-align:right}
  .onbsum .v.skip{color:var(--ochre);font-size:13px;font-weight:600}
  .pfbig{font-family:var(--serif);font-size:21px;padding:13px 15px}
  .pfrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);margin-top:8px}
  .pfrow b{font-size:15px;display:block}
  .pfrow small{display:block;color:var(--muted);font-size:13px;margin-top:2px;line-height:1.4}
  .tg{width:46px;height:27px;border-radius:99px;background:#D8D3C7;position:relative;flex:0 0 46px;transition:background .2s;padding:0}
  .tg:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:99px;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
  .tg.on{background:var(--sage)}
  .tg.on:after{left:22px}
  .opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-top:8px;cursor:pointer;background:var(--surface)}
  .opt.on{border-color:var(--sage);background:var(--sageSoft)}
  .opt .rd{width:18px;height:18px;border-radius:99px;border:2px solid var(--faint);flex:0 0 18px;margin-top:2px;position:relative}
  .opt.on .rd{border-color:var(--sageDeep)}
  .opt.on .rd:after{content:"";position:absolute;inset:3px;border-radius:99px;background:var(--sageDeep)}
  .opt b{display:block;font-size:15px}
  .opt small{display:block;color:var(--muted);font-size:13px;margin-top:2px;line-height:1.4}
  .opt .inner{margin-top:10px;cursor:default}
  .opt .inner .fin,.opt .inner textarea{background:#fff}
  .finlink{display:block;width:100%;text-align:left;margin-top:8px;padding:7px 9px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--sageDeep);background:var(--sageSoft)}
  .finlink.due{color:#7A5A22;background:var(--ochreSoft);border:1px solid #E8C9A0}

  /* ===== Onboarding — ritmo vertical (2026-09-13) ===== */
  .onbcard label.fl{margin-top:22px;margin-bottom:8px}
  .onbcard .two label.fl,.onbcard .opt label.fl,.onbcard .inner label.fl{margin-top:0}
  .onbcard .two{margin-top:18px}
  .onbcard label.fl+.two,.onbcard label.fl+.chips,.onbcard label.fl+.daytog,.onbcard label.fl+.fin{margin-top:0}
  .onbcard .hint{margin-top:8px;line-height:1.5}
  .onbcard .chips{gap:7px}
  .onbcard .chips+.fin{margin-top:12px!important}
  .onbcard .pfrow{margin-top:24px;padding:16px 0}
  .onbcard .opt{margin-top:10px}
  .onbcard .opt+.opt{margin-top:9px}
  .onbcard .onbintro{margin:18px 0 6px;padding-left:14px}
  .onbcard .onbsect{margin:30px 0 10px;padding-top:20px}
  .onbcard .lembprev{margin-top:10px}
  .onbcard textarea.fin+.hint{margin-top:8px}
  .onbcard .onbfoot{margin-top:26px}
  .onbcard .onbsum{padding:13px 0}

  /* ===== Bloco 2 (2026-08-29) — Importar pacientes: mesma casca da janela de revisão da E2 (.exrevcard) ===== */
  .addrow{display:flex;gap:8px;margin-bottom:14px;align-items:stretch}
  .addrow .addbtn{flex:1}
  .impbtn{flex:0 0 auto;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:13px;padding:0 16px;font-size:14px;font-weight:600;white-space:nowrap}
  .impbtn:hover{color:var(--ink);border-color:var(--sage)}
  .impcard{width:min(820px,calc(100vw - 28px))}
  .imphint{font-size:13px;color:var(--muted);line-height:1.5;margin:6px 0 12px}
  .imphint b{color:var(--ink)}
  .impsrc{display:flex;align-items:center;gap:12px;margin:6px 0 12px}
  .impfile{cursor:pointer;display:inline-block}
  .impou{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
  .impcard textarea.fin{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.45;resize:vertical;min-height:120px}
  .impfoot{display:flex;gap:8px;margin-top:12px}
  .impfoot .btn{flex:1}
  .impfoot .btn.primary{flex:2}
  .impmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:6px}
  .impcol{border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:var(--surface)}
  .imphead{font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .impex{font-size:12px;color:var(--faint);margin:3px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:15px}
  .impcol .fin{padding:7px 9px;font-size:13px}
  .impgrid{display:grid;grid-template-columns:26px 1.6fr 1fr .9fr 1.3fr;gap:6px;align-items:center}
  .impghead{margin-top:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:700}
  .implist{max-height:46vh;overflow:auto;margin-top:4px;padding-right:2px}
  .improw{margin-top:5px}
  .improw .fin{padding:7px 9px;font-size:13px}
  .improw .imp_on{width:16px;height:16px;accent-color:var(--sage)}
  .improw.off .fin{opacity:.55}
  .impwhy{grid-column:2/-1;font-size:11.5px;color:var(--ochre);margin-top:-2px;padding-left:2px}
  .impwhy.faint{color:var(--faint)}
  .faint{color:var(--faint)}
  @media(max-width:640px){
    .impgrid{grid-template-columns:22px 1.3fr 1fr;row-gap:2px}
    .impghead span:nth-child(4),.impghead span:nth-child(5){display:none}
    .improw .imp_b,.improw .imp_m{grid-column:2/4}
    .impsrc{flex-direction:column;align-items:flex-start}
    .impbtn{padding:0 12px}
  }

/* ============================================================================================
   BLOCO 3 — DOCUMENTOS (2026-09-02): tela de documentos + folha "papel" + impressão + linha do tempo
   ============================================================================================ */
.dcwrap{display:flex;gap:22px;align-items:flex-start;margin-top:16px}
.dcrail{flex:0 0 330px;position:sticky;top:14px}
.dccard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 6px 24px rgba(35,33,28,.05);margin-bottom:12px}
.dctipos{display:flex;flex-direction:column;gap:6px}
.dctipo{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--muted);width:100%}
.dctipo.on{background:var(--sageSoft);border-color:var(--sage);color:var(--sageDeep)}
.dcrxlist{display:flex;flex-direction:column;gap:6px}
.dcrxrow{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:9px 12px;font-size:13.5px;font-weight:600;color:var(--muted);width:100%}
.dcrxrow.on{background:var(--sageSoft);border-color:var(--sage);color:var(--sageDeep)}
.dcrxrow small{margin-left:auto;font-weight:600;color:var(--faint)}
.dcctrl{font-size:12px;color:var(--muted);line-height:1.45;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.dcponte{background:var(--sageSoft);border:1px solid #CBD8CC;border-radius:12px;padding:11px 12px;font-size:12.5px;line-height:1.5;margin-top:12px;color:var(--ink)}
.dcponte b{color:var(--sageDeep)}
.dcerr{background:var(--redSoft);color:var(--red);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;margin-bottom:10px}
.dcok{background:var(--greenSoft);color:var(--green);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600;margin-bottom:10px}
.dctgl{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13.5px}
.dctgl .tgl{flex:0 0 auto}
.dcexlist{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:var(--paper)}
.dcexarea{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin:10px 0 4px}
.dcexarea:first-child{margin-top:4px}
.dcexitem{display:flex;align-items:center;gap:9px;padding:5px 2px;font-size:13.5px;cursor:pointer;border-radius:8px;user-select:none}
.dcexitem:hover{background:var(--sageSoft)}
.dcexitem input{accent-color:var(--sageDeep);width:16px;height:16px;margin:0;flex:0 0 auto;cursor:pointer}
.dcexitem.on{color:var(--sageDeep);font-weight:600}
/* a folha */
.dcpapers{flex:1;min-width:0}
.dcsheet{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 34px rgba(35,33,28,.10);max-width:730px;margin:0 auto 24px;padding:44px 52px 38px;font-family:var(--serif);line-height:1.5;min-height:640px}
.dccab{border-bottom:1.5px solid var(--ink);padding-bottom:13px;margin-bottom:6px}
.dcnome{font-size:20px}
.dcfalta{color:var(--clay);font-size:14px;font-style:italic}
.dcsub{font-size:13px;color:#555;margin-top:3px}
.dctit{text-align:center;font-size:15px;letter-spacing:.24em;text-transform:uppercase;margin:20px 0 2px;color:#333}
.dcvia{text-align:center;font-size:12.5px;letter-spacing:.30em;text-transform:uppercase;color:#666;margin-top:2px}
.dcpac{font-size:14px;margin:14px 0 2px;color:#222}
.dccorpowrap{margin-top:14px;min-height:220px;font-size:15.5px}
.dccorpo{outline:none;min-height:200px}
.dccorpo:focus{background:#FBFAF6;box-shadow:inset 0 0 0 1px var(--sageSoft);border-radius:4px}
.dccorpo p{margin:0 0 10px}
.dcind{outline:none;border-bottom:1px dashed transparent}
.dcind:focus{background:#FBFAF6;border-bottom-color:var(--sage)}
.dcex{margin:6px 0 0;padding-left:22px}
.dcex li{margin-bottom:6px}
.dcph{color:#B7B1A4}
.dcrxitem{margin:0 0 15px;padding:2px 6px;border-radius:6px}
.dcrxitem.ed{cursor:pointer}
.dcrxitem.ed:hover{background:#FBFAF6}
.dcrxtit{font-size:15.5px}
.dcnum{display:inline-block;min-width:22px}
.dcrxpos{display:block;font-size:14px;color:#333;margin-left:22px;margin-top:2px;white-space:pre-wrap}
/* Receita fluida (11/09): alça de arrasto no número, duplicar no hover, dica do editor, item em arrasto */
.dcrxitem{position:relative}
.dcrxitem.ed .dcnum[data-rxhandle]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:5px}
.dcrxitem.ed .dcnum[data-rxhandle]:hover{background:var(--sageSoft);color:var(--sageDeep)}
.dcrxitem.rxdragging{opacity:.45}
.dcrxitem.rxtarget{box-shadow:0 -2px 0 0 var(--sageDeep)}
.dcrxdup{display:none;position:absolute;right:6px;top:2px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1;color:var(--muted);background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:6px}
.dcrxitem.ed:hover .dcrxdup{display:inline-block}
.dcrxdup:hover{background:var(--sageSoft);color:var(--sageDeep)}
.dcrxdica{font-size:11.5px;color:var(--muted);margin-left:2px}
@media (max-width:899px){.dcrxdica{display:none}}
textarea.fin.dcsugfill{background:var(--sageSoft);transition:background .6s}
.dcadd{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:700;color:var(--sage);border:1px dashed var(--line);border-radius:10px;padding:8px 14px;margin-top:4px;background:none;cursor:pointer}
.dcadd:hover{background:var(--sageSoft)}
.dcvazio{font-family:-apple-system,BlinkMacSystemFont,sans-serif;text-align:center;color:var(--muted);font-size:14px;line-height:1.6;padding:60px 20px;background:var(--surface);border:1px dashed var(--line);border-radius:16px;max-width:730px;margin:0 auto}
.dcdata{margin-top:32px;font-size:14.5px}
.dcassin{margin-top:48px;text-align:center}
.dclinha{border-top:1px solid var(--ink);width:300px;margin:0 auto 6px}
.dcquem{font-size:14px}
.dccrm{font-size:13px;color:#444}
.dcedithint{max-width:730px;margin:6px auto 0;text-align:center;font-size:12.5px;color:var(--faint)}
/* editor de item da receita (padrão do editor de diagnósticos) */
.dcrxedit{font-family:-apple-system,BlinkMacSystemFont,sans-serif;background:var(--paper);border:1px solid var(--sage);border-radius:12px;padding:12px;margin:0 0 15px}
.dcrxedit textarea.fin{min-height:64px;resize:vertical;line-height:1.4;font-size:13.5px}
.dcacts{display:flex;gap:8px;margin-top:12px;align-items:center}
.dcdel{margin-left:auto;color:var(--red);font-size:13px;font-weight:600;background:none;border:none;cursor:pointer}
.dcmover{font-size:12.5px;color:var(--muted);margin-top:10px;display:flex;gap:6px;align-items:center}
.dcmover select{border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-size:12.5px;background:var(--surface)}
/* toast próprio (discreto, rodapé) */
#dctoast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(90px);background:var(--ink);color:#fff;font-size:14px;padding:11px 18px;border-radius:12px;transition:transform .3s;z-index:220;pointer-events:none}
#dctoast.show{transform:translateX(-50%) translateY(0)}
/* linha do tempo: card de documentos do dia */
.dctlcard{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px;overflow:hidden}
.dctlhead{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:11px 14px;background:none;border:none;cursor:pointer;font-size:14px}
.dctlic{flex:0 0 auto}
.dctlt{font-weight:600;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dctldate{color:var(--muted);font-size:13px}
.dctlchev{color:var(--faint)}
.dctlbody{border-top:1px solid var(--line);padding:12px 14px;background:#FBFAF6}
.dctldoc{margin-bottom:12px}
.dctldoc:last-child{margin-bottom:0}
.dctldoct{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.dctlview{font-family:var(--serif);font-size:14px;line-height:1.5}
.dctlrx{margin-top:4px}
.dctlpos{font-size:13px;color:#555;margin-left:18px}
/* mobile */
@media (max-width:900px){
  .dcwrap{flex-direction:column}
  .dcrail{position:static;flex:none;width:100%}
  .dcsheet{padding:24px 18px;min-height:auto}
}
/* impressão: só as folhas, uma por página */
#dcprint{display:none}
@media print{
  /* margem 0 na página = o navegador não tem onde escrever data/título/URL/nº da página; a margem vira padding da folha */
  @page{margin:0}
  html,body{margin:0!important;padding:0!important}
  body.dcprinting>*:not(#dcprint){display:none!important}
  body.dcprinting #dcprint{display:block}
  body.dcprinting{background:#fff}
  #dcprint .dcsheet{border:none;box-shadow:none;border-radius:0;max-width:none;margin:0;padding:18mm 20mm;min-height:auto;page-break-after:always;box-sizing:border-box}
  #dcprint .dcsheet:last-child{page-break-after:auto}
  #dcprint .dcadd,#dcprint .dcrxedit,#dcprint .dcedithint{display:none!important}
}

/* ===== Linha do tempo 2.0 (2026-09-08) — espinha com nós, data no nó, condutas como resumo, chips de medidas ===== */
.tl{position:relative;margin-top:10px;padding-left:86px}
.tl::before{content:"";position:absolute;left:64px;top:6px;bottom:6px;width:2px;background:var(--line);border-radius:2px}
.tl.tl-only::before{display:none}
.tl-ano{position:relative;margin:18px 0 10px;height:1px}
.tl-ano:first-child{margin-top:4px}
.tl-ano span{position:absolute;left:-86px;top:-10px;width:64px;text-align:right;font-family:var(--serif);font-size:17px;color:var(--faint)}
.tl-item{position:relative;margin-bottom:14px}
.tl-no{position:absolute;left:-29px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--sage);border:2.5px solid var(--paper);box-shadow:0 0 0 1.5px var(--sage)}
.tl-no.ret{background:#3E6DA6;box-shadow:0 0 0 1.5px #3E6DA6}
.tl-no.doc{width:9px;height:9px;left:-27.5px;top:13px;background:var(--paper);box-shadow:0 0 0 1.5px var(--faint)}
.tl-data{position:absolute;left:-86px;top:10px;width:48px;text-align:right;line-height:1.15}
.tl-data .d{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.tl-data .m{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.tl-data.faint{opacity:.55}
.tl-data.faint .d{font-size:13.5px}
.tlc{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 14px rgba(35,33,28,.04);overflow:hidden;transition:box-shadow .18s,border-color .18s}
.tlc:hover{border-color:#D8D2C4;box-shadow:0 6px 20px rgba(35,33,28,.07)}
.tlc-head{display:flex;align-items:center;gap:9px;padding:12px 14px 0;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;color:inherit}
.chip-tl{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3.5px 9px;border-radius:99px}
.chip-tl.con{background:var(--sageSoft);color:var(--sageDeep)}
.chip-tl.ret{background:#E3EBF4;color:#3E6DA6}
.tlc-chev{margin-left:auto;color:var(--faint);font-size:13px;transition:transform .18s}
.tlc.open .tlc-chev{transform:rotate(90deg)}
.tlc-cond{padding:9px 14px 3px;font-size:14.5px;line-height:1.5;cursor:pointer;white-space:pre-wrap}
.tlc-cond.faint{color:var(--faint);font-size:13.5px;padding-bottom:12px}
.tlc-cond b{font-weight:650}
.tlc-cond .lbl{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--sage);margin-right:6px}
.tlc-vitals{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 13px;cursor:pointer}
.tlc-vitals.cv{padding:10px 0 0;cursor:auto;margin-top:8px;border-top:1px dashed var(--line)}
.vch{display:inline-flex;align-items:baseline;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:4px 9px;font-size:12.5px;font-weight:600;color:var(--ink)}
.vch small{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.vch .dl{font-size:11.5px;font-weight:700}
.vch .dl.down{color:#3C7A4E}
.vch .dl.up{color:var(--clay)}
.tlc-full{border-top:1px solid var(--line);background:#FCFBF7;padding:14px 16px 14px}
.tlc-full .flbl{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}
.tlc-full .ftext{font-family:var(--serif);font-size:14.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap}
.tlc-acts{display:flex;align-items:center;gap:8px;margin-top:14px}
.tlc-acts:first-child{margin-top:0}
.btnfull{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px;font-size:13.5px;font-weight:700;color:var(--sageDeep);cursor:pointer;font-family:inherit}
.btnfull:hover{background:var(--sageSoft)}
.btnrm{color:var(--red);font-size:12.5px;font-weight:600;padding:8px 10px;background:none;border:none;cursor:pointer;font-family:inherit}
.tld{display:flex;align-items:center;gap:9px;background:none;border:1px dashed var(--line);border-radius:12px;padding:9px 13px;width:100%;text-align:left;font-size:13.5px;color:var(--muted);cursor:pointer;font-family:inherit}
.tld:hover{background:var(--surface)}
.tld .t{font-weight:650;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tld .dt{margin-left:auto;font-size:12.5px}
.tld-body{border:1px dashed var(--line);border-top:none;border-radius:0 0 12px 12px;margin-top:-10px;padding:16px 14px 10px;background:var(--surface)}
.tl-prior{position:relative;color:var(--faint);font-size:12.5px;padding:6px 0 0}
.tl-prior::before{content:"";position:absolute;left:-24px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--line)}
@media (max-width:520px){
  .tl{padding-left:64px}
  .tl::before{left:46px}
  .tl-data{left:-64px;width:34px}
  .tl-data .d{font-size:14.5px}
  .tl-no{left:-24px}
  .tl-no.doc{left:-22.5px}
  .tl-ano span{left:-64px;width:46px;font-size:15px}
  .tl-prior::before{left:-21px}
}
/* consulta completa — polimento 2.0 */
.cvdate{font-family:var(--serif);font-size:15px;color:var(--ink);margin-top:2px}
.cvtop{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
.cvnav{display:flex;align-items:center;gap:6px}
.cvnav .btn{font-size:12px;padding:6px 10px;white-space:nowrap}
.cvnav .btn[disabled]{opacity:.4;cursor:default}
.cvpos{font-size:11.5px;color:var(--faint);font-weight:600;white-space:nowrap}
.cvdocs{background:#FCFBF7}
.conview .atdcolB .cvdocs{border-left:3px solid var(--faint)}
@media (max-width:640px){ .cvtop{align-items:flex-start} .atdhead{flex-wrap:wrap} }
/* consulta completa: ações (11/09) — ficha em destaque + chips secundários, mesmo padrão do painel rápido 2.0 */
.cvacts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.cvacts .btn.primary{font-size:13.5px;padding:9px 16px}
.cvchip{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}
.cvchip:hover{background:var(--sageSoft)}
/* painel rápido 2.0 do card da grade (2026-09-10): contexto clínico + Iniciar/Ver ficha com o mesmo peso + chips secundários */
.agquick.q2{width:272px}
.agquick .qctx{margin-top:9px;padding:8px 10px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:12.5px;line-height:1.45;color:var(--ink)}
.agquick .qmot{font-style:italic;color:var(--sageDeep);font-weight:600}
.agquick .qlast{color:var(--muted);margin-top:2px}
.agquick .qlast b{color:var(--ink);font-weight:700}
.agquick .qprim{display:flex;gap:6px;margin-top:10px}
.agquick .qprim button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;padding:10px 6px;border-radius:10px;cursor:pointer;font-family:inherit;white-space:nowrap}
.agquick .qprim .qgo{background:var(--sageDeep);border:1px solid var(--sageDeep);color:#fff}
.agquick .qprim .qgo:hover{background:var(--sage)}
.agquick .qprim .qficha{background:var(--surface);border:1px solid var(--sage);color:var(--sageDeep)}
.agquick .qprim .qficha:hover{background:var(--sageSoft)}
.agquick .qacts.qrow{flex-direction:row;flex-wrap:wrap;gap:5px;margin-top:8px}
.agquick .qacts.qrow button{flex:1 1 auto;font-size:12px;font-weight:600;padding:6px 9px;border-radius:999px;justify-content:center;gap:5px;background:var(--surface)}
.agquick .qacts.qrow .qnote{flex:1 1 100%}
.agquick.q2 .ql{margin-top:12px}
@media(max-width:899px){ .agquick.q2{width:auto} }
/* miúdos 10/09: badge de contagem no chip 📄 Documentos do preview lateral */
.pvbadge{display:inline-block;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--sageSoft);color:var(--sageDeep);font-size:11px;font-weight:800;text-align:center;margin-left:4px}
/* agenda livre (2026-09-10, decisão 36): aviso inline de horário/dia fora do habitual + janela editável nos Ajustes */
.apptfora{margin-top:8px;background:var(--ochreSoft);border:1px solid #E6D9B4;border-radius:10px;padding:9px 11px;font-size:12.5px;color:#6B561F;line-height:1.45}
.wintab td.winsel>*{vertical-align:middle;margin-right:6px}
.wintab .winh{width:auto;padding:5px 8px;font-size:13px}
.wintab .winsep{color:var(--muted)}
.wintab tr.off .winh{opacity:.45}
select.fin optgroup{font-style:normal;font-weight:700;color:var(--muted)}
/* aba Documentos (2026-09-11, decisão 38): lista global dos emitidos */
.drow{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden}
.drow.open{border-color:#D8D2C4}
.drowhead{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:11px 13px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;color:inherit}
.drowt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drowh{color:var(--muted);font-size:12.5px}
.drowbody{border-top:1px solid var(--line);padding:12px 14px;background:#FBFAF6}
.drowacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.drowacts .btn{flex:1;font-size:13px}
/* cadastro enxuto + novo paciente no agendamento (2026-09-11, decisão 39) */
.patrow{display:flex;gap:8px;align-items:stretch}
.patrow select{flex:1;min-width:0}
.npbtn{white-space:nowrap;padding:0 12px;font-size:13px;font-weight:700}
.npbox{margin-top:10px;background:var(--paper);border:1px dashed var(--line);border-radius:12px;padding:12px 12px 12px;display:flex;flex-direction:column;gap:10px}

  /* ===== 2026-09-14 · Pacientes 3.0 (parte 1): casca escura + cabeçalho vivo + preview enxuto ===== */
  /* Casca escura: o preto delimita a navegação e ancora a tela clara. Só a navegação muda — o conteúdo clínico segue em papel. */
  .side{background:#211F1B;border-right:none}
  .side .sbrand{color:#F2EEE3}
  .side .swho{color:#8E887C}
  .side .sitem{color:#9A9488;padding-left:14px}
  .side .sitem:hover{background:#ffffff0d;color:#E9E5DA}
  .side .sitem.on{background:#ffffff12;color:#FFFDF7}
  .side .sitem.on::before{content:"";position:absolute;left:2px;top:9px;bottom:9px;width:2.5px;border-radius:2px;background:#93AE96}
  .side .sdiv{background:#ffffff14;margin:12px 14px}
  .nav{background:#211F1B;border-top:none}
  .nav .navi{color:#8E887C}
  .nav .navi.on{color:#FFFDF7}
  /* Cabeçalho vivo: título + tamanho da lista, e embaixo a leitura do dia (cada item é um filtro). Sem eyebrow. */
  .hrow{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
  .hcount{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin:0}
  .lead{display:flex;flex-wrap:wrap;align-items:center;gap:1px 4px;margin:11px 0 0 -10px}
  .leaditem{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;font-size:13.5px;color:var(--muted);font-weight:500;line-height:1.2;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
  .leaditem .dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}
  .leaditem .num{font-family:var(--serif);font-size:17.5px;color:var(--ink);line-height:1;letter-spacing:-.01em}
  .leaditem:hover{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(35,33,28,.07)}
  .leaditem.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(35,33,28,.07)}
  .d-react{background:#E0863A}
  .d-pend{background:#3E6DA6}
  .d-pag{background:var(--red)}
  .d-aniv{background:var(--clay)}
  .d-ok{background:var(--sage)}
  .leadclear{font-size:12.5px;font-weight:700;color:var(--sageDeep);padding:6px 11px;border-radius:9px}
  .leadclear:hover{background:var(--sageSoft)}
  @media(max-width:640px){.leaditem{font-size:13px;padding:5px 9px;gap:7px}.leaditem .num{font-size:16px}}
  /* Cabeçalho do paciente no preview: nome → motivo como rótulo forte → idade · profissão · cidade. Nada em itálico. */
  .phsig{display:inline-block;font-size:11.5px;font-weight:800;color:#9A5A22;background:var(--ochreSoft);border:1px solid #E8D9B4;border-radius:999px;padding:2px 9px;vertical-align:middle;margin-left:8px;position:relative;top:-3px}
  .pvmot2{display:inline-block;margin-top:10px;background:var(--sageSoft);color:var(--sageDeep);border:1px solid #CBD8CC;border-radius:9px;padding:5px 12px;font-size:13.5px;font-weight:700}
  .pvsub2{margin-top:10px;font-size:13px;color:var(--muted);font-weight:500}
  /* Um único verde cheio por tela: "Adicionar paciente" vira contorno e deixa o verde para "Iniciar atendimento". */
  .addrow .addbtn{background:var(--surface);border:1px solid #CBD8CC;color:var(--sageDeep);box-shadow:none;font-size:14.5px;padding:12px 18px}
  .addrow .addbtn:hover{background:var(--sageSoft)}
  @media(min-width:900px){.addrow .addbtn{flex:0 0 auto;width:auto}}
  /* Hierarquia do movimento 4 também na linha da lista: nada em itálico. */
  .prow .pmot{font-style:normal}

  /* ===== 2026-09-14 · FICHA 3.0 (decisão 45-e): linha do tempo primeiro, resumo clínico em faixa, pendências em setor próprio ===== */
  .sheet.f3{max-width:1040px;display:flex;flex-direction:column;overflow:hidden}
  .f3panes{display:flex;gap:4px;margin-left:auto;margin-right:6px;flex-wrap:wrap;justify-content:flex-end}
  .f3pane{font-size:12.5px;font-weight:700;color:var(--muted);padding:7px 12px;border-radius:9px;white-space:nowrap}
  .f3pane:hover{background:var(--paper);color:var(--ink)}
  .f3pane.on{background:var(--sageSoft);color:var(--sageDeep)}
  .f3body{overflow-y:auto;flex:1;min-height:0;padding:18px 20px 18vh;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
  .f3main{min-width:0}
  .f3rail{display:none;flex-direction:column;gap:12px}
  @media(min-width:900px){
    .f3body{grid-template-columns:minmax(0,1fr) 312px;gap:26px;padding:22px 26px 18vh}
    .f3rail{display:flex;position:sticky;top:0}
    .f3pendmob{display:none}
  }
  .f3head .dname{font-family:var(--serif);font-size:30px;line-height:1.06}
  @media(max-width:640px){.f3head .dname{font-size:25px}}
  .f3head .alergchip{margin-top:10px}
  .f3acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .f3acts .actionbtn{width:auto;flex:1 1 auto;min-width:140px;border-radius:11px;white-space:nowrap}
  .f3acts .actionbtn.soft2{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer}
  .f3acts .actionbtn.soft2:hover{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
  /* faixa de resumo clínico */
  .rc{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
  .rc-lbl{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
  .rc-chips{display:flex;flex-wrap:wrap;gap:6px}
  .rcchip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:650;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}
  .rcchip:hover{border-color:#CBD8CC}
  .rcchip.dx{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep);font-weight:700}
  .rcchip.add{border-style:dashed;color:var(--muted);font-weight:700}
  .rcchip.on{outline:2px solid var(--sageDeep);outline-offset:1px}
  .rcchip .n{font-size:11px;font-weight:800;color:var(--muted)}
  .rcchip .vazio{color:var(--faint)}
  .rcchip .dl{font-size:11.5px;font-weight:800}
  .rcchip .dl.down{color:var(--green)}
  .rcchip .dl.up{color:var(--clay)}
  .rcpanel{margin-top:12px;background:#FCFBF7;border:1px solid var(--line);border-radius:12px;padding:2px 4px 8px}
  .rcpanel .section{padding:8px 12px 10px}
  .rcpanel .sectitle{margin-top:6px}
  .f3peso{font-size:14px;line-height:1.7}
  /* setor de pendências e "próximo" */
  .f3card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
  .f3card.pend{background:#FDF8EC;border-color:#E8D9B4}
  .f3card.next{background:var(--sageSoft);border-color:#CBD8CC}
  .f3rl{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:8px}
  .f3card.pend .f3rl{color:#9A5A22}
  .f3card.next .f3rl{color:var(--sageDeep)}
  .f3rl .n{margin-left:auto;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:10.5px;letter-spacing:0;text-transform:none;font-weight:700;color:var(--muted)}
  .f3card.pend .f3rl .n{background:#fff;border-color:#E8D9B4;color:#9A5A22}
  .f3big{font-family:var(--serif);font-size:19px;color:var(--sageDeep);line-height:1.2}
  .f3sub{font-size:12.5px;color:#5c7360;margin-top:4px}
  .f3pit{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed #E8D9B4}
  .f3pit:last-of-type{border-bottom:none}
  .f3pit .bolinha{margin-top:1px;flex:0 0 auto}
  .f3pt{font-size:13.5px;font-weight:650;line-height:1.35;cursor:pointer}
  .f3pm{font-size:11.5px;color:#8a7440;margin-top:3px}
  .f3pm .late{color:var(--red);font-weight:800}
  .f3pvazio{font-size:13px;color:var(--muted);line-height:1.5}
  .f3add{width:100%;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--muted);border:1px dashed var(--line);border-radius:9px;padding:8px;background:none}
  .f3add:hover{background:var(--paper);color:var(--ink)}
  .f3card.pend .f3add{border-color:#E8D9B4;color:#9A5A22}
  .f3card.pend .f3add:hover{background:#FBF1DC}
  /* seções do corpo */
  .f3sec{display:flex;align-items:baseline;gap:10px;margin:22px 0 2px}
  .f3sec .sectitle{margin:0}
  .f3note{font-size:12px;color:var(--faint)}
  .f3admin{display:flex;gap:8px;flex-wrap:wrap;padding:18px 20px 0;border-top:1px solid var(--line);margin-top:18px}
  /* linha do tempo: expansão animada, sem redesenho (fim do solavanco) */
  .tlc-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}
  .tlc.open .tlc-wrap{grid-template-rows:1fr}
  .tlc-fullin{overflow:hidden;min-height:0}
  .tlc:not(.open) .tlc-cond{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ===== 2026-09-14 · Rodapé de conta na barra lateral (decisão 49) =====
   O Sair saiu de dentro dos Ajustes e virou par do Ajustes no rodapé da barra, sob a identidade
   de quem está logado — no computador compartilhado, o canto diz de quem é a sessão.
   A barra lateral só existe ≥900px e é sempre a casca escura; por isso as cores vivem aqui mesmo. */
@media(min-width:900px){
  .sacct{margin-top:auto;padding-top:11px;border-top:1px solid #ffffff14}
  .sacctid{display:flex;align-items:center;gap:9px;padding:3px 10px 10px;min-width:0}
  .sinit{flex:0 0 auto;width:27px;height:27px;border-radius:9px;background:#93AE96;color:#211F1B;font-size:11px;font-weight:800;letter-spacing:.03em;display:flex;align-items:center;justify-content:center}
  .sacctxt{min-width:0;line-height:1.28}
  .sacctxt b{display:block;font-size:12.5px;font-weight:600;color:#E9E5DA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sacctxt i{display:block;font-style:normal;font-size:11px;color:#8E887C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sacctrow{display:flex;gap:5px}
  .sacctb{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 6px;border-radius:9px;background:#ffffff08;color:#9A9488;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}
  .sacctb svg{width:15px;height:15px;flex:0 0 auto}
  .sacctb:hover{background:#ffffff14;color:#E9E5DA}
  .sacctb.out:hover{background:#4A2E28;color:#F2C9BE}
}
/* Sair dos Ajustes → Conta (única via no celular): ação com ícone, não mais um botão de texto no meio da lista */
.logoutbtn{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-weight:700}
.logoutbtn svg{width:15px;height:15px}
.logoutbtn:hover{background:#F3E3DE;border-color:#E0BDB3;color:#8A3A2A}

/* ===== Auditoria de fidelidade (2026-09-16): cabeçalho único do paciente nas telas cheias + nó "agendada" da linha do tempo ===== */
.atdhead>.f3head{min-width:0;flex:1 1 auto}
.f3head .dname .chip-tl{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;vertical-align:middle;margin-left:10px;position:relative;top:-3px}
.f3head .cvdate{margin-top:6px}
.phrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.phrow .pvmot2,.phrow .alergchip,.f3head .phrow .alergchip{margin-top:0}
.cvreg{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:12.5px;color:var(--muted)}
.f3head .atddx{margin-top:8px}
.hbtn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:7px 12px;white-space:nowrap}
.hbtn svg{width:15px;height:15px;flex:0 0 auto}
.cvacts .btn,.cvchip{display:inline-flex;align-items:center;gap:7px}
.cvacts svg{width:15px;height:15px;flex:0 0 auto}
.f3back{display:inline-flex;align-items:center;gap:2px;color:#8C867A;font-size:13px;font-weight:600;padding:6px 8px 6px 2px;margin-left:-4px;border-radius:9px}
.f3back:hover{color:var(--ink);background:var(--paper)}
.f3back svg{width:18px;height:18px}
@media(max-width:640px){.f3back span{display:none}}
.f3acts .actionbtn{min-width:0;padding-left:12px;padding-right:12px}
@media(max-width:640px){.f3acts .actionbtn{flex:1 1 calc(50% - 4px)}}
@media(max-width:640px){.atdhead>.f3head{flex:1 1 100%}.atdhead>.f3head+div{flex:1 1 100%!important;align-items:flex-start!important;min-width:0}.atdhead>.f3head+div>div{flex-wrap:wrap}.atdhead .atdsave{white-space:normal;max-width:100%}}
.tl-no.fut{background:var(--paper);box-shadow:0 0 0 1.5px var(--sage)}
.tlc.fut{border-style:dashed;border-color:#CBD8CC;background:#FBFDFA;box-shadow:none}
.tlc.fut:hover{border-color:#CBD8CC;box-shadow:none}
.tlc-head.fut,.tlc-cond.fut{cursor:default}
.chip-tl.fut{background:none;border:1px dashed #CBD8CC;color:var(--sage)}
.tlc-futacts{display:flex;flex-wrap:wrap;gap:7px;padding:9px 14px 14px}
.tlc-futacts button{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}
.tlc-futacts button:hover{background:var(--sageSoft);border-color:#CBD8CC;color:var(--sageDeep)}
.tlc-futacts svg{width:14px;height:14px;flex:0 0 auto}

/* ===== Atendimento 3.0 — abas + Laboratório "Agora" (decisão 58, sub-bloco 1 — 26/10) ===== */
.atdtabs{display:flex;gap:4px;background:#ECE8DF;border-radius:13px;padding:4px;margin-bottom:10px}
.atdtabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 10px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--muted);min-width:0;white-space:nowrap}
.atdtabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(35,33,28,.10)}
.atdtabs .d{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
.atdtabs .k{font-size:11px;font-weight:600;color:#9A948A;overflow:hidden;text-overflow:ellipsis}
.atdcolB .atdcard.labcard{border-left-color:var(--sage)}
.atdcolB .atdcard.cplcard{border-left-color:var(--clay)}
.labhead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.labtit{font-size:15px;font-weight:700}
.labaddwrap{position:relative;flex:0 0 auto}
.labaddb{font-size:12.5px;padding:7px 11px;white-space:nowrap}
.labmenu{position:absolute;right:0;top:36px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(35,33,28,.14);padding:6px;z-index:20;min-width:260px}
.labmenu button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:9px 12px;border-radius:9px;font-size:13px;color:var(--ink)}
.labmenu button:hover{background:var(--paper)}
.labmenu button span{font-size:11.5px;color:var(--muted);font-weight:500}
.labgrp{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:8px}
.labgt{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px;text-align:left}
.labgtb{width:100%;padding:2px 0}
.labgtb .exn{letter-spacing:0;text-transform:none}
.agr{display:grid;grid-template-columns:minmax(0,1fr) 70px 86px 150px 72px;gap:8px;align-items:center;width:100%;text-align:left;padding:7px 6px;border-radius:9px;border-top:1px solid #F0ECE3;color:var(--ink)}
.agr:hover{background:var(--paper)}
.agr.on{background:var(--sageSoft)}
.agr .n{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agr .labsp{display:inline-block;width:70px;height:20px;flex:0 0 auto}
.agr .v{font-family:var(--serif);font-size:18px;text-align:right;white-space:nowrap}
.agr .v.off{color:#6B561F;background:var(--ochreSoft);border-radius:6px;padding:0 4px}
.agr .dl{font-size:11px;color:#6F6A5F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agr .dl .dn{color:var(--green,#3C7A4E)}.agr .dl .up{color:#8E5230}.agr .dl .eq{color:#9A948A}
.agr .dt2{font-size:11px;color:#9A948A;text-align:right;white-space:nowrap}
.agr .dt2 em{display:block;font-style:normal;color:var(--ochre)}
.labpan{background:#FBFAF7;border:1px solid var(--line);border-radius:10px;padding:8px 10px 6px;margin:2px 0 8px}
.labpanh{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:4px}
.labpanh small{font-weight:600;color:var(--muted);font-size:11.5px}
.labseg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}
.labseg button{border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;color:var(--muted)}
.labseg button.on{background:var(--sageSoft);color:var(--sageDeep)}
.labsvg{display:block;width:100%;height:auto}
.labpts{margin-top:6px;border-top:1px solid var(--line);padding-top:4px}
.labpt{display:grid;grid-template-columns:84px minmax(0,1fr) auto 28px;gap:8px;align-items:center;font-size:12.5px;padding:3px 0}
.labpt b{font-weight:700}.labpt b small{font-weight:600;color:var(--muted)}
.labpt .ref{color:#9A948A;font-size:11px;white-space:nowrap}
.labpt.off b{color:#6B561F}
.labpt button{color:var(--faint);font-weight:800;font-size:15px;padding:0 6px;border-radius:7px;justify-self:end}
.labpt button:hover{color:var(--red);background:var(--redSoft,#F6E4DF)}
.lableg{margin-top:10px}
.labempty{text-align:center;padding:26px 20px}
.labemptyt{font-family:var(--serif);font-size:20px;color:var(--ink)}
.labbig{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.labbigb{flex:0 1 300px;display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);font-size:12.5px;line-height:1.35}
.labbigb:hover{background:var(--sageSoft);border-color:#CBD8CC}
.labbigb .ico{font-size:22px;flex:0 0 auto;color:var(--sageDeep)}
.labbigb b{display:block;font-size:13.5px}
.cpltxt{font-family:var(--serif);font-size:14.5px;line-height:1.6;color:var(--ink);margin-top:6px}
@media(max-width:640px){
  .atdtabs button{font-size:12.5px;padding:9px 6px;gap:5px}
  .atdtabs .k{display:none}
  .agr{grid-template-columns:minmax(0,1fr) 70px auto;grid-template-areas:"n sp v" "dl dl dt";row-gap:2px}
  .agr .n{grid-area:n}.agr .labsp{grid-area:sp}.agr .v{grid-area:v}.agr .dl{grid-area:dl}.agr .dt2{grid-area:dt}
  .agr .dt2 em{display:inline;margin-left:4px}
  .labpt{grid-template-columns:76px minmax(0,1fr) 28px}.labpt .ref{display:none}
}

.f3body .labcard{border-left:3px solid var(--sage);margin-bottom:12px}
.f3body .exsec .exhead{font-size:12px}
