/* Izzy Doctor — Workspace CRM (protótipo estático). Reconstrução própria inspirada na estrutura/UX/paleta clínica. Fonte Geist. */

/* ============ TOKENS ============ */
:root{
  /* superfícies */
  --bg:#eef1ec; --bg2:#e7ebe4; --sheet:#ffffff; --sheet2:#f7f9f5;
  --ink:#141712; --ink2:#2b2f28; --label:#5c6356; --faint:#848c7e; --ghost:#a6ad9e;
  --hair:#e4e8df; --hair2:#eef1eb; --line:#d6dcd0;
  /* marca clínica (teal/esmeralda) */
  --teal:#0e7c62; --teal-ink:#0a5f4b; --teal-deep:#084a3b; --teal-soft:#e7f3ee; --teal-line:#c9e4d9; --teal-fg:#ffffff;
  /* sidebar verde-escuro */
  --side:#0e1a15; --side2:#0b1511; --side-fg:#d2e2da; --side-muted:#7e988e; --side-active:#163a2f; --side-hair:#1c2c25; --side-brand:#eafff7;
  /* acentos de estado */
  --amber:#8a5a12; --amber-soft:#f6edd6; --amber-line:#e6d3a2; --amber-fg:#8a5a12;
  --blue:#2d5d85; --blue-soft:#e7f0f7; --blue-line:#c6dcee;
  --red:#9c2c20; --red-soft:#f8e8e6; --red-line:#eecac4;
  --violet:#6a4593; --violet-soft:#efe9f6; --violet-line:#d9cceb;
  --rose:#9b2b57; --rose-soft:#f8e7ee;
  --ok:#0e7c62; --ok-soft:#e7f3ee;
  /* sombras com offset + blur */
  --sh1:0 1px 2px rgba(24,30,20,.05), 0 1px 1px rgba(24,30,20,.04);
  --sh2:0 1px 2px rgba(24,30,20,.05), 0 10px 24px -16px rgba(24,30,20,.28);
  --sh3:0 2px 4px rgba(24,30,20,.06), 0 24px 48px -28px rgba(24,30,20,.4);
  --focus:0 0 0 2px var(--sheet), 0 0 0 4px var(--teal);
  /* tipografia */
  --ui:"Geist","Geist Fallback",system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono","Geist Mono Fallback",ui-monospace,SFMono-Regular,monospace;
  --r1:8px; --r2:11px; --r3:14px; --r4:18px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0a0f0c; --bg2:#0d1410; --sheet:#121a15; --sheet2:#0f1612;
  --ink:#e9efe9; --ink2:#cdd8cf; --label:#95a79b; --faint:#798b80; --ghost:#5f7067;
  --hair:#1f2b24; --hair2:#18231d; --line:#2a3830;
  --teal:#2fb897; --teal-ink:#49cbac; --teal-deep:#bfeede; --teal-soft:#122520; --teal-line:#204136; --teal-fg:#04211a;
  --side:#070d0a; --side2:#050a08; --side-fg:#bdd1c8; --side-muted:#6b847b; --side-active:#153328; --side-hair:#17241e; --side-brand:#eafff7;
  --amber:#d8ab52; --amber-soft:#2a2414; --amber-line:#49401f; --amber-fg:#e5bd6a;
  --blue:#7cb0da; --blue-soft:#13212e; --blue-line:#254055;
  --red:#e2897c; --red-soft:#2a1511; --red-line:#4a271f;
  --violet:#b298d8; --violet-soft:#1e1830; --violet-line:#352a4d;
  --rose:#df8aaa; --rose-soft:#2b1620;
  --ok:#2fb897; --ok-soft:#122520;
  --sh1:0 1px 2px rgba(0,0,0,.35), 0 1px 1px rgba(0,0,0,.3);
  --sh2:0 1px 2px rgba(0,0,0,.4), 0 12px 28px -18px rgba(0,0,0,.7);
  --sh3:0 2px 6px rgba(0,0,0,.5), 0 28px 56px -30px rgba(0,0,0,.85);
  --focus:0 0 0 2px var(--sheet), 0 0 0 4px var(--teal);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0a0f0c; --bg2:#0d1410; --sheet:#121a15; --sheet2:#0f1612;
  --ink:#e9efe9; --ink2:#cdd8cf; --label:#95a79b; --faint:#798b80; --ghost:#5f7067;
  --hair:#1f2b24; --hair2:#18231d; --line:#2a3830;
  --teal:#2fb897; --teal-ink:#49cbac; --teal-deep:#bfeede; --teal-soft:#122520; --teal-line:#204136; --teal-fg:#04211a;
  --side:#070d0a; --side2:#050a08; --side-fg:#bdd1c8; --side-muted:#6b847b; --side-active:#153328; --side-hair:#17241e; --side-brand:#eafff7;
  --amber:#d8ab52; --amber-soft:#2a2414; --amber-line:#49401f; --amber-fg:#e5bd6a;
  --blue:#7cb0da; --blue-soft:#13212e; --blue-line:#254055;
  --red:#e2897c; --red-soft:#2a1511; --red-line:#4a271f;
  --violet:#b298d8; --violet-soft:#1e1830; --violet-line:#352a4d;
  --rose:#df8aaa; --rose-soft:#2b1620;
  --ok:#2fb897; --ok-soft:#122520;
  --sh1:0 1px 2px rgba(0,0,0,.35), 0 1px 1px rgba(0,0,0,.3);
  --sh2:0 1px 2px rgba(0,0,0,.4), 0 12px 28px -18px rgba(0,0,0,.7);
  --sh3:0 2px 6px rgba(0,0,0,.5), 0 28px 56px -30px rgba(0,0,0,.85);
  --focus:0 0 0 2px var(--sheet), 0 0 0 4px var(--teal);
  color-scheme:dark;
}

/* ============ BASE ============ */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.018em}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font-family:inherit;font-size:inherit;color:inherit}
.tnum{font-variant-numeric:tabular-nums}
/* tamanho padrão dos ícones inline (baixa especificidade: regras de contexto vencem) */
.ico{width:18px;height:18px;flex:none}
.card__h>.ico{color:var(--teal-ink)}
::selection{background:var(--teal-soft);color:var(--teal-ink)}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:7px}
/* scrollbar */
*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:3px solid var(--bg)}
*::-webkit-scrollbar-thumb:hover{background:var(--faint)}
.sheet-scroll::-webkit-scrollbar-thumb{border-color:var(--sheet)}

/* ============ LAYOUT SHELL ============ */
.app{display:grid;grid-template-columns:238px 1fr;min-height:100vh}

/* --- sidebar --- */
.side{grid-column:1;background:linear-gradient(180deg,var(--side) 0%,var(--side2) 100%);color:var(--side-fg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--side-hair)}
.side__brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px}
.mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(145deg,var(--teal),var(--teal-ink));display:grid;place-items:center;flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.mark svg{width:19px;height:19px;color:#fff}
.side__brand .bn{min-width:0}
.side__brand .bn b{display:block;font-weight:600;color:var(--side-brand);letter-spacing:-.01em;font-size:.95rem}
.side__brand .bn span{display:block;font-size:.7rem;color:var(--side-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side__grp{padding:14px 18px 6px;font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--side-muted)}
.side nav{display:flex;flex-direction:column;gap:2px;padding:0 10px}
.navlink{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;color:var(--side-fg);font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid transparent;position:relative}
.navlink svg{width:18px;height:18px;flex:none;opacity:.82}
.navlink:hover{background:rgba(255,255,255,.055)}
.navlink.on{background:var(--side-active);color:var(--side-brand);border-color:rgba(255,255,255,.06)}
.navlink.on svg{opacity:1;color:var(--teal-ink)}
.navlink .badge{margin-left:auto;font-size:.68rem;font-weight:600;background:var(--teal);color:#042;border-radius:99px;padding:1px 7px;min-width:20px;text-align:center}
.navlink.on .badge{background:var(--teal-ink)}
.side__foot{margin-top:auto;padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px}
.wa-chip{display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--side-hair);border-radius:11px;padding:9px 11px}
.wa-chip .dot{width:8px;height:8px;border-radius:99px;background:#35d39a;box-shadow:0 0 0 3px rgba(53,211,154,.18);flex:none}
.wa-chip .tx{min-width:0;font-size:.72rem;color:var(--side-muted)}
.wa-chip .tx b{display:block;color:#bfe9dc;font-weight:600;font-size:.76rem}
.me{display:flex;gap:10px;align-items:center;padding:4px 4px 0}
.me .av{width:30px;height:30px;border-radius:9px;background:#214338;color:#cfeee2;display:grid;place-items:center;font-size:.74rem;font-weight:600;flex:none}
.me .nm{min-width:0;font-size:.82rem;color:#dbeee7;font-weight:600}
.me .nm span{display:block;font-weight:400;color:var(--side-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me .cog{margin-left:auto;color:var(--side-muted);background:none;border:none;cursor:pointer;padding:4px;border-radius:7px}
.me .cog:hover{color:var(--side-fg);background:rgba(255,255,255,.05)}

/* --- main --- */
.main{grid-column:2;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 20px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--hair)}
.search{flex:1;min-width:0;max-width:440px;display:flex;align-items:center;gap:9px;background:var(--sheet);border:1px solid var(--hair);border-radius:10px;padding:0 10px 0 12px;height:38px;color:var(--faint);cursor:text;box-shadow:var(--sh1)}
.search svg{width:16px;height:16px;flex:none}
.search span{flex:1;text-align:left;font-size:.86rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kbd{font-family:var(--mono);font-size:.68rem;background:var(--hair2);border:1px solid var(--hair);border-radius:5px;padding:2px 6px;color:var(--faint);line-height:1}
.topbar .grow{flex:1}
.clock{font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--label);font-weight:500;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.clock small{color:var(--faint);font-size:.68rem;font-weight:400}
.iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--hair);background:var(--sheet);display:grid;place-items:center;color:var(--ink2);cursor:pointer;box-shadow:var(--sh1);position:relative}
.iconbtn svg{width:18px;height:18px}
.iconbtn:hover{background:var(--sheet2);border-color:var(--line)}
.iconbtn .ndot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:99px;background:var(--red);border:1.5px solid var(--sheet)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:0 14px;height:38px;font-weight:600;font-size:.86rem;cursor:pointer;border:1px solid var(--hair);background:var(--sheet);color:var(--ink2);box-shadow:var(--sh1);white-space:nowrap}
.btn svg{width:16px;height:16px}
.btn:hover{background:var(--sheet2);border-color:var(--line)}
.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--teal-fg);box-shadow:var(--sh2)}
.btn.primary:hover{background:var(--teal-ink);border-color:var(--teal-ink)}
.btn.sm{height:32px;padding:0 11px;font-size:.8rem;border-radius:9px}
.btn.ghost{background:transparent;box-shadow:none;border-color:transparent}
.btn.ghost:hover{background:var(--hair2)}
.btn:disabled{opacity:.5;cursor:not-allowed}

.content{padding:22px 20px 92px;width:100%;max-width:1360px;margin:0 auto;flex:1;min-width:0}
@media(min-width:1600px){.content{max-width:1480px}}

/* page head */
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.phead h1{font-size:1.62rem;letter-spacing:-.025em}
.phead .sub{color:var(--faint);font-size:.86rem;margin-top:3px}
.phead .acts{display:flex;gap:8px;align-items:center}

/* ============ PRIMITIVES ============ */
/* evita que SVGs com viewBox (min-content largo) estiquem tracks de grid/flex */
.main,.content,.card,.card__b{min-width:0}
.cols>*,.rgrid>*,.grid-kpi>*,.cgrid>*{min-width:0}
.chart-svg{min-width:0}
.card{background:var(--sheet);border:1px solid var(--hair);border-radius:var(--r3);box-shadow:var(--sh2)}
.card__h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--hair2)}
.card__h h3{font-size:.95rem}
.card__h .meta{margin-left:auto;color:var(--faint);font-size:.78rem;display:flex;gap:8px;align-items:center}
.card__b{padding:16px}
.seg{display:inline-flex;background:var(--hair2);border:1px solid var(--hair);border-radius:9px;padding:2px;gap:2px}
.seg button{border:none;background:transparent;border-radius:7px;padding:5px 11px;font-size:.8rem;font-weight:500;color:var(--label);cursor:pointer;white-space:nowrap}
.seg button[aria-pressed="true"]{background:var(--sheet);color:var(--ink);box-shadow:var(--sh1)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid transparent;white-space:nowrap;line-height:1.5}
.pill .pd{width:6px;height:6px;border-radius:99px;background:currentColor;flex:none}
.pill.teal{background:var(--teal-soft);color:var(--teal-ink);border-color:var(--teal-line)}
.pill.amber{background:var(--amber-soft);color:var(--amber-fg);border-color:var(--amber-line)}
.pill.blue{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-line)}
.pill.red{background:var(--red-soft);color:var(--red);border-color:var(--red-line)}
.pill.violet{background:var(--violet-soft);color:var(--violet);border-color:var(--violet-line)}
.pill.rose{background:var(--rose-soft);color:var(--rose)}
.pill.gray{background:var(--hair2);color:var(--label);border-color:var(--hair)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;padding:5px 11px;border-radius:99px;border:1px solid var(--hair);background:var(--sheet);color:var(--label);cursor:pointer}
.chip:hover{border-color:var(--line);color:var(--ink2)}
.chip[aria-pressed="true"]{background:var(--teal-soft);border-color:var(--teal-line);color:var(--teal-ink)}
.chip .n{font-variant-numeric:tabular-nums;opacity:.7;font-size:.72rem}

.avatar{border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff;flex:none;line-height:1;background:var(--teal)}
.avatar.sq{border-radius:9px}

/* inputs */
.input,.sel,textarea.input{width:100%;background:var(--sheet);border:1px solid var(--hair);border-radius:9px;padding:9px 11px;color:var(--ink);font-size:.88rem;font-family:inherit}
.input::placeholder{color:var(--ghost)}
.input:focus,.sel:focus,textarea.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}
label.fld{display:block;margin-bottom:12px}
label.fld .lb{display:block;font-size:.76rem;font-weight:600;color:var(--label);margin-bottom:5px}
.toggle{width:40px;height:23px;border-radius:99px;background:var(--line);border:none;position:relative;cursor:pointer;flex:none;transition:background .18s}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:99px;background:#fff;box-shadow:var(--sh1);transition:left .18s}
.toggle[aria-checked="true"]{background:var(--teal)}
.toggle[aria-checked="true"]::after{left:19px}

/* table */
.tbl{width:100%;border-collapse:collapse;font-size:.85rem}
.tbl th{text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--faint);text-transform:uppercase;padding:9px 14px;border-bottom:1px solid var(--hair);position:sticky;top:0;background:var(--sheet);white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--hair2);vertical-align:middle}
.tbl tbody tr{cursor:pointer}
.tbl tbody tr:hover{background:var(--sheet2)}
.tbl tbody tr:last-child td{border-bottom:none}
.tbl .chk{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}

/* empty state */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;color:var(--faint);gap:10px}
.empty .ic{width:52px;height:52px;border-radius:14px;background:var(--teal-soft);color:var(--teal-ink);display:grid;place-items:center;margin-bottom:4px}
.empty .ic svg{width:26px;height:26px}
.empty h3{color:var(--ink2);font-size:1rem}
.empty p{max-width:40ch;font-size:.86rem}

.proto-seal{position:fixed;right:16px;bottom:14px;z-index:5;font-size:.66rem;color:var(--faint);background:color-mix(in srgb,var(--sheet) 88%,transparent);border:1px solid var(--hair);border-radius:99px;padding:4px 10px;display:flex;gap:6px;align-items:center;pointer-events:none;backdrop-filter:blur(4px)}
.proto-seal .pd{width:6px;height:6px;border-radius:99px;background:var(--amber)}

/* ============ TODAY ============ */
.grid-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpi{background:var(--sheet);border:1px solid var(--hair);border-radius:var(--r3);padding:14px 15px;box-shadow:var(--sh2);display:flex;flex-direction:column;gap:8px}
.kpi .top{display:flex;align-items:center;gap:8px}
.kpi .ic{width:28px;height:28px;border-radius:9px;background:var(--teal-soft);color:var(--teal-ink);display:grid;place-items:center}
.kpi .ic svg{width:16px;height:16px}
.kpi .lbl{font-size:.78rem;color:var(--label);font-weight:500}
.kpi .val{font-size:1.7rem;font-weight:600;letter-spacing:-.03em;line-height:1}
.kpi .foot{font-size:.74rem;color:var(--faint);display:flex;align-items:center;gap:5px}
.trend{display:inline-flex;align-items:center;gap:2px;font-weight:600}
.trend.up{color:var(--teal-ink)} .trend.down{color:var(--red)}
.trend svg{width:12px;height:12px}

.cols{display:grid;gap:14px}
.cols-2{grid-template-columns:1fr 1fr}
.cols-3-1{grid-template-columns:2.1fr 1fr}
.cols-1-2{grid-template-columns:1fr 2fr}

/* kanban */
.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kcol{background:var(--sheet2);border:1px solid var(--hair);border-radius:var(--r3);display:flex;flex-direction:column;min-height:220px}
.kcol__h{display:flex;align-items:center;gap:7px;padding:11px 13px;border-bottom:1px solid var(--hair2)}
.kcol__h .ttl{font-size:.82rem;font-weight:600}
.kcol__h .cnt{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--faint);background:var(--hair2);border:1px solid var(--hair);border-radius:99px;padding:0 7px;margin-left:auto}
.kcol__h .st{width:8px;height:8px;border-radius:3px;flex:none}
.kcol__b{padding:9px;display:flex;flex-direction:column;gap:8px;flex:1}
.kcard{background:var(--sheet);border:1px solid var(--hair);border-radius:11px;padding:10px 11px;box-shadow:var(--sh1);cursor:default;animation:drop .32s cubic-bezier(.16,1,.3,1)}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.kcard .r1{display:flex;align-items:center;gap:8px}
.kcard .nm{font-weight:600;font-size:.84rem}
.kcard .t{margin-left:auto;font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}
.kcard .meta{font-size:.74rem;color:var(--faint);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kcard .act{margin-top:9px;width:100%;height:30px;border-radius:8px;border:1px solid var(--teal-line);background:var(--teal-soft);color:var(--teal-ink);font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}
.kcard .act:hover{background:var(--teal);color:var(--teal-fg);border-color:var(--teal)}
.kcard .act svg{width:14px;height:14px}
.kcard.done{opacity:.72}
.kcard .doneTag{margin-top:8px;font-size:.74rem;color:var(--teal-ink);display:flex;align-items:center;gap:5px;font-weight:600}
.kcard .doneTag svg{width:14px;height:14px}

/* clinician timeline */
.tl{position:relative;overflow-x:auto}
.tl__grid{position:relative;min-width:620px}
.tl__hours{display:flex;border-bottom:1px solid var(--hair2);margin-left:118px}
.tl__hours span{flex:1;font-size:.68rem;color:var(--faint);padding:2px 0 6px;font-variant-numeric:tabular-nums}
.tl__row{display:flex;align-items:stretch;border-bottom:1px solid var(--hair2);min-height:44px}
.tl__row:last-child{border-bottom:none}
.tl__who{width:118px;flex:none;display:flex;align-items:center;gap:8px;padding:6px 10px 6px 2px;font-size:.8rem;font-weight:500}
.tl__track{position:relative;flex:1}
.tl__blk{position:absolute;top:6px;bottom:6px;border-radius:7px;font-size:.7rem;font-weight:600;padding:4px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;border:1px solid}
.now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--red);z-index:3}
.now-line::before{content:"";position:absolute;top:-4px;left:-3px;width:8px;height:8px;border-radius:99px;background:var(--red)}
.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.74rem;color:var(--label)}
.legend .li{display:flex;align-items:center;gap:6px}
.legend .sw{width:11px;height:11px;border-radius:4px;border:1px solid}

/* visit type colors */
.vt-consulta{background:var(--teal-soft);border-color:var(--teal-line);color:var(--teal-ink)}
.vt-retorno{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue)}
.vt-exame{background:var(--violet-soft);border-color:var(--violet-line);color:var(--violet)}
.vt-encaixe{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber-fg)}
.vt-almoco{background:repeating-linear-gradient(45deg,var(--hair2),var(--hair2) 6px,var(--hair) 6px,var(--hair) 12px);border-color:var(--hair);color:var(--faint)}

/* horizontal bar rows */
.barrow{display:flex;align-items:center;gap:10px;padding:7px 0}
.barrow .bl{width:118px;flex:none;font-size:.8rem;color:var(--label);display:flex;align-items:center;gap:7px}
.barrow .track{flex:1;height:9px;border-radius:99px;background:var(--hair2);overflow:hidden}
.barrow .fill{height:100%;border-radius:99px;background:var(--teal)}
.barrow .vv{width:54px;flex:none;text-align:right;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink2);font-weight:600}

/* mini conversation list */
.convmini{display:flex;flex-direction:column}
.convmini .it{display:flex;gap:10px;padding:10px 4px;border-bottom:1px solid var(--hair2);cursor:pointer;border-radius:8px}
.convmini .it:hover{background:var(--sheet2)}
.convmini .it:last-child{border-bottom:none}
.convmini .bd{min-width:0;flex:1}
.convmini .r1{display:flex;align-items:center;gap:6px}
.convmini .nm{font-weight:600;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.convmini .t{margin-left:auto;font-size:.7rem;color:var(--faint);flex:none}
.convmini .pv{font-size:.8rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}

/* activity feed */
.feed{display:flex;flex-direction:column;gap:2px}
.feed .it{display:flex;gap:11px;padding:9px 2px}
.feed .dot{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--hair2);color:var(--label)}
.feed .dot svg{width:15px;height:15px}
.feed .bd{min-width:0;font-size:.84rem}
.feed .bd .t{font-size:.72rem;color:var(--faint);margin-top:1px}
.feed .bd b{font-weight:600}

/* ============ INBOX ============ */
.inbox{display:grid;grid-template-columns:320px 1fr 290px;gap:0;height:calc(100vh - 59px - 44px);border:1px solid var(--hair);border-radius:var(--r3);overflow:hidden;background:var(--sheet);box-shadow:var(--sh2)}
.ibx-list{border-right:1px solid var(--hair);display:flex;flex-direction:column;min-width:0}
.ibx-list__h{padding:12px 13px 10px;border-bottom:1px solid var(--hair2);display:flex;flex-direction:column;gap:9px}
.ibx-filters{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}
.ibx-filters button{flex:none;border:1px solid var(--hair);background:var(--sheet);border-radius:99px;padding:4px 10px;font-size:.76rem;font-weight:500;color:var(--label);cursor:pointer;display:flex;gap:5px;align-items:center}
.ibx-filters button[aria-pressed="true"]{background:var(--teal-soft);border-color:var(--teal-line);color:var(--teal-ink)}
.ibx-filters button .n{font-variant-numeric:tabular-nums;opacity:.7;font-size:.7rem}
.ibx-items{overflow-y:auto;flex:1}
.ibx-it{display:flex;gap:10px;padding:11px 13px;border-bottom:1px solid var(--hair2);cursor:pointer;position:relative}
.ibx-it:hover{background:var(--sheet2)}
.ibx-it.on{background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal-line)}
.ibx-it .bd{min-width:0;flex:1}
.ibx-it .r1{display:flex;align-items:center;gap:6px}
.ibx-it .nm{font-weight:600;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibx-it .nm.unread{font-weight:700}
.ibx-it .t{margin-left:auto;font-size:.68rem;color:var(--faint);flex:none}
.ibx-it .pv{font-size:.8rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.ibx-it .r2{display:flex;align-items:center;gap:6px;margin-top:6px}
.ibx-it .pin{color:var(--amber-fg)}
.ibx-it .pin svg{width:13px;height:13px}
.ubadge{font-size:.66rem;font-weight:700;background:var(--teal);color:var(--teal-fg);border-radius:99px;min-width:17px;height:17px;padding:0 5px;display:grid;place-items:center;flex:none}

.ibx-thread{display:flex;flex-direction:column;min-width:0;background:var(--sheet2)}
.ibx-thread__h{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid var(--hair2);background:var(--sheet)}
.ibx-thread__h .nm{font-weight:600}
.ibx-thread__h .sub{font-size:.74rem;color:var(--faint)}
.ibx-thread__h .acts{margin-left:auto;display:flex;gap:6px}
.msgs{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px}
.daysep{text-align:center;font-size:.7rem;color:var(--faint);margin:4px 0}
.daysep span{background:var(--hair2);border:1px solid var(--hair);padding:2px 10px;border-radius:99px}
.bub{max-width:74%;padding:9px 12px;border-radius:14px;font-size:.86rem;line-height:1.45;box-shadow:var(--sh1);position:relative}
.bub .mt{font-size:.64rem;margin-top:3px;opacity:.7;text-align:right;font-variant-numeric:tabular-nums}
.bub.them{align-self:flex-start;background:var(--sheet);border:1px solid var(--hair);border-bottom-left-radius:5px}
.bub.us{align-self:flex-end;background:var(--teal);color:var(--teal-fg);border-bottom-right-radius:5px}
.bub.us .mt{color:rgba(255,255,255,.8)}
.replybox{border-top:1px solid var(--hair2);background:var(--sheet);padding:11px 13px}
.replybox .tools{display:flex;gap:6px;margin-bottom:8px;align-items:center}
.replybox .tarea{display:flex;gap:9px;align-items:flex-end}
.replybox textarea{flex:1;resize:none;min-height:40px;max-height:120px;border:1px solid var(--hair);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:.86rem;background:var(--sheet);color:var(--ink)}
.replybox textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft);outline:none}
.tmpl-menu{position:absolute;bottom:60px;left:13px;right:13px;background:var(--sheet);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh3);overflow:hidden;z-index:12}
.tmpl-menu .th{padding:8px 12px;font-size:.72rem;color:var(--faint);border-bottom:1px solid var(--hair2);font-weight:600}
.tmpl-menu button{display:block;width:100%;text-align:left;padding:9px 12px;border:none;background:none;cursor:pointer;font-size:.84rem;border-bottom:1px solid var(--hair2)}
.tmpl-menu button:last-child{border-bottom:none}
.tmpl-menu button:hover,.tmpl-menu button.on{background:var(--teal-soft)}
.tmpl-menu button b{display:block;font-weight:600;font-size:.78rem}
.tmpl-menu button span{color:var(--faint);font-size:.76rem}

.ibx-aside{border-left:1px solid var(--hair);overflow-y:auto;background:var(--sheet)}
.ibx-aside__sec{padding:13px 14px;border-bottom:1px solid var(--hair2)}
.ibx-aside__sec h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);margin-bottom:10px}
.queue .q{display:flex;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair2)}
.queue .q:last-child{border:none}
.queue .q .bd{min-width:0;flex:1}
.queue .q .nm{font-size:.82rem;font-weight:600}
.queue .q .wt{font-size:.72rem;color:var(--faint)}
.queue .q .age{font-size:.74rem;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:7px}
.age.hot{background:var(--red-soft);color:var(--red)} .age.warm{background:var(--amber-soft);color:var(--amber-fg)} .age.cool{background:var(--teal-soft);color:var(--teal-ink)}
.compliance{font-size:.8rem;color:var(--label);display:flex;flex-direction:column;gap:9px}
.compliance .ci{display:flex;gap:8px}
.compliance .ci svg{width:16px;height:16px;flex:none;margin-top:1px}
.compliance .ci.ok svg{color:var(--teal-ink)} .compliance .ci.warn svg{color:var(--amber-fg)}

/* ---- Painel de contexto do lead (coluna direita c/ conversa aberta) ---- */
.ibx-aside.ctx{padding:15px 14px;display:flex;flex-direction:column;gap:14px}
.ctx-head{display:flex;align-items:center;gap:11px}
.ctx-head__bd{min-width:0}
.ctx-head__bd .nm{font-weight:600;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctx-head__bd .meta{font-size:.8rem;color:var(--faint);margin-top:2px}
.ctx-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}
.ctx-optin{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--label);background:var(--sheet2);border:1px solid var(--hair2);border-radius:10px;padding:8px 10px}
.ctx-optin svg{width:16px;height:16px;flex:none;color:var(--teal-ink)}
.ctx-optin b{color:var(--ink2);font-weight:600}
.ctx-lead-of{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--faint)}
.ctx-lead-of svg{width:14px;height:14px;flex:none}
.ctx-lead-of b{color:var(--ink2);font-weight:600}
.ctx-sec{display:flex;flex-direction:column;gap:9px}
.ctx-sec>h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--faint)}
.ctx-appt{border:1px solid var(--teal-line);background:var(--teal-soft);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:7px}
.ctx-appt__top{display:flex;align-items:center;gap:8px}
.ctx-appt__top svg{width:17px;height:17px;color:var(--teal-ink);flex:none}
.ctx-appt__top .when{font-weight:600;font-size:.9rem;color:var(--teal-ink)}
.ctx-appt__top .pill{margin-left:auto}
.ctx-appt__tipo{font-size:.86rem;font-weight:500;color:var(--ink2)}
.ctx-appt__meta{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--label)}
.ctx-appt__meta svg{width:14px;height:14px;flex:none;color:var(--teal-ink)}
.ctx-appt__meta .dotsep{color:var(--ghost)}
.ctx-empty{display:flex;gap:10px;align-items:flex-start;border:1px dashed var(--line);border-radius:12px;padding:11px 12px;color:var(--label)}
.ctx-empty svg{width:18px;height:18px;flex:none;color:var(--faint);margin-top:1px}
.ctx-empty b{color:var(--ink2);font-weight:600}
.ctx-empty .sub{font-size:.78rem;color:var(--faint);margin-top:2px}
.ctx-reminder{display:flex;gap:9px;align-items:flex-start;border-radius:10px;padding:9px 11px;font-size:.82rem;border:1px solid}
.ctx-reminder svg{width:16px;height:16px;flex:none;margin-top:1px}
.ctx-reminder.ok{background:var(--teal-soft);border-color:var(--teal-line)}
.ctx-reminder.ok svg{color:var(--teal-ink)}
.ctx-reminder.warn{background:var(--amber-soft);border-color:var(--amber-line)}
.ctx-reminder.warn svg{color:var(--amber-fg)}
.ctx-reminder .st{font-weight:600;color:var(--ink2)}
.ctx-reminder .rel{color:var(--faint);font-variant-numeric:tabular-nums}
.ctx-reminder .act{font-size:.78rem;color:var(--label);margin-top:1px}
.ctx-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ctx-actions .btn{height:34px;padding:0 10px;font-size:.78rem;justify-content:flex-start;gap:6px;overflow:hidden}
.ctx-actions .btn.span2{grid-column:1 / -1;justify-content:center}
.ctx-actions .btn svg{width:15px;height:15px;flex:none}
.ctx-actions .btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctx-visit{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.ctx-visit .f .k{font-size:.72rem;color:var(--faint)}
.ctx-visit .f .v{font-size:.86rem;font-weight:600;color:var(--ink2);margin-top:2px}
.btn.wide{width:100%;justify-content:center}
.btn.wide svg:last-child{width:15px;height:15px;opacity:.7}

/* ============ PATIENTS ============ */
.ptools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.psearch{flex:1;min-width:200px;max-width:360px;display:flex;align-items:center;gap:8px;background:var(--sheet);border:1px solid var(--hair);border-radius:10px;padding:0 12px;height:38px;box-shadow:var(--sh1)}
.psearch svg{width:16px;height:16px;color:var(--faint);flex:none}
.psearch input{border:none;background:none;flex:1;font-size:.88rem;color:var(--ink);outline:none}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}

/* drawer */
.drawer-scrim{position:fixed;inset:0;background:rgba(10,15,12,.4);backdrop-filter:blur(2px);z-index:60;opacity:0;animation:fade .2s forwards}
@keyframes fade{to{opacity:1}}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,94vw);background:var(--sheet);border-left:1px solid var(--line);box-shadow:var(--sh3);z-index:61;display:flex;flex-direction:column;transform:translateX(100%);animation:slidein .34s cubic-bezier(.16,1,.3,1) forwards}
@keyframes slidein{to{transform:none}}
.drawer__h{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--hair2)}
.drawer__b{overflow-y:auto;padding:16px;flex:1;display:flex;flex-direction:column;gap:18px}
.dsec h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);margin-bottom:9px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.dgrid .f .k{font-size:.72rem;color:var(--faint)}
.dgrid .f .v{font-size:.86rem;font-weight:500}
.vtl{display:flex;flex-direction:column;gap:0;position:relative}
.vtl .vi{display:flex;gap:11px;padding-bottom:14px;position:relative}
.vtl .vi::before{content:"";position:absolute;left:5px;top:16px;bottom:-2px;width:1.5px;background:var(--hair)}
.vtl .vi:last-child::before{display:none}
.vtl .vi .mk{width:11px;height:11px;border-radius:99px;background:var(--teal);border:2px solid var(--sheet);box-shadow:0 0 0 1px var(--teal-line);margin-top:3px;flex:none;z-index:1}
.vtl .vi .bd{min-width:0}
.vtl .vi .tt{font-size:.84rem;font-weight:600}
.vtl .vi .dd{font-size:.74rem;color:var(--faint)}

/* ============ SCHEDULE ============ */
.sched{border:1px solid var(--hair);border-radius:var(--r3);overflow:hidden;background:var(--sheet);box-shadow:var(--sh2)}
.sched__toolbar{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--hair2);flex-wrap:wrap}
.sched__toolbar .nav{display:flex;align-items:center;gap:2px}
.sched__grid{display:grid;overflow-x:auto}
.sched__head{display:grid;position:sticky;top:0;background:var(--sheet);z-index:4;border-bottom:1px solid var(--hair)}
.sched__head .corner{border-right:1px solid var(--hair2)}
.sched__head .ch{padding:10px 12px;border-right:1px solid var(--hair2);display:flex;align-items:center;gap:8px}
.sched__head .ch:last-child{border-right:none}
.sched__head .ch .nm{font-size:.84rem;font-weight:600}
.sched__head .ch .sp{font-size:.72rem;color:var(--faint)}
.sched__body{position:relative;display:grid}
.sched__hourcol{border-right:1px solid var(--hair2)}
.sched__hour{height:60px;border-bottom:1px solid var(--hair2);font-size:.7rem;color:var(--faint);padding:2px 8px;text-align:right;font-variant-numeric:tabular-nums}
.sched__col{position:relative;border-right:1px solid var(--hair2)}
.sched__col:last-child{border-right:none}
.sched__slot{height:60px;border-bottom:1px solid var(--hair2);cursor:pointer}
.sched__slot:hover{background:var(--teal-soft)}
.sblk{position:absolute;left:4px;right:4px;border-radius:8px;padding:6px 8px;font-size:.74rem;overflow:hidden;border:1px solid;box-shadow:var(--sh1);cursor:pointer}
.sblk .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sblk .ty{font-size:.68rem;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sblk.st-atendido{opacity:.62}
.sblk.st-nosala{box-shadow:0 0 0 2px var(--amber-line),var(--sh1)}
.sblk.st-consulta{box-shadow:0 0 0 2px var(--teal-line),var(--sh1)}
.sblk.st-noshow{background:var(--red-soft)!important;border-color:var(--red-line)!important;color:var(--red)!important;text-decoration:line-through}

/* ============ CAMPAIGNS ============ */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.ccard{background:var(--sheet);border:1px solid var(--hair);border-radius:var(--r3);box-shadow:var(--sh2);overflow:hidden;display:flex;flex-direction:column}
.ccard__h{padding:14px 15px 11px;display:flex;align-items:flex-start;gap:10px}
.ccard__h .bd{min-width:0;flex:1}
.ccard__h h3{font-size:.95rem}
.ccard__h .sub{font-size:.76rem;color:var(--faint);margin-top:2px}
.ccard__prev{margin:0 15px;background:var(--sheet2);border:1px solid var(--hair2);border-radius:11px;padding:11px 12px;font-size:.84rem;line-height:1.5;color:var(--ink2)}
.ccard__prev .vr{background:var(--teal-soft);color:var(--teal-ink);border:1px solid var(--teal-line);border-radius:5px;padding:0 4px;font-family:var(--mono);font-size:.78em;font-weight:600}
.ccard__meta{padding:12px 15px;display:flex;flex-wrap:wrap;gap:7px 14px;font-size:.78rem;color:var(--label)}
.ccard__meta .m{display:flex;align-items:center;gap:5px}
.ccard__meta .m svg{width:14px;height:14px;color:var(--faint)}
.funnel{padding:0 15px 15px;display:flex;flex-direction:column;gap:5px}
.funnel .fr{display:flex;align-items:center;gap:9px}
.funnel .fl{width:72px;flex:none;font-size:.74rem;color:var(--label)}
.funnel .track{flex:1;height:20px;border-radius:6px;background:var(--hair2);overflow:hidden;position:relative}
.funnel .fill{height:100%;background:var(--teal);opacity:.86;border-radius:6px}
.funnel .fv{width:66px;flex:none;text-align:right;font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:600}
.ccard__foot{margin-top:auto;padding:11px 15px;border-top:1px solid var(--hair2);display:flex;gap:8px;align-items:center}

/* ============ REPORTS ============ */
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.rgrid .span2{grid-column:span 2}
.chart-svg{width:100%;height:auto;display:block;overflow:visible}
.heat td{padding:0}
.heat .cell{width:100%;aspect-ratio:1.6;border-radius:4px}
.donut-legend{display:flex;flex-direction:column;gap:7px}
.donut-legend .dl{display:flex;align-items:center;gap:8px;font-size:.82rem}
.donut-legend .sw{width:11px;height:11px;border-radius:4px;flex:none}
.donut-legend .vv{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink2)}

/* ============ SETTINGS ============ */
.settings{display:grid;grid-template-columns:220px 1fr;gap:16px}
.set-menu{display:flex;flex-direction:column;gap:2px;position:sticky;top:76px;align-self:start}
.set-menu button{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--label);text-align:left;width:100%}
.set-menu button svg{width:17px;height:17px;opacity:.75}
.set-menu button:hover{background:var(--hair2);color:var(--ink2)}
.set-menu button[aria-current="true"]{background:var(--teal-soft);color:var(--teal-ink);border-color:var(--teal-line)}
.set-menu button[aria-current="true"] svg{opacity:1;color:var(--teal-ink)}
.savechip{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--teal-ink);font-weight:600}
.savechip svg{width:14px;height:14px}
.copyfield{display:flex;align-items:center;gap:8px;background:var(--sheet2);border:1px solid var(--hair);border-radius:9px;padding:7px 10px;font-family:var(--mono);font-size:.8rem;color:var(--ink2)}
.copyfield button{margin-left:auto;border:none;background:none;cursor:pointer;color:var(--faint);padding:3px;border-radius:6px}
.copyfield button:hover{color:var(--teal-ink);background:var(--teal-soft)}
.copyfield button svg{width:15px;height:15px}
.wa-preview{background:#075e54;border-radius:16px;padding:14px;color:#fff}
.wa-preview .card{background:#fff;border-radius:12px;padding:12px;color:#111;border:none;box-shadow:none}
.wa-preview .nm{font-weight:700;font-size:.95rem}
.wa-preview .cat{font-size:.76rem;color:#667;margin-bottom:8px}
.wa-preview .ab{font-size:.84rem;color:#333;line-height:1.4}
.wa-preview .ph{font-size:.8rem;color:#075e54;font-weight:600;margin-top:8px}

/* quality score ring etc kept minimal */
.kv{display:flex;flex-direction:column;gap:10px}
.kv .r{display:flex;align-items:center;gap:10px;font-size:.84rem}
.kv .r .k{color:var(--label);width:130px;flex:none}
.kv .r .v{font-weight:600}

/* ============ COMMAND PALETTE ============ */
dialog.cmdk{border:none;padding:0;background:transparent;max-width:600px;width:92vw;margin-top:10vh}
dialog.cmdk::backdrop{background:rgba(10,15,12,.5);backdrop-filter:blur(3px)}
.cmdk__box{background:var(--sheet);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh3);overflow:hidden}
.cmdk__in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hair2)}
.cmdk__in svg{width:19px;height:19px;color:var(--faint)}
.cmdk__in input{flex:1;border:none;background:none;outline:none;font-size:1rem;color:var(--ink);font-family:inherit}
.cmdk__list{max-height:52vh;overflow-y:auto;padding:6px}
.cmdk__grp{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 12px 4px}
.cmdk__it{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;cursor:pointer}
.cmdk__it .ic{width:30px;height:30px;border-radius:8px;background:var(--hair2);color:var(--label);display:grid;place-items:center;flex:none}
.cmdk__it .ic svg{width:16px;height:16px}
.cmdk__it .bd{min-width:0;flex:1}
.cmdk__it .nm{font-size:.9rem;font-weight:500}
.cmdk__it .ds{font-size:.76rem;color:var(--faint)}
.cmdk__it .go{font-size:.68rem;color:var(--faint);opacity:0}
.cmdk__it.sel{background:var(--teal-soft)}
.cmdk__it.sel .ic{background:var(--teal);color:var(--teal-fg)}
.cmdk__it.sel .go{opacity:1;color:var(--teal-ink)}
.cmdk__empty{padding:28px;text-align:center;color:var(--faint);font-size:.88rem}
.cmdk__foot{display:flex;gap:14px;padding:9px 14px;border-top:1px solid var(--hair2);font-size:.72rem;color:var(--faint)}
.cmdk__foot .k{display:inline-flex;gap:5px;align-items:center}

/* new-appt dialog */
dialog.modal{border:none;padding:0;background:transparent;max-width:440px;width:92vw}
dialog.modal::backdrop{background:rgba(10,15,12,.5);backdrop-filter:blur(3px)}
.modal__box{background:var(--sheet);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh3);overflow:hidden}
.modal__h{display:flex;align-items:center;padding:15px 17px;border-bottom:1px solid var(--hair2)}
.modal__h h3{font-size:1rem}
.modal__h button{margin-left:auto;border:none;background:none;cursor:pointer;color:var(--faint)}
.modal__b{padding:17px}
.modal__f{padding:13px 17px;border-top:1px solid var(--hair2);display:flex;gap:9px;justify-content:flex-end}

/* mobile bottom bar (hidden on desktop) */
.tabbar{display:none}

/* ============ RESPONSIVE ============ */
@media(max-width:1180px){
  .inbox{grid-template-columns:280px 1fr}
  .ibx-aside{display:none}
  .settings{grid-template-columns:180px 1fr}
}
@media(max-width:900px){
  .cols-2,.cols-3-1,.cols-1-2{grid-template-columns:1fr}
  .grid-kpi{grid-template-columns:repeat(2,1fr)}
  .kanban{grid-template-columns:1fr 1fr}
  .rgrid{grid-template-columns:1fr}
  .rgrid .span2{grid-column:auto}
}
@media(max-width:760px){
  .app{grid-template-columns:1fr}
  .side{display:none}
  .main{grid-column:1}
  .content{padding:16px 16px 92px}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:color-mix(in srgb,var(--sheet) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--hair);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;color:var(--faint);font-size:.62rem;font-weight:500;border-radius:9px;position:relative}
  .tabbar a svg{width:21px;height:21px}
  .tabbar a.on{color:var(--teal-ink)}
  .tabbar a .badge{position:absolute;top:0;right:22%;background:var(--red);color:#fff;font-size:.56rem;font-weight:700;border-radius:99px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;border:1.5px solid var(--sheet)}
  .topbar{padding:9px 14px}
  .search{max-width:none}
  .clock{display:none}
  .phead h1{font-size:1.4rem}
  .inbox{grid-template-columns:1fr;height:calc(100vh - 120px)}
  .inbox.showthread .ibx-list{display:none}
  .inbox:not(.showthread) .ibx-thread{display:none}
  .settings{grid-template-columns:1fr}
  .set-menu{position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .set-menu button{flex:none;white-space:nowrap}
  .proto-seal{left:50%;transform:translateX(-50%);bottom:70px}
}
@media(max-width:400px){
  .grid-kpi{grid-template-columns:1fr 1fr;gap:9px}
  .kanban{grid-template-columns:1fr}
  .kpi .val{font-size:1.45rem}
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
