html,body{margin:0}
/* Layout: barra de abas no topo; Agenda = linha do tempo da tarde; Lembretes e Pacientes = listas; Funil = colunas roláveis; Painel = resumo antes do detalhe. */
:root{
  --bg:#F2F6F5; --surface:#FFFFFF; --sunk:#E6EEEC; --ink:#13302D; --muted:#5A6F6B; --line:#D2DDDA;
  --accent:#0D6A64; --accent-ink:#FFFFFF; --accent-soft:#D5EBE8; --accent-tx:#0D6A64; --bar:#0D6A64; --bar-ink:#FFFFFF; --bar-soft:#E6F2F0;
  --warn:#A9501A; --warn-soft:#F7E5D7; --good:#2A774B; --good-soft:#DAEFE1; --bad:#9E3636; --bad-soft:#F4DCDC;
  --shadow:0 1px 2px rgba(19,48,45,.08),0 4px 14px rgba(19,48,45,.06);
  --f-display:"Familjen Grotesk",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  /* cores dos serviços: forte / suave */
  --sv-teal:#0D6A64; --sv-teal-s:#D5EBE8; --sv-cyan:#0F7C99; --sv-cyan-s:#D4ECF3; --sv-blue:#2F5DA8; --sv-blue-s:#DCE6F6;
  --sv-violet:#6B4BB0; --sv-violet-s:#E7E0F5; --sv-rose:#B03A6A; --sv-rose-s:#F6DDE7; --sv-coral:#B5502F; --sv-coral-s:#F7E0D7;
  --sv-amber:#A86A0E; --sv-amber-s:#F6E8CF; --sv-olive:#6B7420; --sv-olive-s:#ECEED5; --sv-green:#2E7D3E; --sv-green-s:#DCEFDD;
  --sv-slate:#50606A; --sv-slate-s:#E3E8EB;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0D1716; --surface:#142220; --sunk:#0A1211; --ink:#E2EEEB; --muted:#93A9A4; --line:#253835;
  --accent:#4DB6AC; --accent-ink:#04201D; --accent-soft:#163934; --accent-tx:#4DB6AC; --bar:#16302C; --bar-ink:#E2EEEB; --bar-soft:#112220;
  --warn:#E69B66; --warn-soft:#3A2717; --good:#6CC892; --good-soft:#163125; --bad:#E78787; --bad-soft:#3A1C1C;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.25); color-scheme:dark;
  --sv-teal:#4DB6AC; --sv-teal-s:#163934; --sv-cyan:#6CC6DE; --sv-cyan-s:#13323B; --sv-blue:#7FA6E8; --sv-blue-s:#1B2A44;
  --sv-violet:#B39BEA; --sv-violet-s:#2A2140; --sv-rose:#EA8DB2; --sv-rose-s:#3D1C2A; --sv-coral:#F09A7A; --sv-coral-s:#3C2219;
  --sv-amber:#E6B35C; --sv-amber-s:#3A2A12; --sv-olive:#C3CB6E; --sv-olive-s:#2C2F14; --sv-green:#7CCB8A; --sv-green-s:#18301D;
  --sv-slate:#A7B5BD; --sv-slate-s:#252E33 }}
:root[data-theme="dark"]{
  --bg:#0D1716; --surface:#142220; --sunk:#0A1211; --ink:#E2EEEB; --muted:#93A9A4; --line:#253835;
  --accent:#4DB6AC; --accent-ink:#04201D; --accent-soft:#163934; --accent-tx:#4DB6AC; --bar:#16302C; --bar-ink:#E2EEEB; --bar-soft:#112220;
  --warn:#E69B66; --warn-soft:#3A2717; --good:#6CC892; --good-soft:#163125; --bad:#E78787; --bad-soft:#3A1C1C;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.25); color-scheme:dark;
  --sv-teal:#4DB6AC; --sv-teal-s:#163934; --sv-cyan:#6CC6DE; --sv-cyan-s:#13323B; --sv-blue:#7FA6E8; --sv-blue-s:#1B2A44;
  --sv-violet:#B39BEA; --sv-violet-s:#2A2140; --sv-rose:#EA8DB2; --sv-rose-s:#3D1C2A; --sv-coral:#F09A7A; --sv-coral-s:#3C2219;
  --sv-amber:#E6B35C; --sv-amber-s:#3A2A12; --sv-olive:#C3CB6E; --sv-olive-s:#2C2F14; --sv-green:#7CCB8A; --sv-green-s:#18301D;
  --sv-slate:#A7B5BD; --sv-slate-s:#252E33 }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;padding-inline:16px;padding-block:0 48px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-tx);outline-offset:2px}
.wrap{max-width:1320px;margin-inline:auto}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:-.01em}
.num{font-variant-numeric:tabular-nums}
.meta{font-size:.82rem;color:var(--muted)}

header.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:18px 12px}
.brand{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:0}
.brand h1{font-size:1.45rem;font-weight:700}
.brand span{color:var(--muted);font-size:.85rem}
.tabs-wrap{overflow-x:auto;max-width:100%}
.tabs{display:inline-flex;gap:3px;background:var(--sunk);padding:4px;border-radius:10px}
.tabs button{border:0;background:transparent;padding:7px 12px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--muted);white-space:nowrap}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.tabs .badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--warn);color:var(--surface);font-size:.72rem;line-height:18px;text-align:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--accent-tx)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.wa{color:var(--good);border-color:var(--good)}
.btn.wa:hover{background:var(--good-soft)}
.btn.small{padding:5px 10px;font-size:.85rem}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}

.notice{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px 14px;color:var(--muted);font-size:.9rem}
.notice.warn{border-color:var(--warn);background:var(--warn-soft);color:var(--ink)}
#status{margin-bottom:12px}

.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.toolbar input[type=search],.toolbar select,.toolbar input[type=date]{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px;min-width:0}
.toolbar input[type=search]{flex:1 1 220px;max-width:340px}
.toolbar .spacer{flex:1}

.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--muted);letter-spacing:.01em;white-space:nowrap}
.chip.proc{background:var(--accent-soft);color:var(--accent-tx)}
.chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.good{background:var(--good-soft);color:var(--good)}
.chip.bad{background:var(--bad-soft);color:var(--bad)}
.chip.ex{border:1px dashed var(--muted);background:transparent}

/* Agenda */
.ag-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.ag-head h2{font-size:1.2rem;font-weight:600;margin-right:auto}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:14px}
.week button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:7px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}
.week button .wd{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.week button .dn{font-family:var(--f-display);font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}
.week button .ct{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.week button.sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.week button.sel .wd,.week button.sel .ct{color:var(--accent-ink)}
.week button.today:not(.sel){border-color:var(--accent-tx)}
.ag-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.daysum{display:grid;gap:10px}
.timeline{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tl-band{position:absolute;left:var(--L,56px);right:0;background:var(--accent-soft);opacity:.35}
.tl-line{position:absolute;left:var(--L,56px);right:0;border-top:1px solid var(--line)}
.tl-line.half{border-top-style:dashed;opacity:.6}
.tl-hour{position:absolute;left:0;width:calc(var(--L,56px) - 6px);text-align:right;font-size:.75rem;color:var(--muted);transform:translateY(-50%);font-variant-numeric:tabular-nums}
.tl-slot{position:absolute;left:var(--L,56px);right:0;border:0;background:transparent;cursor:pointer;z-index:1}
.tl-slot:hover{background:var(--accent-soft)}
.tl-slot:hover::after{content:"+ agendar " attr(data-hora);position:absolute;left:10px;top:4px;font-size:.75rem;color:var(--accent-tx);font-weight:600}
.tl-now{position:absolute;left:calc(var(--L,56px) - 6px);right:0;border-top:2px solid var(--bad);z-index:3;pointer-events:none}
@media (hover:none){ .tl-slot:hover{background:transparent} .tl-slot:hover::after{content:none} }
.ev{position:absolute;z-index:2;border-radius:8px;padding:5px 8px;background:var(--cs,var(--surface));border:1px solid transparent;border-left:4px solid var(--c,var(--accent));box-shadow:var(--shadow);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:2px;text-align:left;color:var(--ink)}
.ev:hover{border-color:var(--c,var(--accent))}
.ev .h{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.ev strong{font-size:.86rem;line-height:1.2;overflow-wrap:anywhere}
.ev .p{font-size:.75rem;color:var(--c,var(--muted));font-weight:600}
.ev.st-atendido{opacity:.62}
.ev.st-faltou,.ev.st-cancelado{opacity:.5}
.ev.st-faltou strong,.ev.st-cancelado strong{text-decoration:line-through}
.sw{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--c,var(--muted));flex:none}
/* Serviços */
.sv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px}
.sv{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--c);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;width:100%}
.sv:hover{border-color:var(--c)}
.sv strong{font-weight:600;display:block}
.sv .meta{display:block}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatches label{width:34px;height:34px;border-radius:9px;background:var(--c);cursor:pointer;display:grid;place-items:center;border:2px solid transparent}
.swatches input{position:absolute;opacity:0;pointer-events:none}
.swatches label:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}
.swatches label:has(input:focus-visible){outline:2px solid var(--accent-tx);outline-offset:2px}
.arrival{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;margin-bottom:12px}
.arrival h3{font-size:.95rem;font-weight:600}
.arow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 9px;border-radius:8px;background:var(--sunk);cursor:pointer}
.arow:hover{outline:1px solid var(--accent-tx)}
.arow strong{font-weight:600;margin-right:auto}

/* listas */
.list{display:grid;gap:8px}
.lrow{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.lrow .lt{font-family:var(--f-display);font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}
.lrow .lmain{display:flex;flex-direction:column;gap:3px;min-width:0}
.lrow .lmain strong{font-weight:600;overflow-wrap:anywhere}
.lrow .lact{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.prow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left}
.prow:hover{border-color:var(--accent-tx)}
.prow strong{font-weight:600;overflow-wrap:anywhere}
.section-h{display:flex;align-items:baseline;gap:10px;margin:18px 0 8px}
.section-h h2{font-size:1.05rem;font-weight:600}

/* Funil */
.alertbar{margin-bottom:12px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(228px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}
.col{background:var(--sunk);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:240px;scroll-snap-align:start;border:2px dashed transparent}
.col.drop{border-color:var(--accent-tx)}
.col-h{display:flex;align-items:center;gap:8px;padding:2px 4px 6px}
.col-h h2{font-size:.95rem;font-weight:600}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.col-h .count{margin-left:auto;font-size:.8rem;color:var(--muted);font-weight:600}
.col-sum{font-size:.78rem;color:var(--muted);padding:0 4px}
.empty-col{color:var(--muted);font-size:.85rem;padding:14px 8px;text-align:center;border:1px dashed var(--line);border-radius:8px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 11px;display:flex;flex-direction:column;gap:7px;cursor:pointer;box-shadow:var(--shadow);min-width:0}
.card:hover{border-color:var(--accent-tx)}
.card.dragging{opacity:.45}
.card-top{display:flex;align-items:flex-start;gap:8px}
.card-top strong{font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.card-top .ago{margin-left:auto;font-size:.75rem;color:var(--muted);white-space:nowrap}
.card-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.card-row .phone{font-size:.82rem;color:var(--muted);margin-right:auto}
.card-row select{font-size:.8rem;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:3px 4px;max-width:150px}
a.wa-mini{font-size:.8rem;font-weight:600;color:var(--good);text-decoration:none;border:1px solid var(--good);border-radius:6px;padding:3px 8px}
a.wa-mini:hover{background:var(--good-soft)}

/* Painel */
.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.box h3{font-size:1.02rem;font-weight:600}
.box .sub{color:var(--muted);font-size:.82rem;margin:-8px 0 0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi .l{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.kpi .v{font-family:var(--f-display);font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}
.kpi .h{font-size:.78rem;color:var(--muted)}
.funnel{display:flex;flex-direction:column;gap:9px}
.frow{display:grid;grid-template-columns:120px 1fr 92px;gap:10px;align-items:center;font-size:.86rem}
.frow .bar{height:22px;background:var(--sunk);border-radius:5px;overflow:hidden}
.frow .bar i{display:block;height:100%;background:var(--accent);border-radius:5px;min-width:2px}
.frow .pct{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.frow .pct b{color:var(--ink)}
table.t{width:100%;border-collapse:collapse;font-size:.86rem}
table.t th{text-align:left;font-weight:600;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:6px;border-bottom:1px solid var(--line)}
table.t td{padding:7px 6px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.t td.r,table.t th.r{text-align:right}
table.t select{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:4px 6px;max-width:220px}
.tscroll{overflow-x:auto}
.field-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.field-inline input,.field-inline select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px}
.field-inline input[type=number]{width:150px}

/* Mensagens */
.msg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.msg{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.msg-h{display:flex;align-items:center;gap:8px}
.msg-h h3{font-size:.98rem;font-weight:600;margin-right:auto}
.msg pre{white-space:pre-wrap;font-family:var(--f-body);font-size:.85rem;margin:0;color:var(--muted);max-height:9.5em;overflow:hidden;overflow-wrap:anywhere}
.msg .acts{display:flex;gap:6px;flex-wrap:wrap}
.vars{display:flex;gap:5px;flex-wrap:wrap}
.vars button{border:1px dashed var(--line);background:var(--sunk);border-radius:6px;padding:2px 7px;font-size:.78rem;cursor:pointer;font-family:ui-monospace,Menlo,monospace}

/* Importar */
.import{display:grid;gap:16px;max-width:960px}
.drop-zone{border:2px dashed var(--line);border-radius:12px;padding:22px 16px;text-align:center;background:var(--sunk);display:flex;flex-direction:column;gap:8px;align-items:center;cursor:pointer}
.drop-zone.over{border-color:var(--accent-tx);background:var(--accent-soft)}
.steps{margin:0;padding-left:20px;color:var(--muted);font-size:.9rem;display:grid;gap:4px}
.steps b{color:var(--ink)}
.seg{display:inline-flex;background:var(--sunk);padding:3px;border-radius:8px;gap:3px}
.seg button{border:0;background:transparent;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:600;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}

/* Ficha lateral */
.scrim{position:fixed;inset:0;background:rgba(5,15,14,.42);z-index:20}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--surface);z-index:21;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.18);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.sheet-h{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
.sheet-h h2{font-size:1.15rem;margin-right:auto;overflow-wrap:anywhere}
.sheet-b{overflow-y:auto;padding:16px 18px;display:grid;gap:12px;flex:1;min-height:0;align-content:start;-webkit-overflow-scrolling:touch}
.sheet-h .icon-btn svg,.modal-h .icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sheet-h{padding:10px 10px 10px 14px;gap:4px}
.sheet-acts{display:flex;gap:2px}
.modal-scrim{position:fixed;inset:0;background:rgba(5,15,14,.5);z-index:40}
.modal{position:fixed;z-index:41;left:16px;right:16px;top:50%;transform:translateY(-50%);margin:0 auto;max-width:440px;max-height:calc(100% - 48px);background:var(--surface);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.3);display:flex;flex-direction:column}
.modal-h{display:flex;align-items:center;gap:8px;padding:10px 10px 6px 18px}
.modal-h h2{font-size:1.1rem;margin-right:auto}
.modal-b{overflow-y:auto;min-height:0;padding:6px 18px 12px;display:grid;gap:12px}
.modal-f{display:flex;gap:8px;padding:12px 18px 16px}
.modal-f .btn{flex:1}
.btn .ic{stroke:currentColor;width:18px;height:18px}
input[type=date],input[type=time]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;display:block;min-height:40px;text-align:left}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}
.sheet-f{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line);flex-wrap:wrap}
.sheet-f .spacer{flex:1}
.f{display:grid;gap:4px;min-width:0}
.f > label{font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.f input,.f select,.f textarea{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.f textarea{min-height:90px;resize:vertical}
.f.hl input,.f.hl select{border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}
.checks{display:flex;gap:16px;flex-wrap:wrap}
.checks label{display:flex;gap:7px;align-items:center;font-size:.92rem;cursor:pointer}
.quick{display:flex;gap:6px;flex-wrap:wrap}
.hist{display:grid;gap:6px}
.hist div{display:flex;gap:8px;align-items:center;font-size:.86rem;padding:6px 8px;border-radius:8px;background:var(--sunk);flex-wrap:wrap}
.hist div .num{min-width:110px}

.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:600;font-size:.9rem;z-index:30;max-width:calc(100% - 32px)}
.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:10px;max-width:640px;margin-bottom:16px}
.empty-state h2{font-size:1.15rem}
.empty-state p{margin:0;color:var(--muted)}
.empty-state .row{display:flex;gap:8px;flex-wrap:wrap}

/* ================= Celular ================= */
body.is-mob{padding-inline:0;padding-block:0}
.wrap{display:none}
#d-hold{display:none}
/* computador: mesmas telas, menu lateral */
.m-side{display:none}
body:not(.is-mob){padding:0;--sbw:236px}
body:not(.is-mob).sb-min{--sbw:68px}
body:not(.is-mob) #mob{padding-left:var(--sbw);padding-bottom:32px;transition:padding-left .18s ease}
body:not(.is-mob) .m-side{display:flex;flex-direction:column;gap:2px;position:fixed;top:0;left:0;bottom:0;width:var(--sbw);z-index:14;background:var(--bar-soft);border-right:1px solid var(--line);padding:14px 10px;overflow:hidden;transition:width .18s ease}
.m-side .sb-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px;min-height:44px}
.m-side .sb-brand strong{font-family:var(--f-display);font-size:1.12rem;white-space:nowrap}
.m-side .sb-logo{width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;flex:none}
.m-side button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;padding:10px 12px;border-radius:10px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;position:relative;white-space:nowrap}
.m-side button:hover{background:var(--accent-soft)}
.m-side button[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
.m-side svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m-side .lb{overflow:hidden;text-overflow:ellipsis}
.m-side .badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--warn);color:var(--surface);font-size:.72rem;line-height:19px;text-align:center}
.m-side .sep{height:1px;background:var(--line);margin:8px 6px;flex:none}
.m-side .grow{flex:1}
.m-side .sb-user img,.m-side .sb-user .pf-av{width:32px;height:32px;border-radius:50%;flex:none;font-size:.75rem}
.m-side .sb-user .lb{display:flex;flex-direction:column;min-width:0}
.m-side .sb-user .meta{font-weight:500}
body.sb-min .m-side .lb,body.sb-min .m-side .sb-brand strong{display:none}
body.sb-min .m-side button{justify-content:center;padding:10px 0}
body.sb-min .m-side .badge{position:absolute;top:4px;right:8px;margin:0;min-width:16px;height:16px;line-height:16px;font-size:.62rem;padding:0 3px}
body.sb-min .m-side .sb-brand{justify-content:center;padding-inline:0}
body.sb-min .m-side .sb-tg svg{transform:scaleX(-1)}
body:not(.is-mob) .m-nav,body:not(.is-mob) #m-menu,body:not(.is-mob) .m-drawer,body:not(.is-mob) .m-drawer-scrim{display:none!important}
body:not(.is-mob) .m-top{padding:16px 28px 8px}
body:not(.is-mob) .m-top strong{font-size:1.4rem}
body:not(.is-mob) #m-subbar{padding:0 28px 10px}
body:not(.is-mob) #m-subbar > .seg-full{max-width:560px}
body:not(.is-mob) #m-main{padding:18px 28px 28px}
body:not(.is-mob) #m-main.estreito{max-width:920px}
body:not(.is-mob) .m-fab{bottom:28px;right:28px}
body:not(.is-mob) .toast{bottom:24px}
body:not(.is-mob) .mc{min-height:118px;padding:5px}
body:not(.is-mob) .mc .dn{font-size:.9rem}
body:not(.is-mob) .mc i{font-size:.74rem;padding:2px 5px}
body:not(.is-mob) .ev.mini .h{font-size:.68rem}
body:not(.is-mob) .ev.mini strong{font-size:.78rem}
body:not(.is-mob) .ev.mini .p{font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:not(.is-mob) .m-week button{flex-direction:row;justify-content:center;gap:8px;padding:6px 0}
body:not(.is-mob) .m-week .dot{display:none}
body:not(.is-mob) .m-week .has .wd{color:var(--ink)}
.d-nav{display:flex;gap:6px;align-items:center}
body:not(.is-mob) .ev.mini.one{flex-direction:row;align-items:center;gap:5px;white-space:nowrap}
body:not(.is-mob) .ev.mini.one strong{min-width:0}
body:not(.is-mob) .m-week.offset{padding-left:52px}
.d-nav .btn{min-width:38px}
body:not(.is-mob) #view-funil,body:not(.is-mob) #view-importar{display:block}
#mob{min-height:100%;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
.m-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bar-soft);border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.m-top{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}
#m-subbar{display:grid;gap:8px;padding:0 12px 8px;touch-action:pan-y}
.seg-full{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.seg-full button{padding:7px 2px;font-size:.84rem;white-space:nowrap}
.seg .cnt{display:inline-block;min-width:17px;margin-left:4px;padding:0 4px;border-radius:9px;background:var(--warn);color:var(--surface);font-size:.68rem;line-height:17px}
.m-week.offset{padding-left:40px}
.m-week.offset .dn{width:28px;height:28px;font-size:.92rem}
.lnk{border:0;background:transparent;color:var(--muted);font-size:.75rem;text-decoration:underline;cursor:pointer;padding:2px 0}
.m-row .acts{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:none}
.msg-prev{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.msg-full{white-space:pre-wrap;font-family:var(--f-body);font-size:.9rem;margin:0;background:var(--sunk);border-radius:10px;padding:12px;overflow-wrap:anywhere}
/* semana e mês */
.tl-col{position:absolute;top:0;bottom:0;border-left:1px solid var(--line)}
.tl-col.hoje{background:var(--accent-soft);opacity:.45}
.ev.mini{padding:2px 3px;border-left-width:3px;border-radius:5px;gap:0}
.ev.mini .h{font-size:.6rem}
.ev.mini strong{font-size:.66rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev.ch{border-style:dashed;border-left-style:solid}
.m-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.m-month .mh{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);padding:2px 0}
.mc{min-height:76px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:3px;display:flex;flex-direction:column;gap:2px;align-items:stretch;cursor:pointer;min-width:0;color:var(--ink);text-align:left}
.mc .dn{font-weight:700;font-size:.8rem;font-variant-numeric:tabular-nums}
.mc.today .dn{color:var(--accent-tx)}
.mc.today{border-color:var(--accent-tx)}
.mc.out{opacity:.4}
.mc i{font-style:normal;font-size:.6rem;line-height:1.25;padding:1px 3px;border-radius:3px;background:var(--cs);border-left:2px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc em{font-style:normal;font-size:.6rem;color:var(--muted)}
/* detalhe do agendamento */
.dl-band{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--cs);font-weight:600;color:var(--ink)}
.dl{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.dl-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.dl-row:last-child{border-bottom:0}
.dl-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:8px 12px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}
.dl-main:disabled{cursor:default;opacity:1}
.dl-main:not(.dl-static):not(:disabled):active{background:var(--sunk)}
.dl-static{cursor:default}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dl-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.dl-l{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.dl-v{font-size:.92rem;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;overflow-wrap:anywhere}
.dl-obs{white-space:pre-wrap}
.dl-go{color:var(--muted);font-size:1.2rem}
.dl-main:disabled .dl-go{visibility:hidden}
.dl-side{margin-right:12px;font-size:.82rem;font-weight:600;text-decoration:none;padding:6px 10px;border-radius:8px;border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.dl-side{display:inline-flex;align-items:center;gap:5px;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600}
.dl-side.wa{color:var(--good);border-color:var(--good);display:inline-flex;align-items:center;gap:5px}
.dl-side .ic{stroke:currentColor;width:16px;height:16px}
.dl-side.ico{padding:7px;border-radius:50%}
.dl-side.ico .ic{width:20px;height:20px}
.sheet-f:empty{display:none}
.wa-round{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--good);color:var(--good);display:grid;place-items:center;flex:none}
.wa-round .ic{stroke:currentColor;width:24px;height:24px}
.pf-btns{display:flex;gap:8px}
.pf-btns .btn{flex:1}
.pf-stats em{font-style:normal;color:var(--good);font-weight:600}
.combo{position:relative}
.combo-sel{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--accent-tx);border-radius:10px;background:var(--accent-soft)}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:300px;overflow-y:auto;padding:4px}
.combo-opt{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:8px;border-radius:8px;text-align:left;cursor:pointer;color:var(--ink)}
.combo-opt:hover,.combo-opt:focus-visible{background:var(--sunk)}
.combo-opt.novo{color:var(--accent-tx);font-weight:600;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.combo-opt.novo .ic{stroke:currentColor}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.m-dayline{padding-top:2px}
.m-chegada{display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap;padding-bottom:2px;scrollbar-width:none}
.m-chegada::-webkit-scrollbar{display:none}
.m-chegada .l{font-size:.75rem;font-weight:700;color:var(--muted)}
.m-chegada button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--cs);border-left:3px solid var(--c);border-radius:8px;padding:4px 9px;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--ink);flex:none}
.m-chegada button.feito{opacity:.55;text-decoration:line-through}
.dl-links{display:flex;gap:8px;justify-content:center}
.out-bad[aria-pressed="true"]{background:var(--bad);border-color:var(--bad);color:var(--surface)}
.out-good{color:var(--good);border-color:var(--good)}
.out-good[aria-pressed="true"]{background:var(--good);border-color:var(--good);color:var(--surface)}
.out-bad{color:var(--bad);border-color:var(--bad)}
#sheet-foot .out-bad,#sheet-foot .out-good{flex:1}
.pick{display:grid;gap:6px}
.pick-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.pick-row:has(input:checked){border-color:var(--accent-tx);background:var(--accent-soft)}
/* perfil do paciente */
.pf-head{display:flex;gap:12px;align-items:center}
.pf-head strong{font-family:var(--f-display);font-size:1.25rem;display:block;overflow-wrap:anywhere}
.pf-av{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-tx);display:grid;place-items:center;font-weight:700;flex:none}
.pf-av.sm{width:34px;height:34px;font-size:.8rem}
.pf-dest{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pf-dest > div{background:var(--accent-soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-dest .l{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent-tx)}
.pf-dest strong{font-family:var(--f-display);font-size:1.05rem}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pf-stats.two{grid-template-columns:1fr 1fr}
.pf-stats > div{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-stats b{font-family:var(--f-display);font-size:1.25rem}
.pf-stats span{font-size:.75rem;color:var(--muted)}
.pf-sec{display:grid;gap:6px}
.pf-sec h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-top:4px}
.pf-li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:var(--sunk);font-size:.88rem;min-width:0}
.btn-li{border:0;width:100%;text-align:left;cursor:pointer;color:var(--ink)}
.btn-li:hover{outline:1px solid var(--accent-tx)}
.m-top .m-title{display:flex;flex-direction:column;margin-right:auto;min-width:0}
.m-top strong{font-family:var(--f-display);font-size:1.15rem;font-weight:700;line-height:1.1}
.m-top span{font-size:.78rem;color:var(--muted)}
.icon-btn{width:40px;height:40px;border-radius:10px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.icon-btn:active{background:var(--sunk)}
.icon-btn svg,.m-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#m-main{padding:12px 16px 16px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.m-nav{position:fixed;left:0;right:0;bottom:0;z-index:12;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bar);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.m-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:color-mix(in srgb,var(--bar-ink) 78%,transparent);font-size:.72rem;font-weight:600;cursor:pointer;position:relative}
.m-nav button[aria-current="page"]{color:var(--bar-ink);font-weight:800}
.m-nav svg{box-sizing:content-box;padding:3px 16px;border-radius:14px}
.m-nav button[aria-current="page"] svg{background:color-mix(in srgb,var(--bar-ink) 16%,transparent)}
.m-nav .badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--warn);color:var(--surface);font-size:.68rem;line-height:17px}
.m-fab{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:11;width:56px;height:56px;border-radius:18px;border:0;background:var(--accent);color:var(--accent-ink);font-size:1.9rem;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.22);cursor:pointer}
.m-drawer-scrim{position:fixed;inset:0;background:rgba(5,15,14,.42);z-index:25}
.m-drawer{position:fixed;top:0;left:0;bottom:0;width:min(290px,84%);z-index:26;background:var(--surface);padding:calc(18px + env(safe-area-inset-top,0px)) 14px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:8px 0 30px rgba(0,0,0,.2)}
.m-drawer h2{font-size:1.15rem;margin:0 6px 10px}
.m-drawer button{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:12px 10px;border-radius:10px;font-weight:600;cursor:pointer;text-align:left}
.m-drawer button[aria-current="page"]{background:var(--accent-soft);color:var(--accent-tx)}
.m-drawer .meta{margin:auto 8px 0}
.m-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.m-week button{border:0;background:transparent;border-radius:12px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--ink)}
.m-week .wd{font-size:.68rem;font-weight:600;text-transform:uppercase;color:var(--muted)}
.m-week .dn{font-family:var(--f-display);font-weight:700;font-size:1.05rem;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-variant-numeric:tabular-nums}
.m-week .dot{width:5px;height:5px;border-radius:50%;background:var(--accent-tx);visibility:hidden}
.m-week .has .dot{visibility:visible}
.m-week .today .dn{color:var(--accent-tx)}
.m-week .sel .dn{background:var(--accent);color:var(--accent-ink)}
.m-dayline{display:flex;align-items:baseline;gap:8px}
.m-dayline strong{font-family:var(--f-display);font-size:1.05rem}
.m-swipe{touch-action:pan-y}
.m-swipe.anim-l{animation:entraL .18s ease-out}
.m-swipe.anim-r{animation:entraR .18s ease-out}
@keyframes entraL{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes entraR{from{transform:translateX(-24px);opacity:.4}to{transform:none;opacity:1}}
.m-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px}
.m-card h3{font-size:1rem;font-weight:600}
.m-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}
.m-row .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.m-row strong{font-weight:600;overflow-wrap:anywhere}
.m-row .t{font-family:var(--f-display);font-weight:700;font-size:1rem;min-width:46px;font-variant-numeric:tabular-nums}
.m-row.c{border-left:5px solid var(--c)}
.m-sec{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-top:6px}
.m-search{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;width:100%}
.m-user{display:flex;align-items:center;gap:12px}
.m-user img{width:48px;height:48px;border-radius:50%}
.btn.big{padding:12px 16px;font-size:1rem;border-radius:10px}
.acao-head{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--cs);border-left:5px solid var(--c)}
.acao-head strong{font-family:var(--f-display);font-size:1.15rem;display:block}
.acao-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.acao-grid button{padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer}
.acao-grid button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.acao-grid button[data-st="faltou"][aria-pressed="true"],.acao-grid button[data-st="cancelado"][aria-pressed="true"]{background:var(--bad);border-color:var(--bad);color:var(--surface)}
.acao-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.is-mob .sheet{top:0;width:100%;border-radius:0;box-shadow:none}
body.is-mob .sheet-f .btn{flex:1}
body.is-mob .sheet-f .spacer{display:none}
body.is-mob .toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}

@media (max-width:860px){ .ag-layout{grid-template-columns:1fr} }
@media (max-width:560px){
  .frow{grid-template-columns:92px 1fr 70px;font-size:.8rem}
  .two,.three{grid-template-columns:1fr}
  .board{grid-auto-columns:82%}
  .lrow{grid-template-columns:52px minmax(0,1fr)}
  .lrow .lact{grid-column:1 / -1;justify-content:flex-start}
  .prow{grid-template-columns:1fr}
  .week button .dn{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* menu, mensagens, funil e resultados no celular */
.m-drawer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.m-drawer button{color:var(--ink);position:relative}
.m-drawer .badge{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--warn);color:var(--surface);font-size:.72rem;line-height:19px;text-align:center}
.m-dr-user{padding:8px 8px 12px!important}
.m-dr-user .grow{display:flex;flex-direction:column;min-width:0}
.m-dr-user strong{font-family:var(--f-display);font-size:1.05rem}
.m-dr-user img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.m-dr-sep{height:1px;background:var(--line);margin:2px 4px 6px}
.m-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.m-chips::-webkit-scrollbar{display:none}
.m-chips button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font:inherit;font-size:.84rem;font-weight:600;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.m-chips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.m-chips .n{font-variant-numeric:tabular-nums;opacity:.85}
.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.chip.role{background:var(--accent-soft);color:var(--accent-tx);font-weight:700}
.m-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.m-kpi .l{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.m-kpi .v{font-family:var(--f-display);font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.m-kpi .h{font-size:.8rem;color:var(--muted)}
.m-kpi.wide{grid-column:1/-1}
.m-card h3{margin:0 0 4px;font-size:1rem}
.m-bars{display:grid;gap:8px}
.m-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;font-size:.88rem}
.m-bar .tr{grid-column:1/-1;height:8px;border-radius:4px;background:var(--sunk);overflow:hidden}
.m-bar .tr i{display:block;height:100%;border-radius:4px;background:var(--c,var(--accent))}
.m-tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.m-tbl td{padding:7px 0;border-bottom:1px solid var(--line)}
.m-tbl tr:last-child td{border-bottom:0}
.m-tbl td.r{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.role-pick{display:grid;gap:8px}
.role-pick label{display:flex!important;gap:10px;align-items:center;justify-content:flex-start;font-size:.95rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--ink)!important;margin:0;cursor:pointer}
.role-pick input{width:18px!important;height:18px;flex:none;margin:0;padding:0}
.orto-lista{display:grid;gap:6px}
.orto-lista .m-row{padding:8px 12px}
/* pendências e cancelados */
.ev.pend{outline:2px dashed var(--warn);outline-offset:-2px}
.ev .pd{font-size:.66rem;font-weight:800;color:var(--warn);text-transform:uppercase;letter-spacing:.03em}
.m-nav .badge.pend{background:var(--warn)}
.pend-bar{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink);border-radius:12px;padding:10px 12px;font:inherit;text-align:left;cursor:pointer}
.pend-bar .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pend-bar strong{font-weight:700}
.canc-lnk{border:0;background:transparent;padding:0;font:inherit;font-size:.82rem;color:var(--muted);text-decoration:underline;cursor:pointer;white-space:nowrap}
.fd-item{border:1px solid var(--line);border-left:5px solid var(--c);background:var(--surface);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.fd-top{display:flex;gap:10px;align-items:baseline;min-width:0}
.fd-top .t{font-family:var(--f-display);font-weight:700;min-width:46px;font-variant-numeric:tabular-nums}
.fd-top .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.fd-bts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fd-bts button{border:1px solid var(--line);background:var(--sunk);border-radius:10px;padding:9px 4px;font:inherit;font-size:.86rem;font-weight:700;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.fd-bts button .ic{width:16px;height:16px}
.fd-bts .ok{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fd-bts button:disabled{opacity:.5}
[hidden]{display:none!important}
.o-itens{display:grid;gap:8px}
.oi{border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;gap:6px;background:var(--surface)}
.oi-top{display:flex;gap:6px;align-items:center}
.oi-top select{flex:1}
.oi-top .icon-btn{width:36px;height:36px}
.oi-bot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.oi-ok{display:flex;gap:5px;align-items:center;font-size:.85rem;white-space:nowrap;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--ink)!important}
.oi-ok input{width:18px!important;height:18px;margin:0}
.o-total{min-height:40px;display:flex;align-items:center;gap:6px;font-size:1.1rem}
/* ortodontia */
.chip.orto{background:var(--sv-amber-s);color:var(--sv-amber);font-weight:700}
.m-week .orto .wd{color:var(--sv-amber);font-weight:800}
.m-week .orto:not(.sel) .dn{box-shadow:inset 0 0 0 2px var(--sv-amber)}
.week button.orto:not(.sel){background:var(--sv-amber-s);border-color:var(--sv-amber)}
.week button .ot{font-size:.62rem;font-weight:800;color:var(--sv-amber);text-transform:uppercase;letter-spacing:.04em}
.week button.sel .ot{color:var(--accent-ink)}
.mc.orto:not(.out){background:var(--sv-amber-s);border-color:var(--sv-amber)}
.mc .ob{font-size:.52rem;font-weight:800;color:var(--sv-amber);text-transform:uppercase;letter-spacing:.03em}
.tl-col.orto{background:var(--sv-amber-s);opacity:.55}
.m-dayline{align-items:center;min-width:0}
.m-dayline strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.m-dayline .meta{white-space:nowrap}
.orto-tg{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--line);background:transparent;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;flex:none}
.orto-tg.on{border:1px solid var(--sv-amber);background:var(--sv-amber-s);color:var(--sv-amber);font-weight:700}
.orto-tg .ic{width:14px;height:14px}
.orto-datas{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.orto-datas button{border:1px solid var(--sv-amber);background:var(--sv-amber-s);color:var(--ink);border-radius:8px;padding:5px 10px;font-size:.84rem;font-weight:600;cursor:pointer}
.notice.info{border-color:var(--sv-amber);background:var(--sv-amber-s);color:var(--ink)}
.seg-full.q4 button{font-size:.78rem}
.seg-full.q4 .cnt{margin-left:3px}
.orto-hd{display:flex;gap:10px;align-items:center;background:var(--sv-amber-s);border:1px solid var(--sv-amber);border-radius:12px;padding:10px 12px}
.orto-hd strong{font-family:var(--f-display);font-size:1.02rem}
.orto-hd .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.orto-hd select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 8px;font:inherit;color:var(--ink);max-width:100%}

/* ================= Entrada (login) ================= */
body.carregando #mob, body.carregando .toast { visibility: hidden; }
.login{position:fixed;inset:0;z-index:60;background:var(--bg);display:grid;place-items:center;padding:24px 16px;overflow-y:auto}
.login-box{width:min(380px,100%);display:grid;gap:14px}
.login-marca{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.login-marca .sb-logo{width:44px;height:44px;border-radius:12px;font-size:1.2rem;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800}
.login-marca strong{font-family:var(--f-display);font-size:1.4rem}
.login-box .f input{min-height:46px;font-size:1rem}
.login-box .btn.big{width:100%}
.login-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.login-links button{border:0;background:transparent;color:var(--accent-tx);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 0}
.login-msg{font-size:.92rem}
/* cor do app */
.tema-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}
.tema-opts button,.tema-outra{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.86rem;cursor:pointer;text-align:left}
.tema-opts button span{width:20px;height:20px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.tema-opts button[aria-pressed="true"]{border-color:var(--accent-tx);box-shadow:0 0 0 1px var(--accent-tx);font-weight:700}
.tema-outra input{width:22px;height:22px;padding:0;border:0;border-radius:50%;background:none;flex:none;cursor:pointer}
.tema-outra input::-webkit-color-swatch-wrapper{padding:0}.tema-outra input::-webkit-color-swatch{border:0;border-radius:50%}
/* orçamento: variação de preço e preço de tabela */
.oi-var{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.oi-var button{padding:6px 2px;font-size:.82rem;white-space:nowrap}
.oi-var button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.oi-dica{margin:0;font-size:.8rem}
/* seletor de serviço com busca */
.busca-sel .combo-list{max-height:min(320px,50vh)}
.busca-sel .combo-opt .sw{width:12px;height:12px;border-radius:50%;background:var(--c);flex:none}
.oi-top .busca-sel{flex:1;min-width:0}

/* Funis em lista ou quadro (Orçamentos e Pacientes) */
.seg-wrap{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.fx-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fx-bar .m-search{flex:1;min-width:160px;margin:0}
.fx-lista{display:grid;gap:8px}
.fx-grupo{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 10px}
.fx-grupo > summary{display:flex;align-items:center;gap:8px;padding:11px 2px;cursor:pointer;list-style:none;font-size:.95rem}
.fx-grupo > summary::-webkit-details-marker{display:none}
.fx-grupo > summary::after{content:"›";margin-left:6px;color:var(--muted);transition:transform .15s}
.fx-grupo[open] > summary::after{transform:rotate(90deg)}
.fx-grupo .count{font-size:.8rem;color:var(--muted);font-weight:600;margin-right:auto}
.fx-grupo .fx-soma{font-size:.82rem;color:var(--muted)}
.fx-itens{display:grid;gap:6px;padding:0 0 10px}
.fx-board .card .meta{line-height:1.3}
.fx-board{grid-auto-columns:minmax(210px,1fr)}
/* Interesse do lead (vários serviços) */
.int-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.int-chip{display:inline-flex;align-items:center;gap:4px}
.int-chip button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0 2px;line-height:1}

/* leitura da ficha por foto */
.modal.largo{max-width:980px}
.o-foto-box{display:grid;gap:8px}
.o-ler{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.o-ler label{display:flex;gap:6px;align-items:center;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.o-ler label input{width:18px!important;height:18px;margin:0}
.o-fotos{display:flex;gap:8px;flex-wrap:wrap}
.o-fotos:empty{display:none}
.o-fotos a{display:block;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--sunk)}
.o-fotos img{width:100%;height:100%;object-fit:cover;display:block}
.oi.oi-alerta{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}
.oi-duvida{margin:0;font-size:.8rem;color:var(--bad);font-weight:600}
.cmp-foto{display:block;text-align:center}
.cmp-foto img{max-width:100%;max-height:38vh;border-radius:8px;border:1px solid var(--line)}
.cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.cmp-col{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:8px;align-content:start}
.cmp-col h3{margin:0;font-size:1rem;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.cmp-col h3 .meta{font-weight:400;font-size:.8rem}
.cmp-it{border-top:1px solid var(--line);padding-top:6px;display:grid;gap:2px;font-size:.88rem}
.cmp-it .oi-duvida{font-weight:500}
.cmp-erro{color:var(--bad);font-size:.85rem;margin:0}
.cmp-fotos{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.cmp-fotos .cmp-foto img{max-height:32vh}
.o-pend{display:grid;gap:6px}
.o-pend-li{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--warn-soft);color:var(--ink);font-size:.9rem}
.o-pend-li span{flex:1;min-width:140px}
.pf-pend{background:var(--warn-soft)}
.toast-btn{margin-left:10px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:6px;padding:4px 10px;font:inherit;cursor:pointer}
