/* Layout: barra lateral escura fixa + área de trabalho clara, telas densas de operação de recepção */
:root{
  --font:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
  --bg:#f1f5f6;--panel:#ffffff;--panel-2:#f6f9fa;--ink:#122229;--muted:#5b6c73;--line:#dde5e8;
  --brand:#0c6b75;--brand-ink:#ffffff;--brand-soft:#dff0f1;--brand-2:#7cc4ca;
  --side:#0c1a20;--side-2:#15303a;--side-on:#1c4251;--side-ink:#b2c6ce;--side-head:#ffffff;--side-dim:#6e8c96;
  --warn:#a15806;--warn-soft:#fdefd3;--bad:#b3281e;--bad-soft:#fde2de;--good:#15784a;--good-soft:#daf2e4;
  --violet:#6942c8;--violet-soft:#ebe4fb;--blue:#2155c8;--blue-soft:#e0e8fb;--grey-soft:#e9eff1;
  --chat-bg:#e8eef0;--msg-cli:#ffffff;--msg-ia:#0c6b75;--msg-hum:#2e4e8e;--msg-on:#ffffff;--sys:#fff6e0;--sys-ink:#764404;
  --col:#e5ebee;--toast:#122229;--toast-ink:#ffffff;--overlay:rgba(8,20,24,.42);--focus:#86cfd5;
  --p0:#0c6b75;--p1:#6942c8;--p2:#c2410c;--p3:#2155c8;--p4:#b8326a;
  --sh:0 1px 2px rgba(10,30,36,.05),0 4px 14px rgba(10,30,36,.05);
  --r:12px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0c1417;--panel:#131e22;--panel-2:#172429;--ink:#e2ebee;--muted:#93a6ad;--line:#23353c;
  --brand:#45b4bd;--brand-ink:#04282c;--brand-soft:#11353a;--brand-2:#2a7c84;
  --side:#081013;--side-2:#12232a;--side-on:#183842;--side-ink:#a9bec6;--side-head:#ffffff;--side-dim:#5f7d87;
  --warn:#f0b357;--warn-soft:#382810;--bad:#f2857a;--bad-soft:#3c1814;--good:#5dcd8f;--good-soft:#11311e;
  --violet:#b39af4;--violet-soft:#292041;--blue:#90b0ff;--blue-soft:#1a2644;--grey-soft:#1c2a30;
  --chat-bg:#0e171b;--msg-cli:#1a272d;--msg-ia:#1d6b73;--msg-hum:#32508a;--msg-on:#f2f7f8;--sys:#33280e;--sys-ink:#f1d18a;
  --col:#10191d;--toast:#e2ebee;--toast-ink:#0c1417;--overlay:rgba(0,0,0,.55);--focus:#2a7c84;
  --p0:#45b4bd;--p1:#b39af4;--p2:#f59a62;--p3:#90b0ff;--p4:#f08bb4;
  --sh:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0c1417;--panel:#131e22;--panel-2:#172429;--ink:#e2ebee;--muted:#93a6ad;--line:#23353c;
  --brand:#45b4bd;--brand-ink:#04282c;--brand-soft:#11353a;--brand-2:#2a7c84;
  --side:#081013;--side-2:#12232a;--side-on:#183842;--side-ink:#a9bec6;--side-head:#ffffff;--side-dim:#5f7d87;
  --warn:#f0b357;--warn-soft:#382810;--bad:#f2857a;--bad-soft:#3c1814;--good:#5dcd8f;--good-soft:#11311e;
  --violet:#b39af4;--violet-soft:#292041;--blue:#90b0ff;--blue-soft:#1a2644;--grey-soft:#1c2a30;
  --chat-bg:#0e171b;--msg-cli:#1a272d;--msg-ia:#1d6b73;--msg-hum:#32508a;--msg-on:#f2f7f8;--sys:#33280e;--sys-ink:#f1d18a;
  --col:#10191d;--toast:#e2ebee;--toast-ink:#0c1417;--overlay:rgba(0,0,0,.55);--focus:#2a7c84;
  --p0:#45b4bd;--p1:#b39af4;--p2:#f59a62;--p3:#90b0ff;--p4:#f08bb4;
  --sh:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}
*{box-sizing:border-box}
html,body,#root{height:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.app{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%}
.side{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;padding:14px 10px;gap:4px;overflow:auto;padding-left:max(10px,env(safe-area-inset-left,0px))}
.clinic{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:var(--side-2);border:0;color:var(--side-head);text-align:left;width:100%}
.logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-family:var(--display);font-weight:700;flex:none}
.clinic small{display:block;color:var(--side-ink);font-size:11px}
.clinic b{display:block;font-size:13px;line-height:1.25}
.nav{display:flex;flex-direction:column;gap:1px}
.nav-sep{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--side-dim);margin:12px 10px 3px;font-weight:600}
.nav button{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--side-ink);padding:8px 10px;border-radius:8px;text-align:left;font-weight:500}
.nav button:hover{background:var(--side-2);color:var(--side-head)}
.nav button.on{background:var(--side-on);color:var(--side-head)}
.nav .ico{width:18px;text-align:center;font-size:13px}
.nav .count{margin-left:auto;background:var(--bad);color:#fff;border-radius:99px;font-size:11px;padding:0 7px;font-weight:700}
.nav .count.b{background:var(--brand);color:var(--brand-ink)}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}
.wa{font-size:12px;padding:8px 10px;border-radius:8px;background:var(--side-2);display:flex;gap:8px;align-items:flex-start;line-height:1.35}
.dot{width:8px;height:8px;border-radius:50%;background:var(--good);display:inline-block;flex:none}
.wa .dot{margin-top:4px;background:#34d399}
.user-btn{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--side-head);padding:8px;border-radius:8px;text-align:left}
.user-btn:hover{background:var(--side-2)}
.user-btn small{display:block;color:var(--side-ink);font-size:11px}
.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none;background:var(--brand-soft);color:var(--brand)}
.av.red{background:var(--bad-soft);color:var(--bad)}
.side .av{background:var(--side-on);color:var(--side-head)}
.main{overflow-y:auto;overflow-x:hidden;position:relative;min-width:0}
.top{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;align-items:center;gap:10px;padding-block:12px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);flex-wrap:wrap}
.top h1{font-family:var(--display);font-size:20px;margin:0;letter-spacing:-.01em}
.top .sub{color:var(--muted);font-size:13px}
.menu-btn{display:none}
.page{padding-block:20px 100px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.page.wide{max-width:none}
h2.hello{font-family:var(--display);font-size:24px;margin:0;letter-spacing:-.01em;text-wrap:balance}
.btn{border:1px solid var(--line);background:var(--panel);padding:7px 12px;border-radius:8px;font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn:hover{border-color:var(--muted)}
.btn.pri{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.sm{padding:4px 9px;font-size:12.5px;border-radius:7px}
.btn.ghost{background:none;border-color:transparent}
.btn.danger{color:var(--bad)}
.icon-btn{position:relative;border:1px solid var(--line);background:var(--panel);width:36px;height:36px;border-radius:9px;display:grid;place-items:center}
.icon-btn .badge{position:absolute;top:-5px;right:-5px;background:var(--bad);color:#fff;border-radius:99px;font-size:10px;padding:1px 5px;font-weight:700}
.inp{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 10px;width:100%;min-width:0}
textarea.inp{resize:vertical;min-height:64px}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);font-weight:600}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.card-h{display:flex;align-items:center;gap:8px;padding:14px 16px 2px;flex-wrap:wrap}
.card-h h3{font-size:14px;margin:0}
.hint{color:var(--muted);font-size:12px}
.card-b{padding:10px 16px 16px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
.gauto{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.kpi{padding:13px 15px}
.kpi .l{color:var(--muted);font-size:12px;font-weight:600}
.kpi .v{font-family:var(--display);font-size:24px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.kpi .d{font-size:11.5px;color:var(--muted);margin-top:1px}
.up{color:var(--good)}.down{color:var(--bad)}
.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--grey-soft);color:var(--muted);white-space:nowrap}
.pill.good{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.blue{background:var(--blue-soft);color:var(--blue)}
.pill.violet{background:var(--violet-soft);color:var(--violet)}.pill.brand{background:var(--brand-soft);color:var(--brand)}
.muted{color:var(--muted)}.small{font-size:12px}.b{font-weight:600}.num{font-variant-numeric:tabular-nums}
.row{display:flex;align-items:center;gap:8px}
.wrap{flex-wrap:wrap}
.sp{flex:1}
.li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);min-width:0}
.li:first-child{border-top:0}
.li .grow{flex:1;min-width:0}
.li .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .s{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .acts{display:flex;gap:6px;flex:none}
.empty{color:var(--muted);font-size:13px;padding:14px 0;text-align:center}
.more{font-size:12px;color:var(--muted);padding-top:8px}
.tablewrap{overflow-x:auto}
table.tb{width:100%;border-collapse:collapse}
.tb th{text-align:left;font-size:11.5px;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tb td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tb td.nw{white-space:nowrap}
.tb tr.click:hover td{background:var(--panel-2);cursor:pointer}
.tb .inp{padding:4px 8px;max-width:130px}
.seg{display:inline-flex;background:var(--grey-soft);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;padding:5px 11px;border-radius:7px;font-weight:500;color:var(--muted);font-size:13px}
.seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--sh)}
svg.chart{width:100%;height:auto;display:block}
.ax{fill:var(--muted);font-size:10px;font-family:var(--font)}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);justify-content:center;margin-top:6px;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.hb{display:grid;grid-template-columns:minmax(80px,170px) minmax(0,1fr) auto;gap:6px 10px;align-items:center;font-size:12.5px}
.hb .bars{display:flex;flex-direction:column;gap:3px}
.bar{height:9px;border-radius:5px;background:var(--brand);min-width:2px}
.bar.b2{background:var(--brand-2)}.bar.b3{background:var(--warn)}
.hb .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.funnel{display:flex;flex-direction:column;gap:6px}
.funnel .st{display:flex;align-items:center;gap:10px;font-size:12.5px}
.fbar{height:26px;border-radius:7px;background:var(--brand);color:var(--brand-ink);display:flex;align-items:center;padding:0 10px;font-weight:700;min-width:44px;flex:none}
.insight{border-left:3px solid var(--brand);background:var(--brand-soft);padding:9px 12px;border-radius:8px;font-size:13px}
.insight.warn{border-color:var(--warn);background:var(--warn-soft)}
.big-money{font-family:var(--display);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.kan{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.col{background:var(--col);border-radius:12px;min-width:256px;width:256px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}
.col.over{outline:2px dashed var(--brand);outline-offset:-2px}
.col-h{padding:10px 12px;display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px}
.col-h .cnt{color:var(--muted);font-weight:500}
.col-h .val{margin-left:auto;font-size:11.5px;color:var(--muted);font-weight:500}
.col-b{padding:0 8px 8px;display:flex;flex-direction:column;gap:7px;overflow:auto}
.kc{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 10px;cursor:grab}
.kc:hover{border-color:var(--muted)}
.kc.drag{opacity:.4}
.kc .n{font-weight:600;font-size:13px}
.kc .m{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px}
.prog{height:5px;border-radius:3px;background:var(--grey-soft);overflow:hidden;margin-top:6px}
.prog i{display:block;height:100%;background:var(--brand)}
.temp{font-size:11px;font-weight:700;white-space:nowrap}
.temp.q{color:var(--p2)}.temp.m{color:var(--warn)}.temp.f{color:var(--blue)}
.chat{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;height:calc(100% - 63px)}
.chat-list{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0}
.chat-list .hd{padding:12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.chat-items{overflow:auto;flex:1}
.ci{display:flex;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);cursor:pointer;align-items:flex-start}
.ci:hover{background:var(--panel-2)}
.ci.on{background:var(--brand-soft)}
.ci .grow{flex:1;min-width:0}
.ci .n{font-weight:600;display:flex;gap:6px;align-items:center}
.ci .n span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci .p{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci .tm{font-size:11px;color:var(--muted);margin-left:auto;flex:none}
.unread{background:var(--brand);color:var(--brand-ink);border-radius:99px;font-size:10.5px;padding:0 6px;font-weight:700}
.chat-main{display:flex;flex-direction:column;min-height:0;background:var(--chat-bg);min-width:0}
.chat-top{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.banner{padding:8px 14px;font-size:12.5px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line)}
.banner.ia{background:var(--brand-soft);color:var(--brand)}
.banner.hum{background:var(--warn-soft);color:var(--warn)}
.banner.wait{background:var(--bad-soft);color:var(--bad)}
.msgs{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.day-sep{align-self:center;font-size:11px;color:var(--muted);background:var(--panel);padding:2px 10px;border-radius:99px;margin:6px 0}
.msg{max-width:74%;padding:8px 11px;border-radius:12px;font-size:13.5px;box-shadow:var(--sh);white-space:pre-wrap;overflow-wrap:anywhere}
.msg .who{font-size:10.5px;font-weight:700;opacity:.8;margin-bottom:2px}
.msg .tm{font-size:10px;opacity:.65;text-align:right;margin-top:3px}
.msg.cli{background:var(--msg-cli);align-self:flex-start;border-top-left-radius:4px}
.msg.ia{background:var(--msg-ia);color:var(--msg-on);align-self:flex-end;border-top-right-radius:4px}
.msg.hum{background:var(--msg-hum);color:var(--msg-on);align-self:flex-end;border-top-right-radius:4px}
.msg.sys{align-self:center;background:var(--sys);color:var(--sys-ink);font-size:12px;box-shadow:none}
.typing{align-self:flex-end;font-size:12px;color:var(--muted);font-style:italic}
.composer{background:var(--panel);border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:8px;align-items:flex-end}
.composer textarea{flex:1;min-height:40px;max-height:120px}
.chat-side{border-left:1px solid var(--line);background:var(--panel);overflow:auto;padding:14px}
.kv{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.kv .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.day{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:280px;display:flex;flex-direction:column}
.day.today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.day-h{padding:9px 12px;border-bottom:1px solid var(--line)}
.day-h b{display:block;text-transform:capitalize}
.day-b{padding:8px;display:flex;flex-direction:column;gap:6px}
.ap{border-radius:9px;padding:7px 9px;font-size:12px;border:1px solid var(--line);border-left-width:4px;background:var(--panel-2);cursor:pointer;text-align:left;width:100%}
.ap .h{font-weight:700}
.ap.faltou,.ap.cancelado{opacity:.55;text-decoration:line-through}
.ov{position:fixed;inset:0;background:var(--overlay);z-index:40;display:flex;justify-content:flex-end}
.drawer{width:min(540px,100%);height:100%;background:var(--panel);overflow:auto;animation:sl .18s ease;padding-right:env(safe-area-inset-right,0px)}
@keyframes sl{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.drawer-h{position:sticky;top:0;background:var(--panel);padding:16px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;z-index:1}
.drawer-b{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.sec{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.sec h4{margin:0 0 10px;font-size:13px}
.ov.center{justify-content:center;align-items:center;padding:16px}
.modal{background:var(--panel);border-radius:14px;width:min(500px,100%);max-height:90%;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.modal-h{padding:16px 18px 4px;font-weight:700;font-size:16px;font-family:var(--display)}
.modal-b{padding:10px 18px;display:flex;flex-direction:column;gap:12px}
.modal-f{padding:12px 18px 16px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);background:var(--panel-2);border-radius:99px;padding:4px 10px;font-size:12.5px}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.tl .e{display:flex;gap:10px;font-size:12.5px;padding:5px 0}
.tl .e:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:5px;flex:none}
.tl .w{color:var(--muted);font-size:11.5px}
.menu{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);padding:6px;min-width:260px;max-width:calc(100% - 16px)}
.menu button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:8px 10px;border-radius:8px;text-align:left}
.menu button:hover{background:var(--panel-2)}
.menu .mh{font-size:11px;color:var(--muted);padding:6px 10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.toasts{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.toast{background:var(--toast);color:var(--toast-ink);padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:0 8px 20px rgba(0,0,0,.2);max-width:min(360px,calc(100vw - 36px));animation:tin .2s ease}
@keyframes tin{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.sim{position:fixed;left:256px;bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:30}
.sim-panel{position:absolute;bottom:48px;left:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.2);width:min(310px,calc(100vw - 32px));padding:12px}
.sim-panel h4{margin:0 0 4px;font-size:14px}
.sim-panel .btn{width:100%;justify-content:flex-start;margin-top:6px}
.sim-fab{background:var(--toast);color:var(--toast-ink);border:0;border-radius:99px;padding:10px 16px;font-weight:600;box-shadow:0 8px 20px rgba(0,0,0,.2);display:flex;gap:8px;align-items:center}
.live{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.live.on{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.25)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs button{border:0;background:none;padding:9px 12px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:var(--ink);border-bottom-color:var(--brand)}
.switch{position:relative;width:36px;height:20px;flex:none;display:inline-block}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch span{position:absolute;inset:0;background:var(--line);border-radius:99px;transition:.15s;cursor:pointer}
.switch span:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s}
.switch input:checked+span{background:var(--brand)}
.switch input:checked+span:before{transform:translateX(16px)}
.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.rule{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.rgrp{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:14px 0 2px}
.rgrp:first-child{margin-top:0}
.new{font-size:10px;font-weight:700;background:var(--warn-soft);color:var(--warn);border-radius:4px;padding:1px 5px;letter-spacing:.04em}
.check-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}
.check-list label{display:flex;gap:8px;align-items:center;font-size:13px}
@media (max-width:1200px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.chat{grid-template-columns:280px minmax(0,1fr)}.chat-side{display:none}}
@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:0 auto 0 0;width:260px;z-index:45;transform:translateX(-105%);transition:transform .2s}
  .side.open{transform:none;box-shadow:0 0 0 100vmax var(--overlay)}
  .menu-btn{display:grid}
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}
  .g6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .top{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .top .sub{display:none}
  .chat{grid-template-columns:minmax(0,1fr)}
  .chat.has-sel .chat-list{display:none}
  .chat:not(.has-sel) .chat-main{display:none}
  .sim{left:max(16px,env(safe-area-inset-left,0px))}
  .hb{grid-template-columns:minmax(70px,110px) minmax(0,1fr)}
  .hb .small{grid-column:2}
  .li{flex-wrap:wrap}
  .li .acts{width:100%;justify-content:flex-end}
}
/* ---- extras da versão real ---- */
.login{min-height:100%;display:grid;place-items:center;padding:16px;background:var(--bg)}
.login .card{width:min(380px,100%);padding:26px}
.login h1{font-family:var(--display);margin:0 0 4px;font-size:22px}
.copy{display:flex;gap:6px;align-items:center}
.copy code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:12px}
.steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.err{color:var(--bad);font-size:12.5px}
.st-marcado{border-left-color:var(--blue)!important}.st-confirmado{border-left-color:var(--good)!important}
.st-veio{border-left-color:var(--brand)!important}.st-faltou{border-left-color:var(--bad)!important}.st-cancelado{border-left-color:var(--muted)!important}
.msgline{font-size:12.5px;padding:6px 0;border-top:1px solid var(--line)}
.msgline:first-child{border-top:0}
.msgline .w{font-size:11px;color:var(--muted)}
.panel-body{padding:12px;display:flex;flex-direction:column;gap:12px}
body.panel{overflow:auto}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:520px){.formgrid{grid-template-columns:minmax(0,1fr)}}
.svc-row{display:grid;grid-template-columns:minmax(140px,2fr) 100px 90px 80px 80px minmax(140px,2fr) auto;gap:6px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.svc-row:first-child{border-top:0}
@media (max-width:900px){.svc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* tela WhatsApp */
.qr{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;width:min(300px,100%);aspect-ratio:1}
.qr img{width:100%;height:100%;image-rendering:pixelated}
.conn{display:flex;align-items:center;gap:12px;padding:14px 16px}
.conn .big{font-family:var(--display);font-size:18px;font-weight:700}
.opt-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:900px){.opt-cards{grid-template-columns:minmax(0,1fr)}}
.opt{cursor:pointer;text-align:left;border:2px solid var(--line);background:var(--panel);border-radius:14px;padding:14px 16px}
.opt.on{border-color:var(--brand);background:var(--brand-soft)}
.opt b{display:block;font-size:15px;margin-bottom:4px}
.btn:disabled{opacity:.45;cursor:not-allowed}
