/* SANORA — Apple-style design layer. Loaded after app.css; restyles every shared component.
   System font (SF on Apple devices, Inter elsewhere), grouped white cards on a light grey canvas,
   filled controls, iOS segmented controls and smooth spring motion. */
:root{
  --f-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",system-ui,sans-serif;
  --f-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",system-ui,sans-serif;
  --f-mono:var(--f-body);
  --bg:#f5f5f7; --surface:#ffffff; --ink:#1d1d1f; --muted:#6e6e73; --line:#e5e5ea; --soft:#f2f2f7;
  --field:#f2f2f7; --field-hover:#e9e9ef; --hair:rgba(0,0,0,.08);
  --accent:#0b5d4d; --accent-ink:#fff; --mint:#16c79f; --tint:color-mix(in srgb,var(--accent) 10%,transparent);
  --bad:#e5383b; --bad-bg:#fdecec; --ok:#1f9d55; --ok-bg:#e6f6ec; --warn:#b26a00; --warn-bg:#fff3dc;
  --r:18px; --sh-card:0 1px 2px rgba(0,0,0,.04),0 0 0 .5px rgba(0,0,0,.06);
  --sh-pop:0 18px 50px -12px rgba(0,0,0,.28),0 0 0 .5px rgba(0,0,0,.08);
  --side-ink:#1d1d1f;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#000; --surface:#1c1c1e; --ink:#f5f5f7; --muted:#98989f; --line:#38383a; --soft:#2c2c2e;
  --field:#2c2c2e; --field-hover:#3a3a3c; --hair:rgba(255,255,255,.1);
  --accent:#30d5b0; --accent-ink:#00241c; --mint:#30d5b0;
  --bad:#ff6961; --bad-bg:#3b1716; --ok:#4cd77f; --ok-bg:#12301d; --warn:#ffb340; --warn-bg:#3a2a10;
  --sh-card:0 0 0 .5px rgba(255,255,255,.08); --side-ink:#f5f5f7}}
:root[data-theme="dark"]{
  --bg:#000; --surface:#1c1c1e; --ink:#f5f5f7; --muted:#98989f; --line:#38383a; --soft:#2c2c2e;
  --field:#2c2c2e; --field-hover:#3a3a3c; --hair:rgba(255,255,255,.1);
  --accent:#30d5b0; --accent-ink:#00241c; --mint:#30d5b0;
  --bad:#ff6961; --bad-bg:#3b1716; --ok:#4cd77f; --ok-bg:#12301d; --warn:#ffb340; --warn-bg:#3a2a10;
  --sh-card:0 0 0 .5px rgba(255,255,255,.08); --side-ink:#f5f5f7}

html,body{font-variant-numeric:tabular-nums;font-size:14.5px;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1{font-family:var(--f-display);font-size:28px;font-weight:700;letter-spacing:-.022em}
h2{letter-spacing:-.015em}
h3{font-size:16px;font-weight:600;letter-spacing:-.012em}
.sub{font-size:13px}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 18%,transparent) transparent}

/* ---------- form controls: filled, no borders ---------- */
input,select,textarea{background:var(--field);border:1px solid transparent;border-radius:10px;padding:10px 12px;font-size:14.5px;transition:background-color .18s,border-color .18s,box-shadow .2s}
input:hover,select:hover,textarea:hover{background:var(--field-hover)}
input:focus,select:focus,textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}
select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;font-weight:500;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px}
select{background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px!important}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:18px;height:18px;padding:0}
input[type=color]{padding:2px;height:36px}
.lbl{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.f{gap:6px}
.hint{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{border:0;background:var(--field);color:var(--ink);border-radius:11px;padding:9px 16px;font-weight:600;font-size:14px;letter-spacing:-.01em;min-height:38px}
.btn:hover{background:var(--field-hover);border-color:transparent}
.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 40%,transparent)}
.btn.primary:hover{filter:brightness(1.08);background:var(--accent)}
.btn.danger{background:var(--bad-bg);color:var(--bad)}
.btn.solid{background:var(--bad);color:#fff}
.btn.ghost{background:none;color:var(--accent)}.btn.ghost:hover{background:var(--tint)}
.btn.sm{min-height:30px;padding:5px 12px;font-size:13px;border-radius:9px}
.linkbtn{color:var(--accent);font-weight:600}

/* ---------- cards, stats, alerts ---------- */
.card{border:0;border-radius:var(--r);box-shadow:var(--sh-card);padding:18px 20px;gap:12px}
.card-h h3,.card>h3{font-size:16px}
.stat{border:0;border-radius:16px;box-shadow:var(--sh-card);padding:14px 16px;transition:transform .25s var(--spring),box-shadow .2s}
a.stat:hover,button.stat:hover{transform:translateY(-1px);box-shadow:0 8px 24px -10px rgba(0,0,0,.18),0 0 0 .5px rgba(0,0,0,.06)}
.stat b{font-family:var(--f-display);font-size:24px;font-weight:700;letter-spacing:-.02em}
.stat-l{font-size:12.5px;font-weight:600}
.stat.cat{border-left:0;box-shadow:inset 3px 0 0 var(--tc),var(--sh-card)}
.alert{border-radius:12px;padding:11px 14px}
.pill{border:0;background:color-mix(in srgb,currentColor 12%,transparent);padding:2px 9px;font-weight:600}
.empty,.Empty{color:var(--muted)}

/* ---------- segmented controls & chips ---------- */
.seg{background:var(--field);border-radius:10px;padding:2px;gap:0}
.seg button{border-radius:8px;padding:6px 14px;font-weight:500;color:var(--ink);transition:background-color .2s,box-shadow .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);font-weight:600}
.chips{gap:7px}
.chips button{border:0;background:var(--field);padding:7px 14px;font-weight:500;color:var(--ink)}
.chips button:hover{background:var(--field-hover)}
.chips button[aria-pressed="true"]{background:var(--tc,var(--accent));color:#fff;font-weight:600;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--tc,var(--accent)) 60%,transparent)}
.chip{border:0!important;background:var(--field)!important;border-radius:999px;font-weight:500}
.chip.on{background:var(--accent)!important;color:var(--accent-ink)!important}

/* ---------- tables & lists ---------- */
.tbl th{font-size:12px;font-weight:600;color:var(--muted);border-bottom:.5px solid var(--line);padding:8px 10px}
.tbl td{border-bottom:.5px solid var(--line);padding:10px}
.tbl tr:last-child td{border-bottom:0}
.tbl tr:hover td{background:color-mix(in srgb,var(--ink) 3%,transparent)}

/* ---------- shell: light translucent sidebar ---------- */
.side{background:color-mix(in srgb,var(--surface) 72%,var(--bg));-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);border-right:.5px solid var(--hair);color:var(--ink);padding:18px 12px}
.side .brand b{background-image:url(../assets/logo-h.png)!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .side .brand b{background-image:url(../assets/logo-h-white.png)!important}}
:root[data-theme="dark"] .side .brand b{background-image:url(../assets/logo-h-white.png)!important}
.side nav{gap:1px}
.side nav a{color:var(--ink);font-weight:500;font-size:14px;padding:8px 11px;border-radius:9px;transition:background-color .15s,color .15s}
.side nav a svg{color:var(--accent);opacity:1}
.side nav a:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}
.side nav a.on{background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 2px 8px -3px color-mix(in srgb,var(--accent) 70%,transparent)}
.side nav a.on svg{color:var(--accent-ink)}
.side-sub{border-left:1.5px solid var(--line)}
.side-pt{color:var(--accent);font-weight:700}
.side .side-sub a{color:var(--muted)}
.side .side-sub a.on{background:var(--tint);color:var(--accent)}
.side .me{border-top:.5px solid var(--hair);color:var(--ink)}.side .me small{color:var(--muted)}.side .me .linkbtn{color:var(--accent)}
.topbar{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--hair);padding:10px 28px}
.tb-search input{background:var(--field);border-radius:11px;height:40px}
.tb-search input:focus{background:var(--surface)}
.tb-res{border:0;border-radius:14px;box-shadow:var(--sh-pop);padding:6px;animation:dpIn .28s var(--spring);transform-origin:top left}
.tb-res button{border-radius:9px}
.tb-add{border-radius:11px;width:40px;height:40px;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--accent) 60%,transparent);transition:transform .2s var(--spring)}
.tb-add:active{transform:scale(.92)}
.tb-cur{border:0;box-shadow:var(--sh-card);border-radius:14px}
.tb-av,.ws-av{background:linear-gradient(145deg,color-mix(in srgb,var(--mint) 40%,var(--surface)),color-mix(in srgb,var(--accent) 30%,var(--surface)));color:var(--accent)}
.demo-bar{font-weight:500}
.page{padding:26px 28px 48px;gap:16px}
.phd h1{margin-bottom:2px}

/* tab strips become iOS segmented controls */
.ws-tabs{background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:0;border-radius:13px;padding:3px;box-shadow:inset 0 0 0 .5px var(--hair)}
.ws-tabs a{color:var(--ink);font-weight:500;border-radius:10px;padding:8px 15px;transition:background-color .2s,box-shadow .2s}
.ws-tabs a:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.ws-tabs a.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.subtabs{border:0;background:var(--field);border-radius:11px;padding:3px;gap:2px;align-self:flex-start;max-width:100%}
.subtabs>*{border:0!important;border-radius:9px;padding:7px 14px;color:var(--ink);font-weight:500}
.subtabs>[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.ws-head{padding:18px 20px}
.ws-id h1{font-size:24px}
.ws-bal b{font-weight:700;letter-spacing:-.02em}

/* ---------- panels & sheets ---------- */
.panel{box-shadow:var(--sh-pop)}
.panel.sheet{margin:10px;height:calc(100% - 20px);border-radius:22px}
.panel.lsheet{margin:10px;height:calc(100% - 20px);border-radius:22px}
.phead{border-bottom:.5px solid var(--hair);padding:18px 22px 14px;background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.phead h2{font-size:19px;font-weight:700;letter-spacing:-.02em}
.phead .x,.adet-h .x{width:30px;height:30px;border-radius:50%;background:var(--field);color:var(--muted);font-size:20px;display:grid;place-items:center;border:0;line-height:1}
.phead .x:hover,.adet-h .x:hover{background:var(--field-hover);color:var(--ink)}
.pbody{padding:18px 22px;gap:16px}
.pfoot{border-top:.5px solid var(--hair);padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
@media (max-width:640px){.panel.sheet,.panel.lsheet{margin:0;height:100%;border-radius:0}}
.toast{background:color-mix(in srgb,#1d1d1f 92%,transparent);color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:14px;font-weight:500;padding:11px 18px}

/* quick appointment card */
.adet-who{border:0;background:var(--field)}
.adet-who:hover:not(:disabled){background:var(--field-hover)}
.adet-sel{border:0;background:var(--field);border-radius:12px}
.adet-sel select{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");box-shadow:none;border:0}
.adet-sel span{background:var(--surface)}
.adet-dt{background:var(--field)}
.adet-opt{background:var(--field)}
.adet textarea{background:var(--field)}
.adet-del{background:var(--bad-bg);color:var(--bad)}
.adet-f .btn.primary{border-radius:13px;min-height:50px;font-size:15px}
.adet-h h2{font-size:17px;text-transform:none;letter-spacing:-.02em;font-weight:700}

/* date / time fields */
.dpk-f{border:1px solid transparent;background:var(--field);border-radius:10px}
.dpk-f:hover{background:var(--field-hover);border-color:transparent}
.dpk-f.on{background:var(--surface)}
.dpop-sels select{background-color:var(--field);border:0}

/* calendar */
.dg-h{background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.dg-appt{border-radius:10px;border-left-width:3px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.dg-slot{border-top:.5px dashed var(--line)}

/* mobile tab bar */
.tabbar{background:color-mix(in srgb,var(--surface) 80%,transparent)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border-top:.5px solid var(--hair)!important}
@media (max-width:900px){.page{padding:16px 14px 32px}h1{font-size:24px}}

/* custom select menu (desktop) */
.smenu{position:fixed;z-index:450;min-width:180px;max-height:min(360px,calc(100vh - 24px));overflow-y:auto;padding:5px;border-radius:13px;background:var(--glass);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--sh-pop);animation:dpIn .26s var(--spring);transform-origin:top left;overscroll-behavior:contain}
.smenu.up{transform-origin:bottom left}
.smenu button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:8px 12px 8px 30px;border-radius:8px;font:inherit;font-size:14px;color:var(--ink);position:relative;cursor:pointer;white-space:nowrap}
.smenu button:hover,.smenu button.hi{background:var(--accent);color:var(--accent-ink)}
.smenu button.on::before{content:"";position:absolute;left:11px;top:50%;width:10px;height:5px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateY(-70%) rotate(-45deg)}
.smenu button:disabled{opacity:.4;cursor:default;background:none;color:var(--ink)}
.smenu .sm-grp{font-size:11.5px;font-weight:700;color:var(--muted);padding:8px 12px 4px;text-transform:uppercase;letter-spacing:.05em}


.adet-f .btn.primary,.adet-del{text-transform:none;letter-spacing:-.01em}
.adet-l{text-transform:none;letter-spacing:0;font-size:12.5px}
.mono{font-weight:500}
.cond{border:0;background:var(--field);border-radius:12px;padding:10px 12px;transition:background-color .15s,transform .2s var(--spring)}
.cond:hover{background:color-mix(in srgb,var(--cc) 12%,var(--field))}
.cond i{border-radius:50%}
.vbar label span{text-transform:none;letter-spacing:0;font-size:12.5px}
@media (max-width:900px){.tabbar a,.tabbar button{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tabbar .on{font-weight:600}}
.tc-q{font-size:11px;font-weight:600;letter-spacing:.04em}
.tc-sep{border-top:.5px dashed var(--line)}.tc-mid{border-left:.5px dashed var(--line)}
.tooth .tn{font-size:11px;font-weight:600}
.ws-split{grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)}
@media (max-width:1100px){.ws-split{grid-template-columns:minmax(0,1fr)}}

.pay-sum{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}





.okc{color:var(--ok)}









.pd-tick{width:24px;height:24px;border-radius:50%;border:2px solid color-mix(in srgb,var(--muted) 60%,transparent);flex:none;position:relative;transition:all .2s var(--spring)}




/* narrow phones: a product line puts its ＋/− and price on a second row, so the name keeps its width */
@media (max-width:430px){.pd-items li:has(.pd-qty){flex-wrap:wrap;row-gap:8px}.pd-items li:has(.pd-qty) .pd-what{flex:1 1 calc(100% - 40px)}
  .pd-items li:has(.pd-qty) .pd-qty{margin-left:38px}.pd-items li:has(.pd-qty) .pd-amt{margin-left:auto}}







.pd-big{font-size:34px;font-weight:800;letter-spacing:-.03em}
.pd-quick{display:flex;gap:8px;flex-wrap:wrap}
.pd-quick button{border:0;background:var(--field);border-radius:999px;padding:8px 15px;font-weight:600;font-size:13.5px;color:var(--ink);transition:all .18s}
.pd-quick button:hover{background:var(--field-hover)}.pd-quick button.on{background:var(--ink);color:var(--surface)}
.pd-left{background:var(--warn-bg);color:var(--warn);border-radius:12px;padding:10px 14px;font-size:14px}



.pd-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.pd-methods button{border:0;background:var(--field);border-radius:14px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--ink);transition:all .2s var(--spring)}
.pd-methods button span{font-size:22px;line-height:1}
.pd-methods button:hover{background:var(--field-hover)}
.pd-methods button.on{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--accent) 80%,transparent);transform:translateY(-1px)}
.pd-split2{display:flex;flex-direction:column;gap:8px}
.pd-srow{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px;align-items:center}
.pd-srow .money-in{background:var(--field);border:0}
.pd-srow-f{display:flex;justify-content:space-between}
.pd-more{align-self:flex-start;font-size:13px;color:var(--muted)}
.pd-go{border:0;border-radius:16px;min-height:56px;font-size:17px;font-weight:700;color:var(--accent-ink);background:var(--accent);box-shadow:0 10px 24px -12px color-mix(in srgb,var(--accent) 80%,transparent);transition:transform .2s var(--spring),filter .2s,opacity .2s;margin-top:4px}
.pd-go span{font-weight:800}
.pd-go:hover:not(:disabled){filter:brightness(1.08)}.pd-go:active:not(:disabled){transform:scale(.98)}
.pd-go:disabled{background:var(--field);color:var(--muted);box-shadow:none;font-weight:600;font-size:15px;opacity:1}

.pd-check{width:72px;height:72px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:36px;font-weight:800;animation:popIn .5s var(--spring);box-shadow:0 14px 30px -12px var(--ok)}




.ph-ic{width:40px;height:40px;border-radius:12px;background:var(--field);display:grid;place-items:center;font-size:19px;flex:none}
.ph-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ph-m b{font-size:16px}.ph-m small{color:var(--muted);font-size:12.5px}
.ph-for{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-x{border:0;background:none;color:var(--muted);font-size:12.5px;font-weight:600;padding:6px 8px;border-radius:8px;cursor:pointer}
.ph-x:hover{background:var(--bad-bg);color:var(--bad)}
@media (max-width:700px){.pay-sum{grid-template-columns:1fr}.pd-srow{grid-template-columns:1fr 1fr auto}}



/* ---------- visit history (patient → Цаг) ---------- */
.vh{display:flex;flex-direction:column;gap:16px}
.vlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.vd{display:flex;align-items:center;gap:14px;width:100%;border:0;background:var(--field);border-radius:14px;padding:10px 14px 10px 10px;text-align:left;cursor:pointer;color:var(--ink);transition:background-color .15s,transform .2s var(--spring)}
.vd:hover{background:var(--field-hover)}.vd:active{transform:scale(.99)}
.vd-date{width:58px;flex:none;display:flex;flex-direction:column;align-items:center;background:var(--surface);border-radius:11px;padding:6px 0;box-shadow:var(--sh-card);line-height:1.1}
.vd-date b{font-size:20px;font-weight:700}.vd-date small{font-size:10.5px;color:var(--muted);font-weight:600}
.vd-ok .vd-date{box-shadow:inset 0 3px 0 var(--ok),var(--sh-card)}.vd-bad .vd-date{box-shadow:inset 0 3px 0 var(--bad),var(--sh-card)}
.vd-info .vd-date{box-shadow:inset 0 3px 0 #2f78c4,var(--sh-card)}.vd-warn .vd-date{box-shadow:inset 0 3px 0 var(--warn),var(--sh-card)}
.vd-mute{opacity:.65}
.vd-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.vd-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vd-st{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}
.vd-st.ok{background:var(--ok-bg);color:var(--ok)}.vd-st.bad{background:var(--bad-bg);color:var(--bad)}.vd-st.warn{background:var(--warn-bg);color:var(--warn)}
.vd-st.info{background:color-mix(in srgb,#2f78c4 14%,transparent);color:#2f78c4}.vd-st.mute{background:var(--soft);color:var(--muted)}
.vd-st.big{font-size:13px;padding:4px 12px}
.vd-time{font-weight:600;font-size:13px}.vd-doc{color:var(--muted);font-size:13px}
.vd-what{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vd-money{display:flex;flex-direction:column;align-items:flex-end;flex:none}.vd-money b{font-size:15px}.vd-money small{font-size:11.5px;color:var(--muted)}
.vd-money .bad{color:var(--bad)}
.vd-go{font-size:22px;color:var(--muted);flex:none}
.dayc{display:flex;flex-direction:column;max-height:calc(100vh - 8vh);min-height:0}
.dayc-h{display:flex;align-items:center;gap:12px;padding:20px 22px 14px;border-bottom:.5px solid var(--hair)}
.dayc-h>div{flex:1}.dayc-h small{color:var(--muted);font-weight:600;font-size:12.5px}.dayc-h h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0}
.dayc-h .x{width:30px;height:30px;border-radius:50%;background:var(--field);color:var(--muted);font-size:20px;display:grid;place-items:center;border:0;line-height:1}
.dayc-b{padding:16px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.dayc-sec{background:var(--field);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.dayc-sec h4{margin:0;font-size:13.5px;font-weight:700}
.dayc-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px}.dayc-kv span{color:var(--muted)}.dayc-kv b{font-weight:600}
.dayc-act{display:flex;gap:8px}
.dayc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dayc-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:.5px solid var(--line)}.dayc-list li:last-child{border-bottom:0}
.dayc-list li>span{display:flex;flex-direction:column;min-width:0}.dayc-list li .r{align-items:flex-end;flex:none}
.dayc-list b{font-size:14px;font-weight:600}.dayc-list small{font-size:12px;color:var(--muted)}.dayc-list small.bad{color:var(--bad)}.dayc-list small.okc{color:var(--ok)}
.dayc-note{border-radius:12px;padding:10px 14px;background:var(--soft);color:var(--muted);font-weight:600}.dayc-note.bad{background:var(--bad-bg);color:var(--bad)}
.dayc-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 22px 4px}
.dayc-sum>div{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:12px;background:var(--surface);box-shadow:var(--sh-card)}
.dayc-sum span{font-size:12px;color:var(--muted);font-weight:600}.dayc-sum b{font-size:16px}.dayc-sum .bad{color:var(--bad)}
.dayc-f{display:flex;gap:8px;padding:14px 22px 20px}.dayc-f .btn{flex:1;min-height:44px}
@media (max-width:640px){.vd-money{display:none}}
.vd-st.pay{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.vd-pay .vd-date{box-shadow:inset 0 3px 0 var(--accent),var(--sh-card)}

/* ---------- calendar: full width, bigger, cleaner ---------- */
.page.cal-page{max-width:none;padding:20px 24px 28px;gap:14px}
.cal-top{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.cal-title h1{font-size:30px;font-weight:800;letter-spacing:-.025em}
.cal-title .sub{font-size:14px;margin-top:2px}
.cal-tools{gap:10px}
.cal-tools .seg button{padding:8px 14px;font-size:14px}
.cal-tools .dpk-f,.cal-tools select{height:40px}
.cal-tools .cal-doc{width:auto;min-width:150px}
.cal-tools .btn.primary{min-height:40px;padding:9px 18px}
.dgrid-wrap{border:0;border-radius:22px;box-shadow:var(--sh-card);max-height:calc(100vh - 190px);background:var(--surface);scroll-behavior:smooth}
.dgrid{grid-template-columns:64px repeat(var(--cols),minmax(210px,1fr))}
.dg-times{margin-top:60px;border-right:.5px solid var(--line)}
.dg-times span{right:10px;font-family:var(--f-body);font-size:12.5px;font-weight:600;color:var(--ink)}
.dg-times span.half{font-weight:500;color:var(--muted);font-size:11.5px}
.dg-col{border-right:.5px solid var(--line);min-width:210px}
.dg-h{height:60px;padding:8px 14px;border-top:0;border-bottom:.5px solid var(--line);display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;align-content:center;box-shadow:inset 0 3px 0 var(--dc)}
.dg-h b{font-size:15px;font-weight:700;letter-spacing:-.01em;grid-column:2}
.dg-h small{grid-column:2;font-size:12px}
.dg-av{grid-row:1/3;width:34px;height:34px;border-radius:50%;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:15px}
.dg-slot{border-top:.5px dashed color-mix(in srgb,var(--line) 70%,transparent)}
.dg-slot.hr{border-top:.5px solid var(--line)}
.dg-slot:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.dg-slot:hover::after{content:attr(data-t);position:absolute;left:10px;top:8px;font-size:12.5px;font-weight:600;color:var(--accent)}
.dg-now{height:2px}
.dg-now span{left:-2px;top:-10px;font-family:var(--f-body);font-weight:700;font-size:11px;border-radius:6px;padding:2px 6px}
.dg-now::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--bad)}
.dg-appt{left:6px;right:6px;border-radius:12px;border-left-width:4px;padding:7px 10px;gap:2px;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .2s var(--spring),box-shadow .2s}
.dg-appt:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(0,0,0,.3);z-index:4}
.dg-l1 b{font-size:13.5px;font-weight:700}
.dg-appt small{font-size:12px}
.dg-note{font-weight:600}
.dg-ic i{font-style:normal;font-weight:800;font-size:12px;margin-left:4px}
.dg-block span{top:68px;font-size:11.5px;padding:3px 10px;border-radius:999px}
.cal-legend{justify-content:center;gap:6px 18px;font-size:12px;padding:2px 0}
@media (max-width:900px){.page.cal-page{padding:14px 12px 24px}.cal-title h1{font-size:24px}.cal-tools{width:100%}.dgrid{grid-template-columns:52px repeat(var(--cols),minmax(170px,1fr))}.dg-col{min-width:170px}}
.dg-times{position:sticky;left:0;z-index:5;background:var(--surface)}
.dg-corner{position:sticky;top:0;height:60px;margin-top:-60px;background:var(--surface);border-bottom:.5px solid var(--line);z-index:6}
.dg-h{z-index:4}
.dg-l1 b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
/* drag to move / resize appointments */
.dg-appt{user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab}
.dg-grip{position:absolute;top:6px;right:4px;bottom:12px;width:14px;border-radius:6px;cursor:grab;opacity:0;transition:opacity .15s;touch-action:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--ink) 45%,transparent) 1.3px,transparent 1.6px) 0 0/7px 7px}
.dg-appt:hover .dg-grip{opacity:.9}
@media (pointer:coarse){.dg-grip{opacity:.6}}
.dg-resize{position:absolute;left:30%;right:30%;bottom:1px;height:8px;cursor:ns-resize;touch-action:none}
.dg-resize::after{content:"";position:absolute;left:50%;bottom:2px;width:28px;height:4px;margin-left:-14px;border-radius:2px;background:color-mix(in srgb,var(--ink) 30%,transparent);opacity:0;transition:opacity .15s}
.dg-appt:hover .dg-resize::after{opacity:1}
.dg-appt.dragging{z-index:20;cursor:grabbing;box-shadow:0 18px 40px -12px rgba(0,0,0,.4);opacity:.95;transition:none;scale:1.02}
.dg-appt.dragging::after{content:attr(data-drag);position:absolute;left:6px;bottom:6px;z-index:2;background:var(--ink);color:var(--surface);font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
body.dg-dragging{cursor:grabbing!important}
body.dg-dragging .dg-slot:hover::after{display:none}
.dg-l1{padding-right:12px}
/* selecting empty time */
.dg-sel{position:absolute;left:3px;right:3px;z-index:2;border-radius:10px;background:color-mix(in srgb,#3b82f6 22%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#3b82f6 70%,transparent);
  display:flex;flex-direction:column;justify-content:flex-start;padding:8px 10px;gap:2px;cursor:context-menu;animation:fade .15s ease-out}
.dg-sel span{font-size:13px;font-weight:700;color:#1d4ed8}.dg-sel small{font-size:11.5px;color:#1d4ed8;opacity:.75}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dg-sel span,:root:not([data-theme="light"]) .dg-sel small{color:#93c5fd}}
.ctx-dot{display:inline-block;width:11px;height:11px;border-radius:50%}
.ctx-warn{font-size:12px;color:#fdba74;padding:2px 12px 6px}
.dg-block{pointer-events:none}

/* calendar grid only: warm beige paper */
:root{--cal-bg:#faf5ec;--cal-line:#ebe1d0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--cal-bg:var(--surface);--cal-line:var(--line)}}
:root[data-theme="dark"]{--cal-bg:var(--surface);--cal-line:var(--line)}
.dgrid-wrap,.dg-times,.dg-corner{background:var(--cal-bg)}
.dg-h{background:color-mix(in srgb,var(--cal-bg) 90%,transparent)}
.dg-col,.dg-times{border-right-color:var(--cal-line)}
.dg-h,.dg-corner{border-bottom-color:var(--cal-line)}
.dg-slot{border-top-color:color-mix(in srgb,var(--cal-line) 75%,transparent)}.dg-slot.hr{border-top-color:var(--cal-line)}
/* inline doctor / assistant pickers in the treatment sheet */
select.pp{width:auto;max-width:150px;min-width:0;padding:5px 26px 5px 9px;font-size:13.5px;font-weight:500;background-color:transparent;border-radius:8px;background-position:right 8px center!important;color:var(--ink)}
select.pp:hover{background-color:var(--field)}
select.pp.none{color:var(--muted);font-style:italic;font-weight:400}

/* ---------- visit bar (date · doctor · assistant) ---------- */
.vbar2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--surface);border-radius:18px;box-shadow:var(--sh-card);padding:10px}
.vb-card{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border-radius:14px;border:1px solid var(--line);background:var(--surface);position:relative;min-width:0;transition:border-color .15s,box-shadow .2s}
.vb-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.vb-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.vb-card.need{border-color:color-mix(in srgb,var(--warn) 60%,var(--line));background:var(--warn-bg)}
.vb-ic{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,#3b82f6 12%,transparent);color:#2563eb;display:grid;place-items:center;flex:none}
.vb-dt{display:flex;flex-direction:column;min-width:0;flex:1}.vb-dt small{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.vb-dt .dpk-f{border:0;background:none;height:24px;padding:0;font-size:15px}.vb-dt .dpk-f svg{display:none}.vb-dt .dpk-f small{display:none}
.vb-badge{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:9px}
.vb-badge.doc{background:color-mix(in srgb,#2563eb 12%,transparent);color:#2563eb}
.vb-badge.asst{background:color-mix(in srgb,#9333ea 12%,transparent);color:#9333ea}
.vb-sel{flex:1;min-width:0;border:0!important;background-color:transparent!important;box-shadow:none!important;font-size:15px;font-weight:600;padding:8px 26px 8px 4px}
.vb-x{flex:none;border:0;background:none;color:var(--bad);font-size:20px;line-height:1;width:24px;height:24px;border-radius:6px;cursor:pointer;position:absolute;right:30px}
.vb-x:hover{background:var(--bad-bg)}
@media (max-width:800px){.vbar2{grid-template-columns:1fr}}

/* ---------- tooth selector ---------- */
.tchart:not(.compact){gap:10px}
.tc-title{text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.tc-title b{color:var(--accent)}.tc-title span{font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none}
.tc-row{gap:4px}
.tc-row.btns{align-items:stretch;margin:4px 0}
.tc-cell{min-width:0;display:flex;justify-content:center;padding:0 2px}
.tc-seg,.tc-let{width:100%;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:10px;font-weight:700;color:var(--muted);font-size:13px;cursor:pointer;position:relative;transition:all .18s var(--spring);white-space:nowrap;padding:0 4px}
.tc-let{max-width:34px;font-size:14px}
.tc-seg:hover,.tc-let:hover{border-color:var(--accent);color:var(--accent)}
.tc-seg.on,.tc-let.on{background:#8f8f8f;border-color:#8f8f8f;color:#fff}
.tc-let i{position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:50%}
.tooth.sel{background:none!important;box-shadow:none!important}
.tooth.sel svg{filter:none}
.tooth.sel .tn{color:var(--ink);font-weight:800}
.tooth:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.tn{color:color-mix(in srgb,var(--muted) 70%,transparent);font-size:11px}
.tc-foot{display:flex;justify-content:center;align-items:center;position:relative;margin-top:4px;min-height:40px}
.tc-quick2{display:flex;gap:8px}
.qk{border:0;border-radius:999px;padding:8px 18px;font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:#fff;cursor:pointer;transition:transform .2s var(--spring),filter .15s}
.qk:hover{filter:brightness(1.08)}.qk:active{transform:scale(.95)}
.qk.jaw{background:#3fb39b}.qk.front{background:#7c3fb5}.qk.all{background:#ef4e2d}




.tc-clear{position:absolute;right:0;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:7px 14px;font-weight:500;cursor:pointer;color:var(--ink)}
.tc-clear:disabled{opacity:.4;cursor:default}
@media (max-width:700px){.tc-clear{position:static;margin-left:8px}.tc-foot{flex-wrap:wrap;gap:8px}.tc-seg{font-size:11px}}

/* ---------- treatment sheet ---------- */
.txs{padding:0;overflow:hidden;gap:0}
.txs>.card-h{padding:16px 20px}
.txs-h{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.txs-ic{width:32px;height:32px;border-radius:9px;background:#2563eb;color:#fff;display:grid;place-items:center}
.txs-n{font-size:11.5px;font-weight:700;text-transform:none;letter-spacing:0;color:#2563eb;background:color-mix(in srgb,#2563eb 10%,transparent);padding:3px 9px;border-radius:999px}
.tbl.txt th{background:color-mix(in srgb,#22c55e 9%,var(--surface));font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:12px 10px;border-bottom:0;border-right:.5px solid var(--line);white-space:nowrap}
.tbl.txt th:first-child{padding-left:20px}
.tbl.txt td{padding:12px 10px;border-right:.5px solid var(--line);vertical-align:middle}
.tbl.txt td:first-child{padding-left:20px}
.tbl.txt th:last-child,.tbl.txt td:last-child{border-right:0}
.th-in{display:inline-flex;align-items:center;gap:6px}
.th-b{position:relative;border:0;background:none;color:color-mix(in srgb,var(--muted) 75%,transparent);width:20px;height:20px;border-radius:5px;display:inline-grid;place-items:center;cursor:pointer;padding:0}
.th-b:hover{background:var(--field);color:var(--ink)}.th-b.on{color:#2563eb}
.th-fsel{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;padding:0}
.tx-d{color:#2563eb;font-weight:700;white-space:nowrap}
.tx-cross{display:inline-grid;grid-template-columns:repeat(2,minmax(50px,auto));border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:12.5px;font-weight:700}
.tx-q{padding:5px 10px;text-align:center;color:color-mix(in srgb,var(--muted) 60%,transparent);font-weight:500;letter-spacing:.06em}
.tx-q:nth-child(1),.tx-q:nth-child(2){border-bottom:1px solid var(--line)}
.tx-q:nth-child(odd){border-right:1px solid var(--line)}
.tx-q.on{background:color-mix(in srgb,#2563eb 8%,transparent);color:#2563eb;font-weight:700}
select.pp{border:1px solid var(--line)!important;background-color:var(--surface)}
select.pp.none{border-style:dashed!important}
/* teeth: flat cream illustration style with bold outline */
:root{--tooth:#f8edd2;--tooth-line:#211b14;--tooth-sel:#a2a2a2}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--tooth:#efe2c2;--tooth-line:#120e0a;--tooth-sel:#8b8b8b}}
:root[data-theme="dark"]{--tooth:#efe2c2;--tooth-line:#120e0a;--tooth-sel:#8b8b8b}
.tx-del{border:0;background:none;width:34px;height:34px;border-radius:9px;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s,color .15s}
.tx-del:hover{background:var(--bad-bg);color:var(--bad)}
.tx-del.dim{opacity:.35}

/* ---------- new appointment form ---------- */
.nf .adet-b{gap:9px}
.nf .adet-who{cursor:default}
.nf-chg{border:0;background:var(--surface);border-radius:9px;padding:7px 12px;font-weight:600;font-size:13px;cursor:pointer;color:var(--ink)}
.nf-chg:hover{background:var(--field-hover)}
.nf div.pp input{background:var(--field);border-radius:14px;height:52px;font-size:15px;padding-left:16px}
.nf-new{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center}
.nf-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--warn-bg);color:var(--warn);padding:6px 9px;border-radius:8px}

.nf-doc{display:flex;align-items:center;gap:9px;border:1.5px solid transparent;background:var(--field);border-radius:13px;padding:8px 10px;font-weight:600;font-size:14px;color:var(--ink);cursor:pointer;transition:all .2s var(--spring);text-align:left}
.nf-doc i{width:28px;height:28px;border-radius:50%;background:var(--dc);color:#fff;font-style:normal;font-weight:800;display:grid;place-items:center;flex:none;font-size:13px}
.nf-doc:hover{background:var(--field-hover)}
.nf-doc.on{border-color:var(--dc);background:color-mix(in srgb,var(--dc) 10%,var(--surface));box-shadow:0 6px 16px -10px var(--dc)}
.nf-end{justify-content:space-between;padding:0 14px !important;height:46px}.nf-end b{font-size:15px}.nf-end span{font-size:12.5px;color:var(--muted);font-weight:600}
.nf-dur,.nf-chips,.nf-chairs{display:flex;flex-wrap:wrap;gap:6px}
.nf-dur button,.nf-chips button,.nf-chairs button{border:0;background:var(--field);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .18s var(--spring)}
.nf-dur button:hover,.nf-chips button:hover,.nf-chairs button:hover{background:var(--field-hover)}
.nf-dur button.on,.nf-chairs button.on{background:var(--ink);color:var(--surface)}
.nf-chips button.on{background:var(--tc,var(--accent));color:#fff}
.nf-chairs button{min-width:38px}
.nf-row2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.nf-row2>div{display:flex;flex-direction:column;gap:6px}
.nf .adet-l{margin-top:8px}
.nf .alert{margin:2px 0}
@media (max-width:640px){.nf-row2{grid-template-columns:1fr}.nf-new{grid-template-columns:1fr}}

/* ---------- settings (System Settings style) ---------- */
.page.set-page{max-width:1180px}
.set{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.set-nav{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px}
.set-nav h1{font-size:26px;margin:0 0 12px 6px}
.set-me{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:14px;box-shadow:var(--sh-card);padding:10px 12px;margin-bottom:10px}
.set-me b{display:block;font-size:14px}.set-me small{color:var(--muted);font-size:12px}
.set-av,.nl-av{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;background:linear-gradient(145deg,color-mix(in srgb,var(--mint) 40%,var(--surface)),color-mix(in srgb,var(--accent) 30%,var(--surface)));color:var(--accent);border:0;font-size:14px}
.nl-av{width:30px;height:30px;font-size:13px}
.set-gap{height:10px}
.set-nav a{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-weight:500;font-size:14px;transition:background-color .15s}
.set-nav a:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.set-nav a.on{background:var(--accent);color:var(--accent-ink)}
.set-ic{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.12)}
.set-pane{display:flex;flex-direction:column;gap:22px;min-width:0;animation:fade .2s ease-out}
.set-head{display:flex;align-items:center;gap:12px}.set-head .set-ic{width:34px;height:34px;border-radius:9px}.set-head .set-ic svg{width:20px;height:20px}
.set-head h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}
.sg h4{margin:0 0 7px 14px;font-size:12.5px;font-weight:600;color:var(--muted)}
.sg-list{background:var(--surface);border-radius:14px;box-shadow:var(--sh-card);overflow:visible}
.sg-list:empty{display:none}
.sg-foot{margin:7px 14px 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.sg-note{background:var(--soft);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--muted)}.sg-note.warn{background:var(--warn-bg);color:var(--warn)}
.sr{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:8px 16px;border-bottom:.5px solid var(--line);position:relative}
.sr:last-child{border-bottom:0}
.sr.off{opacity:.55}
.sr-l{display:flex;align-items:center;gap:11px;font-size:14.5px;min-width:0;flex:1}
.sr-l>span{display:flex;flex-direction:column;min-width:0}.sr-l b{font-weight:600}
.sr-l small{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.sr-c{display:flex;align-items:center;gap:8px;flex:none}
.sr-in{border:0!important;background:transparent!important;box-shadow:none!important;text-align:right;font-size:14.5px;padding:6px 2px;min-width:220px;color:var(--ink)}
.sr-in:focus{background:var(--field)!important;border-radius:8px;text-align:left;padding:6px 10px}
.sr-in.plain{text-align:left;min-width:0;width:100%;font-weight:600}
.sr-in:disabled{color:var(--muted)}
.sr-sel{width:auto;min-width:150px;background-color:var(--field)}
.sr-range{display:flex;align-items:center;gap:6px}.sr-range .dpk-f{height:36px}
.sr-act{justify-content:flex-start;gap:12px}
.sr-num{font-size:15px}
.sr-link{display:flex;gap:6px;align-items:center}.sr-link .sr-in{min-width:280px;text-align:left;color:var(--accent)}

.sr-addrow{width:100%;border:0;background:none;color:var(--accent);font-weight:600;font-size:14px;cursor:pointer;justify-content:flex-start;min-height:44px;border-radius:0 0 14px 14px}
.sr-addrow:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.sr-kinds{display:flex;gap:6px;flex-wrap:wrap}
.sr-kinds button{border:0;background:var(--field);border-radius:999px;padding:6px 13px;font-weight:600;font-size:13px;color:var(--ink);cursor:pointer}
.sr-kinds button.on{background:var(--kc);color:#fff}
/* iOS switch */
.sw{position:relative;display:inline-block;width:46px;height:28px;flex:none;cursor:pointer}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw span{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 16%,transparent);transition:background-color .25s}
.sw span::after{content:"";position:absolute;left:2px;top:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:transform .3s var(--spring)}
.sw input:checked+span{background:#34c759}.sw input:checked+span::after{transform:translateX(18px)}
.sw input:disabled+span{opacity:.5;cursor:default}
.stepper{display:inline-flex;align-items:center;gap:0;background:var(--field);border-radius:10px;overflow:hidden}
.stepper button{border:0;background:none;width:38px;height:34px;font-size:18px;font-weight:600;cursor:pointer;color:var(--ink)}
.stepper button:hover:not(:disabled){background:var(--field-hover)}.stepper button:disabled{opacity:.3}
.stepper b{min-width:30px;text-align:center}
/* name lists */
.nl-act button{border:0;background:var(--field);width:30px;height:30px;border-radius:8px;cursor:pointer;color:var(--ink);font-weight:700}
.nl-act button:disabled{opacity:.3;cursor:default}
.nl-del{border:0!important;background:none!important;color:var(--bad)!important;font-weight:600!important;width:auto!important;padding:0 8px;font-size:13px;cursor:pointer;border-radius:8px;height:30px}
.nl-del:hover{background:var(--bad-bg)!important}
.nl-add{gap:10px}.nl-add .sr-in{text-align:left;flex:1;min-width:0;background:var(--field)!important;border-radius:9px;padding:8px 12px}


.nl-pal{position:absolute;left:0;top:38px;z-index:20;display:flex;gap:6px;align-items:center;padding:8px;border-radius:12px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-pop);animation:dpIn .25s var(--spring)}
.nl-pal button{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.nl-pal button.on{border-color:var(--ink)}
.nl-pal label{width:24px;height:24px;border-radius:50%;background:var(--field);display:grid;place-items:center;cursor:pointer;font-weight:700;position:relative;overflow:hidden}
.nl-pal label input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* catalog */
.set-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.set-tools .search{flex:1;min-width:200px}
.set-chip{border:0;background:var(--field);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;cursor:pointer;color:var(--ink)}
.set-chip.on{background:var(--ink);color:var(--surface)}
.sr.cat{min-height:56px}
.cat-code{font-size:11.5px;font-weight:700;color:var(--muted);min-width:38px;font-variant-numeric:tabular-nums}
.cat-price{display:inline-flex;align-items:center;background:var(--field);border-radius:9px;padding:0 10px 0 2px;width:140px}
.cat-price input{border:0!important;background:none!important;box-shadow:none!important;text-align:right;font-weight:700;font-size:14.5px;padding:7px 4px;width:100%}
.cat-price i{font-style:normal;color:var(--muted);font-weight:600}
.cat-price:focus-within{box-shadow:0 0 0 2px var(--accent);background:var(--surface)}
.cat-more{border:0;background:none;width:32px;height:32px;border-radius:8px;font-size:18px;font-weight:800;color:var(--muted);cursor:pointer}
.cat-more:hover{background:var(--field);color:var(--ink)}
.set-edit .sg-list{box-shadow:none;background:var(--field)}
.set-edit .sr{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}
.set-edit .adet-h h2{flex:1}
@media (max-width:900px){.set{grid-template-columns:1fr}.set-nav{position:static}.set-nav h1{display:none}.sr-in{min-width:0;width:100%}.sr{flex-wrap:wrap}.sr-link .sr-in{min-width:0}}
.role-pick{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px!important}
.role-pick button{border:1.5px solid transparent;background:var(--field);border-radius:12px;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;color:var(--ink);transition:all .2s var(--spring)}
.role-pick button b{font-size:14px}.role-pick button small{font-size:11.5px;color:var(--muted);line-height:1.3}
.role-pick button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.nl-av.inv{background:var(--warn-bg);color:var(--warn)}
.you{font-style:normal;font-size:11px;font-weight:700;color:var(--accent);background:var(--tint);padding:1px 7px;border-radius:999px;margin-left:4px}

.login-card .code-in{font-size:24px;letter-spacing:.4em;text-align:center;font-weight:700}
@media (max-width:800px){.role-pick{grid-template-columns:1fr 1fr}}
/* doctor list + card */
.doc-row{width:100%;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.doc-row:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}
.doc-stat{font-size:12.5px;color:var(--muted)}.doc-stat b{color:var(--ink)}
.sr-chev{font-size:20px;color:var(--muted)}
.dcard{background:var(--bg);min-height:100%}
.dcard-h{display:flex;align-items:center;gap:14px;padding:22px 22px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--dc) 18%,var(--surface)),var(--surface));position:sticky;top:0;z-index:3}
.dcard-h>div{flex:1;min-width:0}.dcard-h h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em}.dcard-h p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.dcard-av{width:58px;height:58px;border-radius:50%;background:var(--dc);color:#fff;font-size:24px;font-weight:800;display:grid;place-items:center;box-shadow:0 8px 20px -8px var(--dc);flex:none}
.dcard-h .x{width:30px;height:30px;border-radius:50%;background:var(--field);border:0;font-size:20px;color:var(--muted);cursor:pointer}
.dcard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;padding:14px 22px 0}
.dcard-stats>div{background:var(--surface);border-radius:14px;box-shadow:var(--sh-card);padding:10px 12px;display:flex;flex-direction:column}
.dcard-stats b{font-size:17px;font-weight:800;letter-spacing:-.02em}.dcard-stats span{font-size:11.5px;color:var(--muted);font-weight:600}
.dcard-cap{margin:6px 24px 0;font-size:11.5px;color:var(--muted)}
.dcard-tabs{padding:14px 22px 0}.dcard-tabs .seg{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}
.dcard .pbody{gap:20px}
.dcard-note{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;padding:4px 0;resize:vertical}
.wk-d{min-width:40px}
.nl-pal.static{position:static;box-shadow:none;background:none;padding:0;animation:none}
.cat-price.pct{width:100px}
/* posts review */
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bad);color:#fff;font-size:11.5px;font-weight:800;display:inline-grid;place-items:center}
.side nav a.on .nav-badge{background:#fff;color:var(--bad)}
.rq{border:1.5px solid color-mix(in srgb,var(--warn) 45%,transparent)}
.rq h3{display:flex;align-items:center;gap:8px}
.rq-list,.my-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rq-list button,.my-posts button,.my-posts a{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--field);border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--ink);text-decoration:none;transition:background-color .15s}
.rq-list button:hover,.my-posts button:hover,.my-posts a:hover{background:var(--field-hover)}
.rq-av{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.rq-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rq-t b{font-size:15px}.rq-t small{color:var(--muted);font-size:12.5px}
.rq-t>span{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-note{color:var(--warn)!important;font-weight:600}
.my-posts .site-thumb{width:56px;height:56px;border-radius:10px;flex:none;background:var(--surface) center/cover;display:grid;place-items:center;font-size:22px}
.pill.pst-draft{color:var(--muted)}.pill.pst-pending{color:var(--warn)}.pill.pst-rejected{color:var(--bad)}.pill.pst-published{color:var(--ok)}
.post-form .post-title{font-size:22px;font-weight:800;letter-spacing:-.02em;border:0!important;background:none!important;box-shadow:none!important;padding:4px 0 10px;border-bottom:1px solid var(--line)!important;border-radius:0}
.post-form .post-body{font-size:15px;line-height:1.6}
.post-form fieldset{display:flex;flex-direction:column;gap:14px}
.post-foot{justify-content:space-between}.post-acts{display:flex;gap:8px}
/* staff onboarding */
.staff-open{border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.staff-open:disabled{cursor:default}
.staff-open:hover:not(:disabled) b{color:var(--accent)}
.st-onb{color:var(--warn);font-weight:600}
.ob{min-height:100vh;display:flex;justify-content:center;padding:40px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--mint) 10%,var(--bg)),var(--bg) 320px)}
.ob-card{width:min(760px,100%);display:flex;flex-direction:column;gap:18px}
.ob-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.ob-head .logo{width:180px;height:60px}
.ob-head h1{font-size:30px;margin:6px 0 0}.ob-head p{color:var(--muted);max-width:560px;margin:0;line-height:1.5}

.ob-head small{color:var(--muted);font-size:12px}
.ob-card section{background:var(--surface);border-radius:18px;box-shadow:var(--sh-card);padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.ob-card section h3{margin:0;font-size:15px}

.ob-f{display:flex;flex-direction:column;gap:5px;min-width:0}.ob-f.wide{grid-column:1/-1}
.ob-f>span{font-size:12.5px;font-weight:600;color:var(--muted)}.ob-f>span b{color:var(--bad)}
.ob-f input[readonly]{color:var(--muted)}

.ob-ok{display:flex;gap:10px;align-items:center;font-weight:500;padding:0 4px}


.ob-f .dpk{width:100%}.ob-f .dpk-f{flex-direction:row!important;justify-content:flex-start;height:42px;text-align:left}

/* ---------- Хянах самбар ---------- */
.dash .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpi{background:var(--surface);border-radius:16px;box-shadow:var(--sh-card);padding:14px 16px;display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none;transition:transform .25s var(--spring)}
a.kpi:hover{transform:translateY(-2px)}
.kpi>span{font-size:12.5px;color:var(--muted);font-weight:600}
.kpi>b{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.kpi.ok>b{color:var(--ok)}.kpi.bad>b{color:var(--bad)}
.kpi small{color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.dt{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.dt.ok{background:var(--ok)}.dt.bad{background:var(--bad)}.dt.bl{background:#2f78c4}
.sbar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:var(--soft)}.sbar i{display:block;height:100%}
.income .card-h{align-items:baseline}.inc-tot{font-size:22px;color:var(--ok)}
.pm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:6px}
.pm{position:relative;overflow:hidden;background:var(--soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.pm span{font-size:13px;font-weight:600}.pm b{font-size:18px}.pm small{color:var(--muted);font-size:11.5px}
.pm i{position:absolute;left:0;bottom:0;height:3px;background:var(--ok);border-radius:0 3px 3px 0}
.pm.zero{opacity:.45}
.inc-tbl{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}
.inc-tbl th{text-align:right;color:var(--muted);font-weight:600;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line)}
.inc-tbl td{text-align:right;padding:7px 8px;border-bottom:1px solid var(--line)}
.inc-tbl th:first-child,.inc-tbl td:first-child{text-align:left}.inc-tbl td:first-child .dt{margin-right:6px}
.tbl-wrap{overflow-x:auto}









.mix{display:flex;flex-wrap:wrap;gap:6px}.mix span{background:var(--soft);border-radius:999px;padding:3px 9px;font-size:12px}.mix b{color:var(--dc)}













.callboard{position:sticky;top:12px}
.cb-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 10px}
.cb-tabs button{border:0;background:var(--soft);border-radius:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:inherit;font:inherit;transition:background .2s}
.cb-tabs button b{font-size:20px;line-height:1.1}.cb-tabs button span{font-size:11.5px;color:var(--muted);font-weight:600}
.cb-tabs button[aria-pressed=true]{background:#1d1d1f;color:#fff}.cb-tabs button[aria-pressed=true] span{color:inherit;opacity:.8}
.cb-tabs .cb-lease b{color:#c23b33}.cb-tabs .cb-ctrl b{color:#e0701f}.cb-tabs .cb-lab b{color:#0e8f8f}.cb-tabs .cb-no b{color:#8a5cc2}
.cb-tabs button[aria-pressed=true] b{color:inherit}
.cb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cb-list li{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid var(--line)}
.cb-list li:last-child{border-bottom:0}
.cb-n{flex:1;min-width:0;background:none;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit;padding:0;display:flex;flex-direction:column}
.cb-n b{font-size:13.5px}.cb-n small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-r{display:flex;align-items:center;gap:6px;flex:none;font-size:12.5px}
.tel{color:var(--accent);text-decoration:none;font-weight:600}
.callboard .cb-list{max-height:520px;overflow:auto}


.wait{font-size:12px;color:var(--muted)}.wait.bad{color:var(--bad);font-weight:700}




.dash>*+*{margin-top:16px}
@media (max-width:600px){.dash .kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi>b{font-size:21px}.kpi{padding:12px}}

/* ---------- Үйлчлүүлэгчийн жагсаалт ---------- */
.pfilters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}






.pf-count{margin-left:auto;font-size:13px;color:var(--muted)}.pf-count b{color:var(--text)}
.ptbl-card{padding:4px 8px}
.ptbl{width:100%}
.ptbl th{cursor:pointer;user-select:none;white-space:nowrap;text-align:left;position:sticky;top:0;background:var(--surface);z-index:1}
.ptbl th:hover{color:var(--text)}.ptbl th.on{color:var(--accent)}
.ptbl th i{font-style:normal;font-size:9px;margin-left:4px}
.ptbl td{white-space:nowrap;font-size:13.5px}
.ptbl tbody tr{cursor:pointer}
.ptbl .c-name a{color:inherit;text-decoration:none}
.ptbl .c-age,.ptbl .c-card{text-align:right}.ptbl th.c-age,.ptbl th.c-card{text-align:right}
.ptbl .c-owe,.ptbl th.c-owe{text-align:right}
.ptbl .c-tx{display:flex;gap:4px;flex-wrap:nowrap}
.ptbl td.c-tx{display:table-cell}.ptbl td.c-tx span{margin-right:4px}
.ptbl-card .more{display:flex;justify-content:center;padding:12px}
@media (max-width:760px){.ptbl .c-rd,.ptbl .c-gender,.ptbl .c-last,.ptbl .c-tx{display:none!important}.pf-count{margin-left:0;width:100%}}
@media (max-width:760px){.ptbl td,.ptbl th{padding:9px 6px}}

.pfilters select,.pfilters input.search{width:auto!important;flex:0 1 220px;min-width:150px;margin:0}

.ptbl tr.colf th{padding:0 4px 8px;cursor:default;font-weight:400;top:37px}
.ptbl tr.colf input,.ptbl tr.colf select{width:100%;min-width:56px;box-sizing:border-box;padding:5px 7px;border-radius:7px;border:0;background:var(--soft);font:inherit;font-size:12.5px;color:var(--text);height:28px}
.ptbl tr.colf input.on{background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 0 0 1px var(--accent) inset}
.ptbl tr.colf input::placeholder{color:var(--muted);opacity:.7}
.ptbl th.c-age,.ptbl th.c-card{min-width:64px}.ptbl th.c-age{min-width:96px}
.ptbl tr.none td{text-align:center;padding:28px;color:var(--muted)}
@media (max-width:760px){.ptbl .c-ovog{display:none!important}}
.ptbl .c-ner a{color:inherit;text-decoration:none}

/* ---------- Шинэ үйлчлүүлэгч ---------- */
.pf2 .pbody{display:flex;flex-direction:column;gap:14px}
.pf2-hero{--hc:#0a4a3f;display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;color:#fff;
  background:linear-gradient(135deg,var(--hc),color-mix(in srgb,var(--hc) 60%,#0fbd9a));box-shadow:0 8px 24px -10px color-mix(in srgb,var(--hc) 70%,transparent);transition:background .4s}
.pf2-hero.mal{--hc:#2f6fd1}.pf2-hero.fem{--hc:#c2477e}
.pf2-av{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-weight:700;font-size:19px;letter-spacing:.02em;flex:none;border:2px solid rgba(255,255,255,.45)}
.pf2-who{display:flex;flex-direction:column;min-width:0}.pf2-who b{font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf2-who span{font-size:12.5px;opacity:.88}
.pf2-sec{--sc:#2f78c4;border-radius:14px;padding:12px 14px 6px;background:color-mix(in srgb,var(--sc) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--sc) 16%,transparent)}
.pf2-sec h4{margin:0 0 8px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:color-mix(in srgb,var(--sc) 80%,#000)}
.pf2-sec h4 i{font-style:normal;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--sc) 16%,var(--surface));font-size:13px}
.pf2-sec.s-id{--sc:#2f78c4}.pf2-sec.s-ct{--sc:#1f9d55}.pf2-sec.s-cl{--sc:#c98a12}
.pf2-sec input,.pf2-sec textarea,.pf2-sec .date-in{background:var(--surface)!important}
.pf2-sec input.ok{box-shadow:0 0 0 1.5px #1f9d55 inset}.pf2-sec input.bad{box-shadow:0 0 0 1.5px var(--bad) inset}
.pf2-sex{display:flex;gap:6px}
.pf2-sex button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:13.5px;cursor:pointer;color:inherit;transition:all .2s}
.pf2-sex button i{font-style:normal;font-weight:700}
.pf2-sex .sx-m i{color:#2f6fd1}.pf2-sex .sx-f i{color:#c2477e}
.pf2-sex .sx-m.on{background:#2f6fd1;border-color:#2f6fd1;color:#fff}.pf2-sex .sx-f.on{background:#c2477e;border-color:#c2477e;color:#fff}
.pf2-sex .on i{color:#fff}
.pf2-card{font-weight:700;font-size:16px!important}
.pf2 textarea.has{box-shadow:0 0 0 1.5px #e0701f inset}
.f-req{color:var(--bad);font-weight:700;margin-left:1px}
/* modal scrolls inside itself so the title bar stays on top */
@media (min-width:641px){.ovl-center .panel.modal{max-height:92vh;overflow-y:auto;overscroll-behavior:contain}}
.pf2-sec .dpk-f{background:var(--surface)}

/* ---------- Асуумж ---------- */
.pf2-sec.s-an{--sc:#d0465c}
.s-an h4{flex-wrap:wrap}
.an-prog{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface);border-radius:999px;padding:2px 9px}
.an-prog.done{color:#1f9d55}.an-prog b{color:#d0465c}
.an-allno{border:0;background:var(--surface);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.an-list{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.an-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:var(--surface);border-radius:10px;padding:7px 8px 7px 11px;border:1px solid transparent;transition:border-color .2s,background .2s}
.an-list li.un{border-style:dashed;border-color:color-mix(in srgb,var(--sc) 25%,transparent)}
.an-list li.yes{background:color-mix(in srgb,#e0701f 8%,var(--surface));border-color:color-mix(in srgb,#e0701f 35%,transparent)}
.an-list li.risk{background:color-mix(in srgb,#d0465c 9%,var(--surface));border-color:color-mix(in srgb,#d0465c 45%,transparent)}
.an-q{flex:1;min-width:0;font-size:13px;line-height:1.3}
.an-yn{display:flex;background:var(--soft);border-radius:8px;padding:2px;flex:none}
.an-yn button{border:0;background:none;padding:4px 10px;border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.an-yn .n.on{background:#1f9d55;color:#fff}.an-yn .y.on{background:#d0465c;color:#fff}
.an-d{flex-basis:100%;height:32px!important;font-size:13px!important;padding:4px 9px!important}
.an-at{margin:2px 0 4px;font-size:11.5px;color:var(--muted)}
@media (max-width:640px){.an-list{grid-template-columns:1fr}}
.an-alert{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px;border:0;border-radius:10px;padding:7px 12px;font:inherit;font-size:13px;text-align:left;cursor:pointer;width:max-content;max-width:100%}
.an-alert.bad{background:color-mix(in srgb,#d0465c 12%,transparent);color:#a3243a}
.an-alert.warn{background:color-mix(in srgb,#e0701f 12%,transparent);color:#a4520f}
.an-alert.ok{background:color-mix(in srgb,#1f9d55 10%,transparent);color:#1f7a45;font-weight:600}
.an-alert span{font-weight:500}.an-alert span.r{font-weight:700}.an-alert em{font-style:normal;font-weight:500}
.an-alert span+span::before{content:"·";margin-right:8px;opacity:.5}
.an-alert .miss{color:#a4520f;font-weight:600}
.pf2-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--soft);border-radius:12px;padding:4px}
.pf2-steps button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;border-radius:9px;padding:8px;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.pf2-steps button i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--line);color:var(--muted)}
.pf2-steps button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.pf2-steps button.on i{background:var(--accent);color:#fff}
.pf2-steps button.past i{background:#1f9d55;color:#fff}
.pf2-intro{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.pf2 .pbody>section,.pf2 .pbody>p{animation:pfIn .3s var(--spring)}
@keyframes pfIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pf2-act{display:flex;gap:8px}

/* ---------- РД ба хаяг ---------- */
.rd-in{position:relative;display:flex;gap:6px;align-items:stretch}
.rd-l{width:46px;height:42px;flex:none;border-radius:10px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;transition:all .15s}
.rd-l.nov{color:var(--muted);opacity:.55;font-weight:500}
.rd-l.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);opacity:1}
.rd-n{flex:1;min-width:0;font-size:17px!important;letter-spacing:.12em}
.rd-in.ok .rd-n,.rd-in.ok .rd-l{border-color:#1f9d55!important;box-shadow:0 0 0 1px #1f9d55 inset}
.rd-in.bad .rd-n{box-shadow:0 0 0 1.5px var(--bad) inset}
.rd-pop{position:absolute;top:48px;left:0;z-index:30;background:var(--surface);border-radius:14px;box-shadow:var(--sh-pop,0 12px 40px rgba(0,0,0,.18));padding:10px;width:min(330px,calc(100vw - 48px));animation:pfIn .2s var(--spring)}
.rd-pop-h{font-size:12px;font-weight:700;color:var(--muted);margin:0 2px 8px}
.rd-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rd-grid button{height:38px;border:0;border-radius:8px;background:var(--soft);font:inherit;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer}
.rd-grid button:hover{background:var(--field-hover,#e9e9ee)}
.rd-grid button.on{background:var(--accent);color:#fff}
.addr-in{display:flex;flex-direction:column;gap:8px}
.addr-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.addr-row select,.addr-row input{width:100%;min-width:0;background-color:var(--surface)!important}
@media (max-width:640px){.addr-row{grid-template-columns:1fr 1fr}.addr-row select:first-child{grid-column:1/-1}}
.pf2-warn{grid-column:1/-1;margin-top:-4px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--bad) 10%,var(--surface));color:var(--bad);font-size:13px;font-weight:600}
/* required fields */
.pf2-miss{border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--bad) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);color:var(--bad)}
.pf2-miss.soft{background:color-mix(in srgb,#e0701f 9%,var(--surface));border-color:color-mix(in srgb,#e0701f 30%,transparent);color:#a4520f}
.pf2-miss b{display:block;font-size:13px;margin-bottom:6px}
.pf2-miss div{display:flex;flex-wrap:wrap;gap:5px}
.pf2-miss span{font-size:12.5px;font-weight:600;background:var(--surface);border-radius:999px;padding:3px 9px}
.f.err>.lbl{color:var(--bad)}
.f.err input,.f.err select,.f.err .dpk-f,.f.err .rd-l,.f.err .rd-n,.f.err .pf2-sex button{box-shadow:0 0 0 1.5px var(--bad) inset!important}
.f.err .addr-row select:invalid,.f.err .addr-row select{box-shadow:0 0 0 1.5px var(--bad) inset!important}
.an-list li.need{border:1.5px solid var(--bad)!important;background:color-mix(in srgb,var(--bad) 6%,var(--surface))}
/* МН | EN switch */
.lang-sw{display:inline-flex;background:var(--soft,#f0f0f3);border-radius:9px;padding:2px;gap:2px;flex:none}
.lang-sw button{border:0;background:none;border-radius:7px;padding:3px 9px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--muted,#888);cursor:pointer}
.lang-sw button[aria-pressed=true]{background:var(--surface,#fff);color:var(--ink,#111);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.side-lang{margin-top:8px}.more-lang{margin:10px 12px}
.corner-lang{position:fixed;top:14px;right:14px;z-index:5}
.enbox{border:1px dashed color-mix(in srgb,#2f78c4 40%,transparent);border-radius:12px;padding:8px 12px;background:color-mix(in srgb,#2f78c4 4%,var(--surface));margin-top:6px}
.enbox summary{cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;font-size:13.5px}
.enbox summary::-webkit-details-marker{display:none}
.enbox summary span{color:var(--muted);font-size:12px}
.enbox[open] summary{margin-bottom:8px}
.enbox .f{margin-bottom:8px}
.more .lang-sw{width:max-content}
/* visit history dropdown */
.tb-cur{position:relative}
.tb-cur button.on{background:var(--accent);color:#fff}














/* visit history window */
.vm .pbody{gap:12px}




























@media (max-width:640px){.vm .pfoot .pf2-act a.btn{display:none}}






/* ---------- Цаг захиалга: эмч бүрийн өнгөт багана (texture) ---------- */
.dgrid-wrap{background:#fff;border-radius:18px;box-shadow:0 12px 32px -14px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.06)}
.dg-times,.dg-corner{background:#f6f7f9}
.dg-times{border-right:1px solid #e3e6ec}
.dg-times span{color:#3f4756;font-weight:700;font-size:11.5px}.dg-times span.half{color:#7a8291;font-weight:600}
.dg-col{background:color-mix(in srgb,var(--dc) 6%,#fff);border-right:2px solid #fff}
.dg-h{background:color-mix(in srgb,var(--dc) 13%,#fff)!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:2px solid color-mix(in srgb,var(--dc) 30%,#fff)!important}
.dg-h b{text-transform:uppercase;letter-spacing:.07em;font-size:13px;color:color-mix(in srgb,var(--dc) 70%,#0b1b3a)}
.dg-h small{color:color-mix(in srgb,var(--dc) 45%,#6b7280)}
.dg-slot{border-top:1px solid color-mix(in srgb,var(--dc) 10%,#e7e9ee)!important}
.dg-slot.hr{border-top:1px solid color-mix(in srgb,var(--dc) 20%,#d8dce4)!important}
/* staff blocks: solid fill, white label */
.dg-block{background:color-mix(in srgb,var(--bc) 62%,#fff)!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.35)!important;
  background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px)!important;background-size:100% calc(var(--px,2.4px) * 30)!important}
.dg-block span{position:sticky;top:72px;background:none!important;color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.15);padding:4px 10px!important}
/* appointment cards */
.dg-appt{left:5px;right:5px;border-radius:10px;border-left:4px solid var(--dc);background:color-mix(in srgb,var(--dc) 14%,#fff);
  box-shadow:0 2px 6px -2px color-mix(in srgb,var(--dc) 35%,transparent),0 0 0 1px color-mix(in srgb,var(--dc) 12%,transparent)}
.dg-l1 b{text-transform:uppercase;font-size:12px;letter-spacing:.02em;color:color-mix(in srgb,var(--dc) 75%,#0b1b3a)}
.dg-appt small{color:color-mix(in srgb,var(--dc) 45%,#5b6474)}
.dg-note{color:color-mix(in srgb,var(--dc) 70%,#333)!important}
.dg-appt.st-arrived{border-left-color:var(--sc);background:color-mix(in srgb,var(--sc) 15%,#fff)}
.dg-appt.st-arrived .dg-l1 b{color:color-mix(in srgb,var(--sc) 70%,#0b2b1a)}
.dg-appt.st-done{border-left-color:var(--sc);background:color-mix(in srgb,var(--sc) 9%,#fff)}
.dg-appt.st-noshow{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,#fff)}
/* always-visible drag dots */
.dg-grip{opacity:.55!important;background-image:radial-gradient(circle,currentColor 1.2px,transparent 1.6px)!important;background-size:6px 6px!important;background-position:center!important;background-repeat:repeat-y!important;
  color:color-mix(in srgb,var(--dc) 70%,#334);width:10px;top:50%;bottom:auto;height:18px;transform:translateY(-50%)}
.dg-appt:hover .dg-grip{opacity:1!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dgrid-wrap{background:var(--surface)}
  :root:not([data-theme="light"]) .dg-col{background:color-mix(in srgb,var(--dc) 9%,var(--surface))}
  :root:not([data-theme="light"]) .dg-h{background:color-mix(in srgb,var(--dc) 20%,var(--surface))!important}
  :root:not([data-theme="light"]) .dg-times,:root:not([data-theme="light"]) .dg-corner{background:var(--surface)}
  :root:not([data-theme="light"]) .dg-appt{background:color-mix(in srgb,var(--dc) 24%,var(--surface))}
  :root:not([data-theme="light"]) .dg-l1 b{color:color-mix(in srgb,var(--dc) 40%,#fff)}}
.dg-appt{padding:6px 16px 6px 9px;gap:3px}
.dg-l1 b{font-size:11.5px;line-height:1.3;-webkit-line-clamp:3!important}
.dg-note{font-size:11px!important;font-weight:600;display:flex;gap:4px;align-items:flex-start}
.dg-ni{font-style:normal;opacity:.6;font-size:10px;margin-top:1px}
.dg-l1{display:flex;align-items:flex-start;gap:4px}
.dg-ic{align-self:flex-start;display:flex;gap:3px;flex:none}
.dg-ic i{height:16px!important;min-width:16px;display:grid!important;place-items:center;border-radius:5px;font-size:10px!important;padding:0 3px;line-height:1;margin:0!important}
.ctx-del{margin:4px 6px;padding:10px;border-radius:10px;background:rgba(239,68,68,.14);display:flex;flex-direction:column;gap:8px}
.ctx-del>span{font-size:13px;font-weight:600;color:#fca5a5}
.ctx-del div{display:flex;gap:6px}
.ctx-del button{flex:1;border:0;border-radius:8px;padding:8px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.ctx-del .yes{background:#ef4444;color:#fff}.ctx-del .no{background:rgba(255,255,255,.12);color:inherit}
.del2{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--bad)}
.ctx{max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain}
/* in-app confirm */
.ask-box{padding:20px 20px 16px;display:flex;flex-direction:column;gap:14px}
.ask-msg b{font-size:16px;font-weight:700;display:block;line-height:1.35}
.ask-msg p{margin:6px 0 0;color:var(--muted);font-size:13.5px;line-height:1.45}
.ask-box input{width:100%}
.ask-act{display:flex;justify-content:flex-end;gap:8px}
.btn.danger{background:var(--bad);color:#fff;border-color:transparent}
.nf-docchip{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:3px 10px 3px 3px;border-radius:999px;background:color-mix(in srgb,var(--dc) 14%,var(--surface));color:color-mix(in srgb,var(--dc) 75%,#0b1b3a);font-size:13px;font-weight:700}
.nf-docchip i{width:22px;height:22px;border-radius:50%;background:var(--dc);color:#fff;display:grid;place-items:center;font-style:normal;font-size:11px}
/* portal: first sign-in profile */
.gate{min-height:100vh}
.gate-in{max-width:720px;margin:0 auto;padding:18px 16px 40px;display:flex;flex-direction:column;gap:14px}
.gate-go{align-self:flex-end;min-width:200px;justify-content:center}
.gate-act{display:flex;justify-content:space-between;gap:10px}
.gate .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gate .grid2 .full{grid-column:1/-1}
@media (max-width:560px){.gate .grid2{grid-template-columns:1fr}.gate-go{width:100%}}
.pp-top>.lang-sw{flex-direction:row!important;margin-left:auto;margin-right:8px}
/* visit types */
.at-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.at-sw input{width:34px;height:34px;padding:0;border:0;border-radius:10px;background:none;cursor:pointer}
.at-name{flex:1;min-width:140px}
.at-pal{display:flex;gap:4px}.at-pal button{width:18px;height:18px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer}
.at-pal button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}
.at-pv{font-size:11.5px;border-left:4px solid var(--dc);background:color-mix(in srgb,var(--dc) 14%,#fff);color:color-mix(in srgb,var(--dc) 75%,#0b1b3a);border-radius:8px;padding:5px 10px;min-width:110px;text-transform:uppercase}
.at-ops{display:flex;gap:4px}.at-ops button:not(.nl-del){border:0;background:var(--soft);border-radius:7px;width:28px;height:28px;cursor:pointer}
.at-add{display:flex;gap:8px}.at-add input{flex:1}
.at-save{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
/* coloured visit-type chips in the appointment form */
.nf-chips.rc button{display:inline-flex;align-items:center;gap:6px}
.nf-chips.rc button i{width:9px;height:9px;border-radius:50%;background:var(--rc);flex:none}
.nf-chips.rc button.on{background:var(--rc)!important;color:#fff!important;border-color:var(--rc)!important}
.nf-chips.rc button.on i{background:#fff}
/* arrived keeps its visit-type colour, marked by a green edge + ✓ */
.dg-appt.st-arrived{border-left-color:#1f9d55!important;background:color-mix(in srgb,var(--dc) 14%,#fff)!important}
.dg-appt.st-arrived .dg-l1 b{color:color-mix(in srgb,var(--dc) 75%,#0b1b3a)!important}
.dg-appt.st-done{border-left-color:#5f7f6c!important;background:color-mix(in srgb,var(--dc) 8%,#fff)!important;opacity:.8}
.at-name{flex:0 0 200px!important;min-width:0}.at-pv{flex:0 0 150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* arrived and the treatment is entered → solid green; others keep their visit-type colour */
.dg-appt.tx{--dc:#16a34a;border-left-color:#15803d!important;background:color-mix(in srgb,#16a34a 32%,#fff)!important;opacity:1}
.dg-appt.tx .dg-l1 b{color:#14532d!important}
/* top search: open the full list */
.tb-all{display:flex!important;align-items:center;gap:8px;width:100%;margin-top:4px;padding:9px 10px;border-top:1px solid var(--line,#e5e7eb)!important;color:var(--accent,#0f5e4c);font-weight:600;text-align:left}
.tb-all svg{width:16px;height:16px}.tb-all span{flex:1}.tb-all small{font-weight:600;color:#6b7280;background:#f2f4f7;border-radius:999px;padding:2px 8px}
.tb-all:hover{background:color-mix(in srgb,var(--accent,#0f5e4c) 8%,#fff)}
/* full patient list window */
.panel.modal.t-pb{max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.pb-modal{display:flex;flex-direction:column;min-height:0;padding:20px 22px 18px;gap:12px;overflow:hidden;height:100%}
.pb-modal .phd{margin:0;display:flex;justify-content:space-between;align-items:flex-start}.pb-modal h1{font-size:22px;margin:0}
.pb-modal .actions{display:flex;gap:8px;align-items:center}
.pb-modal .x{width:34px;height:34px;border-radius:999px;border:0;background:#f2f2f7;font-size:20px;cursor:pointer}
.pb-modal .ptbl-card{flex:1;min-height:0;overflow:auto;margin:0}
.pb-modal .search.big{margin:0}

.nf-doc{align-items:center;padding:9px 11px}
.nf-dn{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.nf-dn b{font-weight:700}
.nf-dn small{font-weight:500;font-size:12px;color:var(--ink-2,#6b7280);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-doc.on .nf-dn small{color:color-mix(in srgb,var(--dc) 70%,#334155)}
/* doctor dropdown in the booking form */
.dsel{position:relative}
.dsel button{display:flex;align-items:center;gap:12px;width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.dsel i{width:38px;height:38px;border-radius:50%;background:var(--dc);color:#fff;font-style:normal;font-weight:800;font-size:15px;display:grid;place-items:center;flex:none}
.dsel .nf-dn{flex:1}.dsel .nf-dn b{font-size:15px}.dsel .nf-dn small{font-size:12.5px;white-space:normal}
.ds-cur{background:var(--field);border-radius:14px;padding:10px 14px;border:1.5px solid transparent!important;transition:background .15s}
.ds-cur:hover{background:var(--field-hover)}.dsel.open .ds-cur{border-color:var(--dc,#0f5e4c)!important;background:var(--surface,#fff)}
.ds-empty{min-height:58px}.ds-empty b{color:#8e8e93;font-weight:600}
.ds-chev{color:#8e8e93;font-size:14px;transition:transform .2s}.dsel.open .ds-chev{transform:rotate(180deg)}
.ds-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface,#fff);border-radius:16px;box-shadow:0 18px 50px -12px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);padding:6px;max-height:420px;overflow:auto;animation:dpIn .25s var(--spring)}
.ds-opt{padding:11px 12px;border-radius:12px;background:none}
.ds-opt:hover{background:color-mix(in srgb,var(--dc) 9%,#fff)}
.ds-opt.on{background:color-mix(in srgb,var(--dc) 13%,#fff)}
.ds-opt+.ds-opt{margin-top:2px}
.ds-ok{color:var(--dc);font-weight:800;font-size:16px}
/* Тойм: health warnings from the questionnaire */
.anc{border-left:5px solid var(--anc);--anc:#16a34a;background:color-mix(in srgb,var(--anc) 5%,var(--surface,#fff))}
.anc-bad{--anc:#dc2626}.anc-warn{--anc:#f59e0b}
.anc .card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.anc h3{display:flex;align-items:center;gap:8px;margin:0}
.anc-ic{width:24px;height:24px;border-radius:50%;background:var(--anc);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}
.anc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.anc-list li{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#f59e0b 10%,#fff);border:1px solid color-mix(in srgb,#f59e0b 25%,#fff)}
.anc-list li.r{background:color-mix(in srgb,#dc2626 8%,#fff);border-color:color-mix(in srgb,#dc2626 25%,#fff)}
.anc-list li b{font-size:14px;color:#7c2d12}.anc-list li.r b{color:#991b1b}
.anc-d{font-weight:700;font-size:14px;color:var(--ink)}
.anc-list small{font-size:12.5px;color:#57534e}
.anc-empty,.anc-ok{margin:0;font-weight:600}.anc-empty{color:#b45309}.anc-ok{color:#15803d}
.anc-miss{margin:8px 0 0;font-size:13px;color:#b45309}.anc-at{margin:6px 0 0;font-size:12px;color:#8e8e93}
/* Статистик: direction × age × gender */
.brk .card-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.brk h3{margin:0}
.brk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.brk-chips button{--c:var(--accent);display:inline-flex;align-items:center;gap:6px;border:1.5px solid transparent;background:var(--field);border-radius:999px;padding:6px 12px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;color:var(--ink)}
.brk-chips button i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.brk-chips button small{font-weight:700;color:#8e8e93}
.brk-chips button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}
.brk-chips button.on small{color:var(--c)}
.brk-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;margin-bottom:14px}
.brk-box{background:var(--field);border-radius:14px;padding:14px 16px}.brk-box h4{margin:0 0 12px;font-size:13px;color:#6b7280;font-weight:700}
.bs-bar{display:flex;height:38px;border-radius:10px;overflow:hidden;background:#e5e7eb}
.bs-bar span{display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px;min-width:40px}
.bs-bar .m,.bs-leg i.m{background:#2563eb}.bs-bar .f,.bs-leg i.f{background:#db2777}
.bs-leg{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:13.5px}.bs-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.brk-age{display:flex;align-items:flex-end;gap:10px;height:130px}
.ba{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.ba span{width:100%;max-width:24px;border-radius:4px 4px 0 0;transition:height .3s}
.ba b{font-size:13px}.ba small{font-size:12px;color:#6b7280;white-space:nowrap}
.brk-tbl tbody tr{cursor:pointer}.brk-tbl tbody tr.on{background:color-mix(in srgb,var(--accent) 7%,#fff)}
.brk-tbl tfoot td{border-top:2px solid var(--line,#e5e7eb)}
.dotc{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}
@media (max-width:800px){.brk-top{grid-template-columns:1fr}}
.stats.cats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tx-q{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--field);font-size:12px;font-weight:600;color:#6b7280;white-space:nowrap}
/* self sign-up from the portal */
.sreg{margin-top:10px;border-radius:12px;background:#eef6ff;border:1px solid #cfe3fb;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.sreg-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sreg-h .btn{margin-left:auto}
.sreg-dup{display:flex;flex-direction:column;gap:6px;color:#9a3412;font-size:13.5px}
.sreg-c{display:flex;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:6px 8px 6px 10px;color:var(--ink)}
.sreg-c a{flex:1;color:inherit;text-decoration:none}
.sreg-pill{font-size:11px;padding:1px 6px}
.sreg-req{display:flex;flex-direction:column;gap:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px}
.sreg-req>b{color:#9a3412}
.lk-cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lk-cmp>div{background:#fff;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.lk-cmp small{color:#8e8e93;font-size:11.5px;font-weight:600}.lk-cmp span{font-size:12.5px;color:#57534e}
.lk-act{display:flex;gap:8px;flex-wrap:wrap}
.at-docs{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-left:46px;font-size:12.5px}
.at-docs>span{color:#8e8e93;font-weight:600}
.at-docs button{border:1.5px solid var(--line,#e5e7eb);background:var(--surface,#fff);border-radius:999px;padding:3px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink)}
.at-docs button.on{border-color:var(--dc);background:color-mix(in srgb,var(--dc) 14%,#fff);color:color-mix(in srgb,var(--dc) 70%,#111)}
.at-docs small{color:#8e8e93}
.post-kind{display:flex;gap:6px;margin-bottom:6px}.post-kind button{flex:1;border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:9px;font:inherit;font-weight:600;cursor:pointer;color:var(--ink)}
.post-kind button[aria-pressed="true"]{border-color:var(--accent,#0f5e4c);background:color-mix(in srgb,var(--accent,#0f5e4c) 9%,#fff)}
/* staff: Facebook-like post composer */
.fbc{background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;margin:8px 0}
.fbc-h{display:flex;align-items:center;gap:10px}.fbc-h span:last-child{display:flex;flex-direction:column;line-height:1.2}.fbc-h small{color:#8e8e93;font-size:12px}
.fbc-av{width:40px;height:40px;border-radius:50%;background:#0a4a3f;color:#fff;display:grid;place-items:center;font-weight:800}
.fbc-title{border:0!important;background:none!important;font-size:17px!important;font-weight:700;padding:4px 0!important}
.fbc-body{border:0!important;background:var(--field,#f4f4f6)!important;border-radius:12px!important;padding:12px!important;font-size:15px!important;min-height:140px}
.fbc-hint{color:#8e8e93;font-size:11.5px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.pg-it{position:relative;aspect-ratio:1;border-radius:12px;background:#e5e7eb center/cover no-repeat;overflow:hidden}
.pg-it em{position:absolute;left:6px;bottom:6px;font-style:normal;font-size:10.5px;font-weight:700;background:rgba(0,0,0,.6);color:#fff;border-radius:6px;padding:2px 6px}
.pg-x,.pg-l{position:absolute;top:5px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.pg-x{right:5px}.pg-l{left:5px}
.pg-busy{display:grid;place-items:center;font-size:12px;color:#6b7280;text-align:center;padding:6px}
.pg-add{aspect-ratio:1;border:2px dashed var(--line,#d1d5db);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#0a4a3f;text-align:center;padding:4px}
.pg-add span{font-size:22px}.pg-add b{font-size:12px}.pg-add small{font-size:10.5px;color:#8e8e93}
.pg-add:hover{background:color-mix(in srgb,#0a4a3f 5%,#fff)}

/* ---------- phone: simpler, calmer layout (staff app) ---------- */
@media (max-width:640px){
  .demo-bar{font-size:11.5px;padding:5px 12px;line-height:1.35}
  .page{padding:12px 12px 28px}
  .phd{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
  .phd>div:first-child{flex:1 1 190px;min-width:0}
  .phd h1{font-size:22px;line-height:1.15}
  .phd .sub{font-size:12.5px;margin-top:2px}
  .phd .actions .btn{padding:8px 12px;font-size:13.5px;white-space:nowrap}
  /* dashboard: 4 small numbers, then today's doctors & calls; money detail lives in Касс */
  .dash .kpis{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .dash .kpi{padding:10px 12px;border-radius:14px;min-height:0}
  .dash .kpi>span{font-size:11.5px}
  .dash .kpi>b{font-size:20px;margin:2px 0 4px}
  .dash .kpi small{display:none}
  .dash .kpi:first-child small{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:11px}
  .dash .income,.dash .daystrip{display:none}
  .dash .card-h h3{font-size:15px}
  /* calendar: one compact toolbar */
  .page.cal-page,.cal-top{margin-bottom:8px}
  .cal-title h1{font-size:20px!important}
  .cal-title .sub{font-size:12.5px}
  .cal-tools{display:grid!important;grid-template-columns:auto 1fr;gap:8px!important}
  .cal-tools>.seg:first-child{grid-column:1}
  .cal-tools>.seg:not(:first-child){grid-column:1/-1;display:flex}
  .cal-tools>.seg:not(:first-child) button{flex:1}
  .cal-tools .cal-doc{grid-column:1/-1}
  .cal-tools>.btn.primary{grid-column:1/-1;width:100%;justify-content:center}
  .cal-tools .seg button{padding:7px 10px;font-size:13px}
  .arow-main{gap:10px}
  .arow-t{font-size:14px;min-width:44px}
  .arow-n b{font-size:15px}
  .arow-n small{font-size:12px}
  .arow .pill{display:none}
  .arow-act .qb{padding:7px 10px;font-size:12.5px}
  /* patients: card rows instead of a wide table */
  .ptbl thead{display:none}
  .ptbl,.ptbl tbody{display:block}
  .ptbl tbody tr{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"n n n o" "c a p p";gap:2px 10px;padding:11px 14px;border-bottom:1px solid var(--line);align-items:baseline}
  .ptbl tbody tr.none{display:block}
  .ptbl tbody td{padding:0!important;border:0!important;display:block}
  .ptbl .c-ner{grid-area:n;font-size:15.5px}
  .ptbl .c-owe{grid-area:o;text-align:right;font-size:13px}
  .ptbl .c-card{grid-area:c;font-size:12.5px;color:var(--muted)}
  .ptbl .c-card::before{content:"№"}
  .ptbl .c-age{grid-area:a;font-size:12.5px;color:var(--muted)}
  .ptbl .c-age::after{content:" нас"}
  .ptbl .c-phone{grid-area:p;font-size:12.5px;color:var(--muted)}
  .ptbl-card{padding:0!important;overflow:hidden}
  .ptbl-card .tbl-wrap{overflow:visible}
  .search.big{font-size:15px;padding:11px 14px}
  .pfilters .seg{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .pfilters .seg button{white-space:nowrap}
  /* patient workspace: smaller header, no duplicate patient pill on top */
  .r-patient .tb-cur{display:none}
  .ws-head{padding:14px!important;gap:10px 12px!important}
  .ws-av{width:44px!important;height:44px!important;font-size:19px!important}
  .ws-id h1{font-size:20px!important;line-height:1.2}
  .ws-meta{font-size:12.5px;gap:2px 10px}
  .ws-head .an-alert{font-size:12.5px;padding:6px 10px;margin-top:6px}
  .ws-bal{padding-top:10px;border-top:1px solid var(--line)}
  .ws-bal>span{font-size:12.5px}
  .ws-bal>b{font-size:20px!important}
  .ws-tabs{top:56px!important}
  .ws-tabs a{padding:7px 12px;font-size:13.5px}
  /* lab card on the dashboard: name on its own line, tags + button under it */
  .labready .cb-list li{flex-wrap:wrap;row-gap:6px}
  .labready .cb-n{flex:1 1 100%}
  .labready .cb-r{width:100%;justify-content:flex-end;flex-wrap:wrap}
}
/* settings rows on narrow screens: a long label pushes its control to the next line instead of being squeezed */
@media (max-width:900px){
  .sr-l{flex:1 1 130px}
  .sr-c{flex-wrap:wrap;max-width:100%;min-width:0}
  .sr-link{flex-wrap:wrap}
  .sr-l>.cat-code{flex:none}
  .sr-c>.sr-in:not(.plain){width:170px;max-width:100%}
  /* phone settings: first the list of sections, then one section with a back link */
  .set-back{display:inline-flex}
  .set.set-home .set-pane{display:none}
  .set:not(.set-home) .set-nav{display:none}
  .set:not(.set-home) .set-head{margin-top:0}
  .set.set-home .set-nav a.on{background:none;color:inherit}
  .set.set-home .set-nav a{padding:11px 12px;font-size:15px}
  .set.set-home .set-nav a::after{content:"›";margin-left:auto;color:var(--muted);font-size:18px}
}
@media (max-width:640px){
  .cat-price{width:104px}
  .sr.cat{padding:8px 12px;gap:10px}
  .sr-l b{overflow-wrap:anywhere}
  .card>.tbl{display:block;overflow-x:auto}
  .card>.tbl th,.card>.tbl td{padding-left:6px;padding-right:6px}
}
@media (min-width:901px){.set-back{display:none}}
.set-back{align-items:center;gap:4px;color:var(--accent);font-weight:600;font-size:15px;text-decoration:none;margin:0 0 10px}
.sr-l>.cat-code{min-width:38px;flex:none}
/* website lists: reorder arrows sit at the right edge, not under the card */
.site-item.card{flex-direction:row;padding:0;gap:0}
.site-ord .qb{width:34px;height:30px;padding:0;display:grid;place-items:center}
@media (max-width:700px){.tc-segw{display:none}.tc-seg,.tc-let{padding:0}}

.qr-row{align-items:center}
.qr-box{display:block;width:150px;height:150px;background:#fff;border-radius:10px;padding:4px}
.qr-box svg{width:100%;height:100%;display:block}

/* ---------- booking requests table (#/requests) */
.rq-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.rq-filt{display:flex;gap:8px;flex-wrap:wrap}
.rq-filt .search{width:240px}.rq-filt select{width:auto;min-width:150px}








.rq-reason{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;background:color-mix(in srgb,var(--rc) 12%,transparent);color:color-mix(in srgb,var(--rc) 75%,var(--ink));font-weight:600;font-size:12.5px;white-space:nowrap}
.rq-reason i{width:8px;height:8px;border-radius:50%;background:var(--rc)}
.rq-note span{color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:240px;font-size:13px}
.rq-st{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.rq-st.warn{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}
.rq-st.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.rq-st.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.rq-st.muted{background:var(--field);color:var(--muted)}


.rq-decl{display:flex;gap:6px;align-items:center;justify-content:flex-end}.rq-decl input{width:220px}

@media (max-width:760px){
  .rq-tools{flex-direction:column;align-items:stretch}
  .rq-tools .seg{display:flex;overflow-x:auto;scrollbar-width:none;max-width:100%}.rq-tools .seg button{white-space:nowrap}
  .rq-filt .search{flex:1 1 100%;width:auto}.rq-filt select{flex:1;min-width:0}






  .rq-note{grid-area:note}.rq-note span{max-width:none}


  .rq-decl{flex:1;flex-wrap:wrap}.rq-decl input{flex:1 1 100%;width:auto}





}

/* ---- санал хүсэлт, гомдол (#/feedback) ---- */
.rq-st.info{background:color-mix(in srgb,#2f78c4 13%,transparent);color:#2563a8}
.fb-sum{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fb-sum-l{font-size:12.5px;color:var(--muted);margin-right:4px}
.fb-sum-i{display:inline-flex;align-items:baseline;gap:7px;border:0;background:var(--surface);box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08)),0 1px 2px rgba(0,0,0,.04);border-radius:12px;padding:8px 14px;font:inherit;color:var(--ink);cursor:pointer;transition:background-color .15s,box-shadow .15s}
.fb-sum-i b{font-size:20px;font-weight:750;color:var(--fc);letter-spacing:-.02em}.fb-sum-i span{font-size:13px;color:var(--muted);font-weight:600}
.fb-sum-i:hover{background:var(--field)}.fb-sum-i.on{box-shadow:0 0 0 2px var(--fc)}
.fb-card{padding:0!important;overflow:hidden}
.fb-list{list-style:none;margin:0;padding:0}
.fb-list li+li{border-top:.5px solid var(--hair,var(--line))}
.fb-row{display:flex;flex-direction:column;gap:6px;width:100%;border:0;background:none;text-align:left;padding:14px 18px;font:inherit;color:var(--ink);cursor:pointer;transition:background-color .15s}
.fb-row:hover{background:var(--field)}
.fb-row.st-new{box-shadow:inset 3px 0 0 var(--bad)}.fb-row.st-new.k-suggestion{box-shadow:inset 3px 0 0 #2f78c4}.fb-row.st-new.k-praise{box-shadow:inset 3px 0 0 #15803d}
.fb-top{display:flex;align-items:center;gap:8px;min-width:0}
.fb-topic{font-size:14.5px;font-weight:650;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-topic span{font-weight:500;color:var(--muted)}
.fb-top .fb-st{margin-left:auto;flex:none}
.fb-kind{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;background:color-mix(in srgb,var(--fc) 11%,transparent);color:color-mix(in srgb,var(--fc) 80%,var(--ink));font-weight:700;font-size:12px;white-space:nowrap;flex:none}
.fb-kind i{width:7px;height:7px;border-radius:50%;background:var(--fc)}
.fb-lock{font-size:11.5px;font-weight:700;color:#7c3aed;background:color-mix(in srgb,#7c3aed 10%,transparent);padding:2px 8px;border-radius:999px;white-space:nowrap;flex:none}
.fb-msg{margin:0;font-size:14px;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.fb-row.st-resolved .fb-msg{color:var(--muted)}
.fb-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted)}
.fb-who{color:var(--ink);font-weight:600}.fb-who .mono{font-weight:500;color:var(--muted)}
.fb-replied{color:var(--ok);font-weight:600}
.fb-foot{margin-top:12px;font-size:12.5px}
.fb-panel .pbody{gap:16px}
.fb-who-card{display:flex;align-items:center;gap:12px}
.fb-who-card>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fb-who-card b{font-size:16px}.fb-who-card b a{text-decoration:none;color:var(--ink)}
.fb-who-card small{color:var(--muted);font-size:12.5px}
.fb-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:var(--fc);flex:none}
.fb-quote{margin:0;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--fc) 7%,var(--field));box-shadow:inset 3px 0 0 var(--fc);font-size:15px;line-height:1.55;white-space:pre-line;color:var(--ink)}
.fb-tags{display:flex;flex-wrap:wrap;gap:6px}.fb-tags:empty{display:none}
.fb-tags>span:not(.fb-lock):not(.fb-kind){font-size:12.5px;background:var(--field);padding:3px 10px;border-radius:999px;color:var(--muted)}.fb-tags b{color:var(--ink);font-weight:600}
.fb-tpl{align-self:flex-start;margin-top:6px;font-size:13px}
.fb-noreply{font-size:13px;color:var(--muted);background:var(--field);border-radius:12px;padding:10px 12px;line-height:1.5}
.fb-more{border-top:.5px solid var(--hair,var(--line));padding-top:10px}
.fb-more summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--accent);list-style:none}.fb-more summary::-webkit-details-marker{display:none}
.fb-more summary::before{content:"›";display:inline-block;margin-right:6px;transition:transform .2s}.fb-more[open] summary::before{transform:rotate(90deg)}
.fb-more[open]{display:flex;flex-direction:column;gap:12px}
.fb-chk{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.fb-chk input{width:18px;height:18px;margin:0;accent-color:#7c3aed}
.fb-foot-r{display:flex;gap:8px;margin-left:auto}





@media (max-width:760px){
  .fb-row{padding:13px 14px}
  .fb-top{flex-wrap:wrap}.fb-topic{flex:1 1 auto;order:3;width:100%;white-space:normal}
  .fb-top .fb-st{order:2}
  .fb-sum{gap:6px}.fb-sum-l{width:100%}.fb-sum-i{flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:0;padding:8px 4px}.fb-sum-i b{font-size:19px}.fb-sum-i span{font-size:12px;white-space:nowrap}
  .fb-foot-r{flex:1}.fb-foot-r .btn{flex:1;justify-content:center}
}
/* three money tiles side by side on a phone: let a long amount shrink instead of spilling out */
@media (max-width:420px){.psum>div{padding:9px 9px}.psum b{font-size:clamp(12.5px,3.7vw,15px);letter-spacing:-.02em;overflow-wrap:anywhere}}
/* settings → portal: setup check */
.pc-row{align-items:flex-start!important;justify-content:flex-start!important;gap:12px}
.pc-ic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none;margin-top:1px;color:#fff}
.pc-ic.ok{background:var(--ok)}.pc-ic.warn{background:#f59e0b}.pc-ic.bad{background:var(--bad)}
.pc-t{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1 1 auto!important;text-align:left}.pc-t b{font-size:14px;font-weight:600}.pc-t small{font-size:12.5px;color:var(--muted);line-height:1.45;white-space:normal}

/* ---- products: photo cards (Settings → Бүтээгдэхүүн, Касс) ---- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ptile{position:relative;display:flex;flex-direction:column;border:0;padding:0;background:var(--surface);border-radius:18px;overflow:hidden;text-align:left;font:inherit;color:var(--ink);cursor:pointer;
  box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08)),0 1px 3px rgba(0,0,0,.05);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s}
@media (hover:hover){.ptile:hover{transform:translateY(-2px);box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08)),0 10px 24px -12px rgba(0,0,0,.25)}}
.ptile:active{transform:scale(.97)}
.ptile.off,.ptile.dim{opacity:.5}.ptile.out .pt-ph{filter:grayscale(.85)}
.pt-ph{display:block;aspect-ratio:1/1;background:#f1f5f4 center/cover no-repeat}
.pt-ph.none{display:grid;place-items:center;background:linear-gradient(135deg,hsl(var(--h,160) 55% 92%),hsl(calc(var(--h,160) + 30) 60% 84%))}
.pt-ph.none b{font-size:42px;font-weight:800;color:hsl(var(--h,160) 35% 38%);opacity:.85}
.pt-ph.add{background:var(--field)}.pt-ph.add b{color:var(--accent);font-size:40px}
.pt-n{position:absolute;top:8px;right:8px;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;box-shadow:0 4px 10px -4px rgba(0,0,0,.4)}
.pt-b{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}
.pt-b b{font-size:14px;font-weight:650;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pt-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12.5px;color:var(--muted)}
.pt-price{font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13.5px}
.pt-st{font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--field);color:var(--muted)}
.pt-st.warn{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#b45309}.pt-st.bad{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.prodm{display:flex;flex-direction:column;gap:12px}
.prodm-h{display:flex;gap:10px;align-items:center}.prodm-h .search{flex:1;min-width:0}
.prodm-cats button small{opacity:.6;margin-left:2px}
.prodm-foot{margin:0}
.prodf-photo{display:flex;gap:14px;align-items:center}
.prodf-img{width:104px;height:104px;border-radius:20px;background:#f1f5f4 center/cover no-repeat;flex:none;box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08))}
.prodf-img.none{display:grid;place-items:center;background:linear-gradient(135deg,hsl(var(--h,160) 55% 92%),hsl(calc(var(--h,160) + 30) 60% 84%))}.prodf-img.none b{font-size:40px;color:hsl(var(--h,160) 35% 38%)}
.prodf-pa{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.prodf-pa small{font-size:12px}
.prodf-cats{margin-top:6px}
.prodf-on{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.prodf-on input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
@media (max-width:560px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prodm-h{flex-wrap:wrap}.prodm-h .btn{flex:1}}

/* ---- Касс: till (POS) ---- */
.kass-h{align-items:flex-end}
.kass-today{display:flex;flex-direction:column;align-items:flex-end;gap:0;padding:8px 14px;border-radius:14px;background:color-mix(in srgb,var(--ok) 9%,var(--surface));box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08))}
.kass-today small{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kass-today b{font-size:22px;font-weight:800;color:var(--ok);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kass-today span{font-size:12px;color:var(--muted)}
.kass-views{margin:0 0 14px}.kass-views .seg button{padding:8px 16px;font-size:14px}
.pos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);grid-template-areas:"who ticket" "shop ticket";gap:14px;align-items:start}




.pos-av{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:18px;display:grid;place-items:center;flex:none}
.pos-av.sm{width:34px;height:34px;font-size:14px}












.ppick .pbody{display:flex;flex-direction:column;gap:12px}.ppick-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.ppick-foot{flex-wrap:wrap}.ppick-cart{list-style:none;margin:0 0 4px;padding:0 0 10px;flex:1 1 100%;display:flex;flex-direction:column;gap:6px;border-bottom:.5px solid var(--hair,var(--line));max-height:30vh;overflow:auto}
.ppick-cart li{display:flex;align-items:center;gap:10px}.ppick-cart li>b{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppick-cart .mono{min-width:84px;text-align:right;font-weight:700;font-size:14px}

.pd-qty{display:inline-flex;align-items:center;gap:2px;background:var(--surface);border-radius:999px;padding:2px;box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.1));flex:none}
.pd-qty button{width:28px;height:28px;border-radius:50%;border:0;background:none;font:inherit;font-size:16px;font-weight:700;color:var(--accent);cursor:pointer}
.pd-qty button:hover{background:var(--field)}.pd-qty b{min-width:18px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
/* today */
.kass-meth{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.kass-meth>div{background:var(--surface);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.08))}
.kass-meth span{font-size:13px;color:var(--muted);font-weight:600}.kass-meth b{font-size:19px;font-variant-numeric:tabular-nums}.kass-meth small{font-size:12px;color:var(--muted)}
.kass-list{padding:6px!important}.kass-list ul{list-style:none;margin:0;padding:0}
.kass-list li button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:12px 12px;border-radius:12px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.kass-list li+li{border-top:.5px solid var(--hair,var(--line))}
@media (hover:hover){.kass-list li button:hover{background:var(--field)}}
.kl-t{font-size:13px;color:var(--muted);width:44px;flex:none}.kl-m{flex:1;min-width:0;display:flex;flex-direction:column}.kl-m b{font-size:14.5px}.kl-m small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kl-a{font-size:15px;flex:none}.kass-list i{font-style:normal;color:var(--muted);font-size:20px}
.kass-tip{margin:8px 8px 4px;font-size:12.5px}
.tbl tr.tr-go{cursor:pointer}.tbl tr.tr-go td:last-child{position:relative}
@media (hover:hover){.tbl tr.tr-go:hover td{background:var(--field)}}
/* receipt */
.paydet-who{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--field);border-radius:16px;padding:12px 14px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.paydet-who>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.paydet-who b{font-size:15.5px}.paydet-who small{color:var(--muted);font-size:12.5px}.paydet-who em{font-style:normal;font-size:12.5px;color:var(--accent);font-weight:600;white-space:nowrap}
.paydet-box{border-radius:16px;box-shadow:0 0 0 .5px var(--hair,rgba(0,0,0,.1));padding:12px 14px}
.paydet-box h4{margin:0 0 6px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.paydet-box ul{list-style:none;margin:0;padding:0}.paydet-box li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.paydet-box li>span{display:flex;flex-direction:column;min-width:0}.paydet-box li small{font-size:12px;color:var(--muted)}
.paydet-tot{display:flex;justify-content:space-between;padding-top:10px;font-size:16px}.paydet-tot b{font-size:20px}
.paydet-meta{display:grid;gap:8px}.paydet-meta>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.paydet-meta span{color:var(--muted)}
@media (max-width:1100px){.pos{grid-template-columns:minmax(0,1fr);grid-template-areas:"who" "ticket" "shop"}}
@media (max-width:760px){.kass-h{flex-wrap:wrap}.kass-today{align-items:flex-start;width:100%}.kass-views .seg{display:flex;width:100%}.kass-views .seg button{flex:1;padding:8px 6px;font-size:13.5px}
.kl-t{display:none}

}

/* ---------- Статистик charts. Series slots --c1…--c7 (fixed order, never by rank), de-emphasis --ctx, one-hue heat scale --s1…--s5.
   Checked with the dataviz validator: light on #fff and dark on #1c1c1e — lightness band, chroma, colour-blind separation (adjacent),
   normal-vision floor; slots 4–5 are under 3:1 on white, so values always stay readable as text / in the table twin. ---------- */
:root{--c1:#159a7f;--c2:#eb6834;--c3:#2a78d6;--c4:#eda100;--c5:#e87ba4;--c6:#6250d6;--c7:#e34948;--ctx:#a1a1a6;
  --ch-grid:#ececf0;--ch-base:#d1d1d6;--up:#137a3f;--down:#c62828;--s1:#d3efe6;--s2:#9fdcc8;--s3:#5fc0a3;--s4:#22977a;--s5:#0b5d4d}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--c1:#1aa38a;--c2:#d95926;--c3:#3987e5;--c4:#c98500;--c5:#d55181;--c6:#9085e9;--c7:#e66767;--ctx:#77777c;
  --ch-grid:#2c2c2e;--ch-base:#48484a;--up:#4cd77f;--down:#ff6961;--s1:#173f36;--s2:#1c6656;--s3:#1f8e74;--s4:#2bb894;--s5:#5fe3c0}}
:root[data-theme="dark"]{--c1:#1aa38a;--c2:#d95926;--c3:#3987e5;--c4:#c98500;--c5:#d55181;--c6:#9085e9;--c7:#e66767;--ctx:#77777c;
  --ch-grid:#2c2c2e;--ch-base:#48484a;--up:#4cd77f;--down:#ff6961;--s1:#173f36;--s2:#1c6656;--s3:#1f8e74;--s4:#2bb894;--s5:#5fe3c0}
.rep-filter{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}.rep-range{font-size:12.5px}.rep-range b{font-weight:600;color:var(--ink)}
.skpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:1100px){.skpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.skpi{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l l" "v sp" "f f";align-items:center;gap:2px 8px;background:var(--surface);border:0;border-radius:18px;box-shadow:var(--sh-card);padding:14px 16px 12px;text-align:left;font:inherit;color:var(--ink);min-width:0}
.skpi.go{cursor:pointer;transition:transform .25s var(--spring),box-shadow .2s}@media (hover:hover){.skpi.go:hover{transform:translateY(-2px);box-shadow:var(--sh-pop)}}.skpi.go:active{transform:scale(.98)}
.skpi-l{grid-area:l;font-size:12.5px;font-weight:600;color:var(--muted)}
.skpi-v{grid-area:v;font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:-.022em;line-height:1.2;font-variant-numeric:proportional-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skpi-f{grid-area:f;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12px;color:var(--muted);min-width:0}
.skpi-d{font-weight:700;white-space:nowrap}.skpi-d.up{color:var(--up)}.skpi-d.down{color:var(--down)}
.spark{grid-area:sp;display:block;overflow:visible}.sp-all{fill:none;stroke:var(--ctx);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sp-now{fill:none;stroke:var(--c1);stroke-width:2;stroke-linecap:round}.sp-dot{fill:var(--c1);stroke:var(--surface);stroke-width:2}
.chc{gap:8px;overflow:visible}.chc-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chc-t{min-width:0}
.chc-t h3{margin:0;font-size:16px}.chc-t .sub{margin:2px 0 0;font-size:12.5px}
.chc-tg{flex:none;border:0;background:var(--field);color:var(--ink);border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
@media (hover:hover){.chc-tg:hover{background:var(--field-hover)}}.chc-tg[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.ch{position:relative;outline:none;border-radius:10px;min-width:0}.ch:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.ch-svg{display:block;overflow:visible;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.ch-grid{stroke:var(--ch-grid);stroke-width:1;shape-rendering:crispEdges}.ch-base{stroke:var(--ch-base);stroke-width:1;shape-rendering:crispEdges}
.ch-ax{fill:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.ch-end,.ch-cap{fill:var(--ink);font-size:12px;font-weight:650}
.ch-line{fill:none;stroke:var(--k);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ch-area{fill:var(--k);fill-opacity:.1;stroke:none}.ch-dot{fill:var(--k);stroke:var(--surface);stroke-width:2}.ch-x{stroke:var(--ch-base);stroke-width:1}
.ch-col{fill:var(--k);transition:opacity .15s}.ch-col.dim{opacity:.4}.ch-hit{fill:transparent}
.ch-tip{position:absolute;z-index:6;pointer-events:none;background:var(--surface);border-radius:12px;box-shadow:var(--sh-pop);padding:8px 11px;font-size:12.5px;min-width:112px;white-space:nowrap;animation:chTip .14s var(--ease-out,ease-out)}
@keyframes chTip{from{opacity:0}}
.ct-h{font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:3px}.ct-r{display:flex;align-items:center;gap:8px;line-height:1.55}
.ct-r i{width:12px;height:3px;border-radius:2px;background:var(--k);flex:none}.ct-r b{font-size:14px;font-weight:700;color:var(--ink)}.ct-r span{color:var(--muted)}
.ct-f{font-size:11.5px;color:var(--muted);margin-top:2px}
.ch-leg{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--muted)}.ch-leg span{display:inline-flex;align-items:center;gap:6px}
.lk-line{width:16px;height:3px;border-radius:2px;background:var(--k)}.lk-rect{width:10px;height:10px;border-radius:3px;background:var(--k)}
.rb{position:relative;display:flex;flex-direction:column;gap:1px}
.rb-r{display:grid;grid-template-columns:minmax(84px,36%) minmax(0,1fr);gap:10px;align-items:center;padding:5px 6px;margin:0 -6px;border-radius:10px;outline:none}
.rb-r.on,.rb-r:focus-visible{background:var(--field)}
.rb-l{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px}.rb-l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-l i{width:8px;height:8px;border-radius:50%;flex:none}
.rb-t{display:flex;align-items:center;gap:8px;min-width:0}.rb-f{display:block;height:10px;min-width:2px;border-radius:0 4px 4px 0;flex:none;transition:width .35s var(--ease-out,ease-out)}
.rb-t b{font-size:12.5px;font-weight:650;white-space:nowrap}
.hm{position:relative}.hm-g{display:grid;gap:2px;align-items:center}
.hm-c{font-size:11px;color:var(--muted);text-align:center;padding-bottom:3px}.hm-r{font-size:12px;color:var(--muted);font-weight:600;padding-right:10px;white-space:nowrap}
.hm-x{display:block;height:26px;border-radius:4px;background:var(--field);outline:none}
.hm-x.s1,.hm-scale .s1{background:var(--s1)}.hm-x.s2,.hm-scale .s2{background:var(--s2)}.hm-x.s3,.hm-scale .s3{background:var(--s3)}.hm-x.s5,.hm-scale .s5{background:var(--s5)}
.hm-x.on,.hm-x:focus-visible{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--ink)}
.hm-scale{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:11.5px;color:var(--muted)}.hm-scale i{width:18px;height:10px;border-radius:3px;display:inline-block}
.hm-scale em{font-style:normal;margin-left:auto;display:inline-flex;gap:6px;align-items:center}.hm-scale .s0{background:var(--field)}
.rep-doc td{vertical-align:middle}.rep-doc td:first-child{white-space:nowrap}.skpi.go .skpi-l::after{content:" ›";font-weight:700}.rd-bar{min-width:240px;width:42%}.rdb-in{display:flex;align-items:center;gap:10px}
.ib{flex:1;min-width:50px}.ib-f{display:block;height:10px;min-width:2px;border-radius:0 4px 4px 0;background:var(--c1)}.rdb-in b{min-width:100px;text-align:right;font-size:13px}
@media (max-width:760px){.skpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skpi{padding:12px 13px 10px}.skpi-v{font-size:21px}.skpi .spark{display:none}
  .hm-x{height:22px}.hm-r{padding-right:6px;font-size:11px}.hm-c{font-size:10px}.rd-bar{min-width:170px}.rdb-in b{min-width:86px}.rep-range{width:100%}}
@media (prefers-reduced-motion:reduce){.ch-tip{animation:none}.rb-f{transition:none}}

/* ---------- Касс v2: queue · detailed bill · pay panel ---------- */
.kpos{display:grid;grid-template-columns:268px minmax(0,1fr) 352px;gap:14px;align-items:start}
.kq{position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px!important}
.kq-h{margin:0;font-size:16px}.kq-cap{display:block;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:2px 2px 6px}
.kq-l{display:flex;flex-direction:column;gap:6px}.kq-e{margin:6px 2px 0;font-size:13px}
.kq-i{display:flex;align-items:stretch;gap:4px;border-radius:14px;background:var(--field);transition:background .15s}
.kq-i.on{background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:inset 0 0 0 1.5px var(--accent)}
.kq-m{flex:1;min-width:0;display:flex;align-items:center;gap:9px;border:0;background:none;padding:9px 10px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px}
@media (hover:hover){.kq-i:not(.on):hover{background:var(--field-hover)}}
.kq-n{flex:1;min-width:0;display:flex;flex-direction:column}.kq-n b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kq-n small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kq-a{font-size:13px;color:var(--bad);font-variant-numeric:tabular-nums;flex:none}
.kq-add{flex:none;width:34px;border:0;border-left:.5px solid var(--line);background:none;color:var(--accent);font-size:18px;font-weight:700;cursor:pointer;border-radius:0 14px 14px 0}
.kq-add:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.kq-tg{display:none;border:0;background:var(--field);border-radius:12px;padding:9px 12px;font:inherit;font-weight:600;font-size:13.5px;color:var(--ink);text-align:left;cursor:pointer}.kq-tg span{float:right;color:var(--muted)}
.kb{display:flex;flex-direction:column;gap:12px;min-width:0}
.kb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:46px 26px!important}.kb-empty-ic{font-size:40px}.kb-empty b{font-size:17px}.kb-empty p{max-width:420px;margin:0}
.kb-p{padding:0!important;overflow:hidden}
.kb-ph{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:.5px solid var(--line);background:color-mix(in srgb,var(--field) 55%,var(--surface))}
.kb-pn{flex:1;min-width:0;display:flex;flex-direction:column}.kb-pn b{font-size:16px}.kb-pn small{font-size:12.5px;color:var(--muted)}
.kb-pt{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.kb-pt small{font-size:11px;color:var(--muted)}.kb-pt b{font-size:18px;font-variant-numeric:tabular-nums}
.kb-pa{display:flex;gap:6px}
.kb-day{display:flex;align-items:baseline;gap:8px;padding:10px 16px 4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kb-day em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;color:var(--warn)}
.kb-ls{list-style:none;margin:0;padding:0 8px 4px;display:flex;flex-direction:column;gap:2px}
.kb-l{display:grid;grid-template-columns:24px minmax(0,1fr) auto 104px;align-items:center;gap:12px;padding:10px 10px;border-radius:12px;cursor:pointer;transition:background .15s}
@media (hover:hover){.kb-l:hover{background:var(--field)}}
.kb-l:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.kb-l .pd-tick{width:22px;height:22px}.kb-l.on .pd-tick{background:var(--accent);border-color:var(--accent)}
.kb-l.on .pd-tick::after{content:"";position:absolute;left:6.5px;top:2.5px;width:5px;height:10px;border:solid var(--accent-ink);border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.kb-l:not(.on){opacity:.62}.kb-l:not(.on) .kb-d{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.kb-w{display:flex;flex-direction:column;min-width:0}.kb-w b{font-size:14.5px;font-weight:600}.kb-w small{font-size:12px;color:var(--muted);line-height:1.35}
.kb-c{display:flex;flex-direction:column;align-items:flex-end;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.35;text-align:right}.kb-c>span:first-child{color:var(--ink)}
.kb-c .pd-qty{margin-bottom:2px}
.kb-d{font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
.kb-l.is-case .kb-w b::before{content:"📋 ";font-size:12px}
.kb-clear{margin:12px 16px;background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:12px 14px;font-weight:600;display:flex;flex-direction:column;gap:2px}.kb-clear small{font-weight:500;color:var(--ink);opacity:.75}
.kb-pf{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px 14px}.kb-pf .linkbtn{border:0;background:none;font-size:13px;cursor:pointer}
.kb-addb{display:flex;align-items:center;gap:12px;width:100%;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,var(--line))!important;background:transparent!important;box-shadow:none!important;padding:14px 16px!important;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:18px}
.kb-addb:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)!important}
.kb-addb>span:last-child{display:flex;flex-direction:column}.kb-addb b{font-size:14.5px}.kb-addb small{font-size:12.5px;color:var(--muted)}
.kb-plus{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:700;flex:none}
.kb-add{display:flex;flex-direction:column;gap:10px}.kb-add-h{display:flex;justify-content:space-between;align-items:center}.kb-add-tip{margin:0;font-size:12.5px}
.kb-sug{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.kb-sug button{display:flex;align-items:center;gap:9px;border:0;background:var(--field);border-radius:12px;padding:8px 10px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.kb-sug button:hover{background:var(--field-hover)}.kb-sug button>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.kb-sug b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-sug small{font-size:11.5px;color:var(--muted)}.kb-sug i{font-style:normal;color:var(--accent);font-weight:700}
.kpay{position:sticky;top:76px;padding:18px!important}.kpay-0 h3{margin:0 0 6px}
.kpay-in{display:flex;flex-direction:column;gap:14px}.kpay-in h3{margin:0;font-size:17px}
.kpay-sum{display:flex;flex-direction:column;gap:6px;background:var(--field);border-radius:16px;padding:12px 14px}
.kpay-sum>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.kpay-sum>div>span{color:var(--muted)}.kpay-sum b{font-variant-numeric:tabular-nums}
.kpay-sum .okc span{color:var(--ok)}
.kpay-disc{flex-wrap:wrap}.kpay-disc input{width:72px}.kpay-disc .money-in{width:120px}.kpay-disc .seg button{padding:4px 10px}
.kpay-addd{align-self:flex-start;border:0;background:none;padding:0;font-size:13px;cursor:pointer}
.kpay-net{border-top:.5px solid var(--line);padding-top:8px;margin-top:2px}.kpay-net span{font-weight:600;color:var(--ink)!important}.kpay-net b{font-size:24px;letter-spacing:-.02em}
.kpay-sec{display:flex;flex-direction:column;gap:8px}.kpay-sec>small{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.kpay .money-in.big{background:var(--field);border:0;border-radius:14px;padding:4px 14px}.kpay .money-in.big input{font-size:28px;font-weight:800;letter-spacing:-.03em;background:none;padding:4px 0}
.kpay .money-in.big:focus-within{background:var(--surface);box-shadow:0 0 0 2px var(--accent)}
.kpay .pd-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.kpay .pd-methods button{padding:10px 6px;font-size:13px}.kpay .pd-methods button span{font-size:19px}
.kpay .linkbtn{align-self:flex-start;border:0;background:none;padding:0;font-size:13px;cursor:pointer}
.kpay .pd-srow{grid-template-columns:118px minmax(0,1fr) auto}
.kpay-payer,.kpay-org input{width:100%}.kpay-org{display:grid;grid-template-columns:1fr 1.4fr;gap:6px}.kpay-who button{padding:4px 10px;font-size:12.5px}
.kpay-chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.kpay-chk input{width:auto;margin:0}.kpay-auto small{opacity:.8}
.kpay .pd-go{min-height:54px}
.kdone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:34px 24px!important;width:100%;max-width:640px;margin:0 auto;box-sizing:border-box}
.kdone h2{margin:6px 0 0;font-size:24px;letter-spacing:-.02em}.kdone-l{list-style:none;margin:10px 0 4px;padding:0;width:100%;display:flex;flex-direction:column;gap:6px}
.kdone-l li{display:flex;align-items:center;gap:10px;background:var(--field);border-radius:14px;padding:10px 12px;text-align:left}.kdone-l li>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.kdone-l small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kdone-a{display:flex;flex-direction:column;align-items:flex-end}.kdone-a b{font-variant-numeric:tabular-nums}
.kdone-act{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}
.kl-p{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.paydet-box .paydet-who{margin:-2px -4px 6px;width:calc(100% + 8px)}.paydet-tot.sm{font-size:13.5px;padding-top:6px}.paydet-tot.sm b{font-size:15px}
.paydet-left{margin-top:6px;font-size:13px;color:var(--bad);display:flex;justify-content:space-between}
.paydet-m{display:flex;justify-content:space-between;font-size:14px;padding-top:6px;color:var(--muted)}.paydet-m b{color:var(--ink)}
.paydet-size{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.paydet-size .seg button{padding:5px 10px;font-size:12.5px}
/* 3 columns only when the bill still gets room; then queue on top, bill + pay side by side; then one column */
@media (max-width:1319px){.kpos{grid-template-columns:minmax(0,1fr) 330px}.kq{grid-column:1/-1;position:static;max-height:none}
  .kq .kq-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.kq .kq-cap{grid-column:1/-1}
  .kpos.has-bill .kq-tg{display:block}.kpos.has-bill .kq:not(.open) .kq-l{display:none}}
@media (min-width:901px) and (max-width:999px),(max-width:760px){.kpos{grid-template-columns:minmax(0,1fr)}.kpay{position:static}}
@media (max-width:760px){.kq .kq-l{grid-template-columns:1fr}}
/* the person card adapts to its own width (narrow column or phone) */
.kb-p{container-type:inline-size}
@container (max-width:540px){
  .kb-ph{flex-wrap:wrap}.kb-pn{flex:1 1 calc(100% - 60px)}.kb-pt{order:3;align-items:flex-start}.kb-pa{order:4;margin-left:auto}
  .kb-l{grid-template-columns:22px minmax(0,1fr) auto;row-gap:2px}.kb-c{grid-column:2;grid-row:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:2px 8px;text-align:left}.kb-d{grid-column:3;grid-row:1}}



.ph-row{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:12px 4px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px}
@media (hover:hover){.ph-row:hover{background:var(--field)}}.ph-go{font-style:normal;color:var(--muted);font-size:18px;margin-left:auto}.ph-with{color:var(--accent)!important}
.ws-bal-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* print menu */
.prm .pbody{display:flex;flex-direction:column;gap:18px}.prm-sec{display:flex;flex-direction:column;gap:8px}.prm-sec h4{margin:0;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.prm-h{display:flex;justify-content:space-between;align-items:center}
.prm-card{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--field);border-radius:14px;padding:12px 14px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:background .15s,transform .1s}
.prm-card:hover{background:var(--field-hover)}.prm-card:active{transform:scale(.99)}.prm-card.sug{box-shadow:inset 0 0 0 1.5px var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.prm-ic{font-size:22px}.prm-t{flex:1;min-width:0;display:flex;flex-direction:column}.prm-t b{font-size:14.5px}.prm-t small{font-size:12px;color:var(--muted)}
.prm-card em{font-style:normal;font-size:11px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:999px;padding:2px 8px}.prm-card i{font-style:normal}
.prm-opt{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}.prm-opt label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.prm-opt .seg button{padding:5px 10px;font-size:12.5px}
.prm-tip{margin:0;font-size:12.5px}.prm-rx{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.prm-rx li{display:flex;align-items:center;gap:6px;background:var(--field);border-radius:12px;padding:8px 10px}.prm-rx li>span{flex:1;min-width:0;display:flex;flex-direction:column}.prm-rx small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prm-blank{display:flex;flex-wrap:wrap;gap:6px}
/* prescription */
.rxf .pbody{display:flex;flex-direction:column;gap:12px}.rx-w{padding:9px 12px}
.rx-h{display:flex;align-items:baseline;gap:10px}.rx-h b{font:italic 700 20px Georgia,serif}.rx-h small{font-size:12px;color:var(--muted)}
.rx-l{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:10px}.rx-l li{padding:8px 10px;border-radius:12px;background:var(--field)}.rx-l li.warn{box-shadow:inset 0 0 0 1.5px var(--bad)}
.rx-r1{display:flex;gap:6px;align-items:center}.rx-n{flex:1;min-width:0;font-weight:600}.rx-q{width:62px}.rx-f{width:84px}.rx-u{width:100%;margin-top:6px;resize:vertical;min-height:34px}
.rx-warn{display:block;color:var(--bad);font-weight:600;font-size:12.5px;margin-top:4px}
.rx-pre{display:flex;flex-direction:column;gap:8px}.rx-pre small{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:4px}.rx-pre .chips button{font-size:12.5px;padding:5px 10px}
.rx-pre .chips button.warn{border-color:var(--bad);color:var(--bad)}.rx-note{margin:0;font-size:12px}.rx-adv button{font-size:12.5px;padding:5px 10px}
/* settings: receipt preview */
.setp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.setp-r{position:sticky;top:76px;display:flex;flex-direction:column;gap:8px;align-items:center}
.setp-r small{font-size:12px;color:var(--muted);font-weight:600;align-self:flex-start}
.rc-box{background:#fff;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 8px 28px -10px rgba(0,0,0,.25);overflow:hidden}
.rc-frame{border:0;display:block;background:#fff}

.setp textarea.sr-in{min-height:52px;resize:vertical}
@media (max-width:1439px){.setp{grid-template-columns:minmax(0,1fr)}.setp-r{position:static;align-items:flex-start}}
/* history (admin) */
.audit-f{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.audit-f .chips small{opacity:.7;margin-left:2px}.audit-f select{width:auto;min-width:180px}
.audit-r{display:block;font-size:11.5px}.audit-t{max-width:360px}
.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.ok{color:var(--ok)}
.kq-r{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.kq-r small{flex:1;min-width:0}
.kb-addb{flex-direction:row!important}
@media (min-width:900px){.kass-page .subtabs{flex-wrap:wrap;overflow:visible}}
.sr.sr-col{flex-wrap:wrap;row-gap:8px}.sr.sr-col .sr-l{flex:1 1 100%}.sr.sr-col .sr-c{flex:1 1 100%}.sr.sr-col textarea.sr-in{width:100%;text-align:left;background:var(--field)!important;border-radius:9px;padding:8px 10px}


/* ---------- treatment form: what saving also does in Хяналт / the plan (sync.js) ---------- */
.txk{border:1px solid var(--line);border-radius:12px;padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--soft) 60%,transparent)}
.txk-h{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.txk-r{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 9px}
.txk-r.off .txk-t{opacity:.45}
.txk-on{display:flex;padding-top:2px;cursor:pointer}.txk-on input{width:17px;height:17px;margin:0;accent-color:var(--tc,var(--accent));cursor:pointer}
.txk-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.txk-t b{font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.txk-t b .mono{font-weight:500;color:var(--muted);font-size:12px}
.txk-t small{font-size:11.5px;color:var(--muted);line-height:1.35}
.txk-sel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}
.txk-stl{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.txk-st,.txk-case{font-size:12px;padding:3px 26px 3px 9px;border-radius:8px;min-height:28px;width:auto;max-width:100%;text-overflow:ellipsis}
.txk-r.plan{--tc:var(--ok)}
.txk-warn{grid-column:2/-1;font-size:11.5px;background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:6px 9px;line-height:1.4}
.txk-warn .linkbtn{font-size:11.5px;font-weight:600}
.tx-form .grid3{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1.1fr)}
.tx-form .money-in input{padding-left:8px;padding-right:4px;min-width:0}

/* ---------- Борлуулалт (sales): call lists, call panel, call log ---------- */
.sl-tabs{display:flex;gap:6px;margin:0 0 14px;flex-wrap:wrap}
.sl-tabs button{border:0;background:var(--surface);box-shadow:var(--sh-card);border-radius:12px;padding:9px 16px;font:inherit;font-weight:600;font-size:14px;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,color .2s}
.sl-tabs button b{background:var(--bad);color:#fff;border-radius:99px;font-size:11.5px;padding:1px 7px;line-height:1.5}
.sl-tabs button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.sl-card{padding-top:12px}
.sl-tool{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sl-tool .search{flex:1 1 180px;min-width:150px}
.sl-sel{width:auto;font-size:13px;min-height:34px;padding:5px 28px 5px 10px}
.sl-note{margin:8px 0 4px;font-size:12px}
.sl-list{list-style:none;margin:6px 0 0;padding:0}
.sl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}
.sl-row:last-child{border-bottom:0}
.sl-main{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.6fr);gap:4px 14px;align-items:center;background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}
.sl-who{display:flex;flex-direction:column;min-width:0}
.sl-who b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-who small{font-size:11.5px;color:var(--muted)}
.sl-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.sl-when{font-size:13px}.sl-when b{font-weight:700}
.sl-what{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-tags{display:flex;flex-wrap:wrap;gap:4px}.sl-tags:empty{display:none}
.sl-tag{--oc:var(--muted);display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1.5;padding:0 7px;border-radius:99px;color:var(--oc);background:color-mix(in srgb,var(--oc) 13%,transparent);white-space:nowrap}
.sl-tag.gray{--oc:var(--muted)}
.sl-tag.t-ortho,.sl-tag.t-removable,.sl-tag.t-implant,.sl-tag.t-crown,.sl-tag.t-endo,.sl-tag.t-general{--oc:var(--tc)}
.sl-act{display:flex;align-items:center;gap:6px;flex:none}
.sl-tel{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--accent);background:var(--tint);border-radius:10px;padding:6px 10px;font-weight:600;font-size:13px;white-space:nowrap}
.sl-tel:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.sl-nophone{font-size:12px;color:var(--muted);padding:0 6px}
.sl-row.st-done .sl-who b{color:var(--muted)}
.sl-more{text-align:center;margin:10px 0 0}
/* call panel */
.sl-call{display:flex;gap:8px;flex-wrap:wrap}
.sl-big{font-size:16px;padding:12px 18px;border-radius:14px;text-decoration:none;flex:1 1 auto;justify-content:center;text-align:center}
.sl-kv{margin-top:2px}
.sl-plan{list-style:none;margin:0;padding:0}.sl-plan li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.sl-plan li:last-child{border-bottom:0}
.sl-plan em{font-style:normal;color:var(--muted);white-space:nowrap}
.sl-outs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.sl-out{--oc:var(--muted);border:1.5px solid color-mix(in srgb,var(--oc) 45%,transparent);background:var(--surface);color:var(--oc);border-radius:99px;padding:7px 13px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.sl-out.on{background:var(--oc);color:#fff;border-color:var(--oc)}
.sl-save{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.sl-save .btn.primary{flex:1}
.sl-hist li p{margin:2px 0 0}
/* call log */
.sl-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.sl-by{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.sl-by button{border:0;background:var(--surface);box-shadow:var(--sh-card);border-radius:12px;padding:8px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column}
.sl-by button span{font-size:11.5px;color:var(--muted)}.sl-by button.on{outline:2px solid var(--accent)}
.sl-tbl td{vertical-align:top}.sl-noteC{max-width:320px;font-size:12.5px}
@media (max-width:760px){
  .sl-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .sl-main{grid-template-columns:minmax(0,1fr)}
  .sl-act{justify-content:flex-start;flex-wrap:wrap}
  .sl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-tabs{flex-wrap:nowrap;gap:5px}
  .sl-tabs button{flex:1 1 0;min-width:0;justify-content:center;padding:8px 6px;font-size:13px;line-height:1.2;text-align:center;gap:5px}
  .sl-tool .seg{display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;scrollbar-width:none}.sl-tool .seg::-webkit-scrollbar{display:none}
  .sl-tool .seg button{flex:1 0 auto;padding:6px 7px;font-size:13px;white-space:nowrap}
  .sl-tool .sl-sel{flex:1 1 140px}
}

/* ---------- Kass: which bank (card terminal / transfer account), "НӨАТ олгохгүй" ---------- */
.pd-bank{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.pd-bank>small{font-size:11.5px;color:var(--muted);font-weight:600}
.pd-bank-l{display:flex;flex-wrap:wrap;gap:6px}
.pd-bank-l button{border:1.5px solid var(--line);background:var(--surface);border-radius:11px;padding:6px 11px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;transition:border-color .15s,background .15s}
.pd-bank-l button small{font-size:11px;color:var(--muted)}
.pd-bank-l button.on{border-color:var(--accent);background:var(--tint)}
.pd-bank-l button.on b{color:var(--accent)}
.pd-acc{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--soft);border-radius:10px;padding:7px 10px;font-size:13px}
.pd-acc b{letter-spacing:.02em}
.pd-srow.has-bank{grid-template-rows:auto auto}
.pd-bank-sel{grid-column:1/-1;font-size:12.5px;min-height:32px;padding:4px 28px 4px 10px}
.pd-bank-sel.need{box-shadow:0 0 0 1.5px var(--warn) inset}
.kpay-vat{margin-top:4px;padding:8px 10px;border-radius:10px;background:var(--soft);color:var(--ink)}
.kpay-vat small{color:var(--muted)}
.kpay-vat.on{background:var(--warn-bg);color:var(--warn)}.kpay-vat.on small{color:inherit;opacity:.85}
.pill.nov{color:var(--warn);background:var(--warn-bg)}
.kbank{white-space:nowrap}
.paydet-bank{margin-top:6px;font-size:12.5px}
.paydet-bankf{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.paydet-bankf label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
/* settings: banks */
.bank-add{flex-wrap:wrap;gap:8px}
.bank-add .sr-sel{flex:1 1 170px}.bank-add .sr-in{flex:1 1 160px;min-width:0}
.nl-av.bank{background:linear-gradient(145deg,color-mix(in srgb,#2563eb 30%,var(--surface)),color-mix(in srgb,#2563eb 12%,var(--surface)));color:#1d4ed8}
.nl-av.app{background:linear-gradient(145deg,color-mix(in srgb,#f59e0b 35%,var(--surface)),color-mix(in srgb,#f59e0b 14%,var(--surface)));color:#b45309}
.bank-t{display:flex;flex-direction:column;min-width:0}.bank-t small{font-size:12px;color:var(--muted)}

/* ---------- tooth chart: right-click menu (what is recorded on a tooth) ---------- */
.tchart:not(.compact) .tooth{touch-action:pan-y;-webkit-user-select:none;user-select:none}
.ctx.tmenu{width:300px}
.tm-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;padding:2px 4px}
.tm-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px}
.tm-row:hover{background:rgba(255,255,255,.06)}
.tm-row span{flex:1;min-width:0;display:flex;flex-direction:column}
.tm-row small{font-size:11px;color:rgba(232,238,252,.6)}
.tm-row b{font-size:13px;font-weight:600;color:#e8eefc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-row.k-plan b{color:#7dd3fc}.tm-row.k-exam b{color:#fdba74}
.tm-del{border:0;background:rgba(239,68,68,.16);color:#fca5a5;border-radius:8px;padding:5px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;flex:none}
.tm-del:hover{background:rgba(239,68,68,.3)}
.tm-note{font-size:11.5px;color:rgba(232,238,252,.6);margin:4px 12px 6px}

/* ---------- patient photos: select several, right-click menu ---------- */
.ph-cell .ph-open{all:unset;display:grid;place-items:center;width:100%;height:100%;cursor:pointer}
.ph-cell .ph-open img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}
.ph-chk{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.28);color:transparent;font-size:14px;font-weight:800;display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;transition:opacity .15s,background .15s}
.ph-cell:hover .ph-chk,.ph-cell.on .ph-chk,.ph-grid:has(.ph-cell.on) .ph-chk{opacity:1}
@media (pointer:coarse){.ph-chk{opacity:1}}
.ph-cell.on{outline:3px solid var(--accent);outline-offset:-3px}
.ph-cell.on .ph-chk{background:var(--accent);color:#fff;border-color:#fff}
.ph-selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--tint);border-radius:12px;padding:8px 12px;margin:8px 0}
.ph-selbar b{margin-right:auto;font-size:13.5px}
.qk.on{box-shadow:0 0 0 3px var(--surface),0 0 0 5px currentColor;color:#fff}.qk.jaw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px #3fb39b}.qk.all.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px #ef4e2d}
.tx-jawc{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tx-jaw{display:inline-block;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#3fb39b 16%,transparent);color:#1f7f6b;font-size:12px;font-weight:700;white-space:nowrap}
/* E-dental import (Тохиргоо → Өгөгдөл) */
.ed .ed-file .sr-l b{font-weight:600}.ed .ed-busy{color:var(--accent);font-weight:600}
.ed-fatal{margin:10px 0}
.ed-sum{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.ed-sum section{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.ed-sum h5{margin:0 0 2px;font-size:14px}.ed-sum h5 small{font-weight:400;color:var(--muted)}
.ed-more{border-radius:10px}.ed-more summary{cursor:pointer;padding:6px 8px;border-radius:8px;list-style:none;display:flex;gap:6px;align-items:baseline}
.ed-more summary::-webkit-details-marker{display:none}.ed-more summary::before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s}.ed-more[open] summary::before{transform:rotate(90deg)}
.ed-more summary:hover{background:var(--soft)}.ed-more.ok summary b{color:#1f8a57}.ed-more.bad summary b{color:#c23b33}
.ed-list{max-height:280px;overflow:auto;padding:4px 8px 8px 22px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.ed-list small{color:var(--muted)}.ed-list s{color:#c23b33}
.ed-line{padding:4px 8px;font-size:13.5px}.ed-line.ok{color:#1f8a57;font-weight:600}
.ed-ver{border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.ed-ver.ok{background:color-mix(in srgb,#1f9d55 10%,transparent)}.ed-ver.bad{background:color-mix(in srgb,#e0a800 14%,transparent)}
.ed-ver small{color:var(--muted)}
.ed-go{display:flex;justify-content:flex-end}.ed-done{margin-top:10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#1f9d55 12%,transparent);font-weight:600}
/* new card: offer the free numbers in the middle */
.pf2-gap{display:flex;flex-direction:column;gap:6px;justify-content:center;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:13px}
.pf2-gap-b{display:flex;gap:6px;flex-wrap:wrap}
/* one person, two cards: duplicates list + merge panel */
.card-hb{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mg-list{display:flex;flex-direction:column;gap:10px}
.mg-row{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.mg-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.mg-eq{color:var(--muted);font-size:18px}
.mg-card{display:flex;flex-direction:column;gap:2px;min-width:0}.mg-card b{font-size:14px}.mg-card .mono{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.mg-fp{font-size:12px;color:var(--muted)}
.mg-act{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.mg-act>span:last-child{display:flex;gap:6px}
.mg-why{display:flex;gap:4px;flex-wrap:wrap}.mg-why i{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#e0a800 16%,transparent);color:#8a6400}
.mg-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mg-side{border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;cursor:pointer;position:relative}
.mg-side input{position:absolute;opacity:0;pointer-events:none}.mg-side.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.mg-side.ghost{color:var(--muted);align-items:center;justify-content:center;cursor:default}
.mg-tag{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#c23b33}.mg-side.on .mg-tag{color:var(--accent)}
.mg-h{margin:14px 0 6px;font-size:13.5px}
.mg-tbl{width:100%;border-collapse:collapse}.mg-tbl th{text-align:left;font-weight:600;font-size:12.5px;color:var(--muted);padding:6px 8px 6px 0;white-space:nowrap;width:1%}
.mg-tbl td{padding:3px 4px}.mg-tbl label{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:10px;border:1px solid var(--line);cursor:pointer;font-size:13px}
.mg-tbl label.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);font-weight:600}
.mg-note{margin-top:10px}.mg-pickb{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
@media (max-width:640px){.mg-pair{grid-template-columns:1fr}.mg-eq{display:none}.mg-sides{grid-template-columns:1fr}}
/* print menu: diagnosis + plan for the client */
.prm-plan-opt{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.prm-plan-opt .full{grid-column:1/-1}
.prm-plan-opt textarea{width:100%;margin-top:4px}.prm-days{display:flex;align-items:center;gap:6px;margin-top:4px}.prm-days input{width:80px}
.plan-total{display:flex;align-items:center;gap:10px;justify-content:space-between}
/* catalog item breakdown (задаргаа) */
.parts-r{display:grid;grid-template-columns:1fr 130px auto;gap:8px;align-items:center}.parts-r .cat-price input{width:100%}
.parts-act{gap:6px;flex-wrap:wrap}.kd-parts{color:var(--muted)}






/* Төлбөр таб — минималист: нэг мөр дүн, бүх эмчилгээ сараар, төлбөрүүд */
.pt{display:flex;flex-direction:column;gap:14px}
.pt-sum{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:4px 2px}
.pt-sum>div{display:flex;flex-direction:column;gap:1px}.pt-sum span{font-size:12px;color:var(--muted)}.pt-sum b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.pt-sum .bad b{color:var(--bad)}.pt-sum .ok b{color:var(--ok)}.pt-sum .btn{margin-left:auto}
.pt-card h3{display:flex;align-items:baseline;gap:6px}.pt-card h3 small{color:var(--muted);font-weight:400;font-size:13px}
.pt-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.pt-tbl th{text-align:left;font-size:11.5px;font-weight:500;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.pt-tbl td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.pt-tbl .r{text-align:right;white-space:nowrap}
.pt-tbl td small{display:block;color:var(--muted);font-size:12px;margin-top:1px}

.pt-tbl tr.has-v{cursor:pointer}.pt-tbl tr.has-v:hover td{background:var(--soft)}
.pt-d{width:62px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.pt-doc{color:var(--muted);white-space:nowrap}
.pt-t{margin-left:6px;font-size:12px;color:var(--muted)}
.pt-vn{color:var(--accent)!important}
.pt-tbl tr.pt-v td{padding:5px 8px;border-bottom:1px dashed var(--line);font-size:12.5px;background:var(--soft)}
.pt-tbl tr.pt-v small{display:inline}
.pt-st{font-size:12px;color:var(--muted);white-space:nowrap}.pt-st.ok{color:var(--ok)}.pt-st.warn{color:var(--warn)}.pt-st.bad{color:var(--bad);font-weight:600}
.pt-go{color:var(--muted);width:16px}
@media (max-width:640px){.pt-doc{display:none}.pt-sum{gap:16px}.pt-sum .btn{margin-left:0;width:100%}}
@media (max-width:640px){.pt-tbl{font-size:13px}.pt-tbl td,.pt-tbl th{padding:8px 5px}.pt-d{width:auto}.pt-tbl tr.pt-v td[colspan]{white-space:normal}}
@media (max-width:640px){.pt-card{overflow-x:auto}.pt-st{white-space:normal}.pt-tbl .r{white-space:normal}.pt-tbl .mono{white-space:nowrap}}
.pt-dc{color:var(--warn)}
@media (max-width:640px){.pt-tbl th:nth-child(5),.pt-tbl td.pt-dcol{display:none}}

.pt-gh{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:2px 0 8px;font:inherit;color:inherit;text-align:left;cursor:default;flex-wrap:wrap}
button.pt-gh{cursor:pointer}button.pt-gh:hover .pt-gt{color:var(--accent)}
.pt-gh>b{font-size:14.5px}.pt-gm{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;flex:1}
.pt-gt{font-weight:700;font-size:15px;margin-left:auto}.pt-due{border-color:color-mix(in srgb,var(--bad) 30%,var(--line))}.pt-due .pt-gh span{margin-left:auto;font-weight:700}
.pt-tbl small.bad,.pt-tbl .bad{color:var(--bad)}.pt-tbl small.ok{color:var(--ok)}
.pt-tbl{table-layout:fixed}.pt-tbl th:nth-child(1){width:84px}.pt-tbl th:nth-child(3){width:150px}.pt-tbl th:nth-child(4){width:120px}.pt-tbl th:nth-child(5){width:110px}.pt-tbl th:nth-child(6){width:140px}
.pt-tbl td{overflow-wrap:anywhere}
@media (max-width:640px){.pt-tbl{table-layout:auto}.pt-tbl th{width:auto!important}}
.pt-pr{margin-left:auto;display:flex;gap:6px}@media (max-width:640px){.pt-pr{margin-left:0}}

/* Үйлчлүүлэгчийн толгой — брэндийн өнгөтэй */
.ws-head{background:linear-gradient(120deg,#0b5d4b 0%,#0e7c66 55%,#14a085 100%);color:#fff;border:0;box-shadow:0 14px 34px -18px rgba(11,93,75,.7)}
.ws-head .ws-av{background:rgba(255,255,255,.18);color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.ws-head .ws-id h1{color:#fff}.ws-head .ws-meta{color:rgba(255,255,255,.78)}.ws-head .ws-meta a{color:#fff}
.ws-head .ws-bal span{color:rgba(255,255,255,.75)}.ws-head .ws-bal b.bad{color:#fff;background:rgba(255,80,80,.28);padding:2px 10px;border-radius:10px}.ws-head .ws-bal b.ok{color:#d1fae5}
.ws-head .btn{background:rgba(255,255,255,.16);color:#fff;border-color:transparent}.ws-head .btn:hover{background:rgba(255,255,255,.26)}
.ws-head .btn.primary{background:#fff;color:#0b5d4b}
.ws-head .an-alert{background:rgba(255,255,255,.16);color:#fff;border-color:transparent}.ws-head .an-alert.bad{background:rgba(255,80,80,.3)}.ws-head .an-alert.warn{background:rgba(255,190,80,.28)}
.ws-head .ws-note{background:rgba(255,255,255,.16);color:#fff}
@media (max-width:640px){.ws-head .ws-bal{border-top-color:rgba(255,255,255,.2)}}







.k-tx{--kc:#0e7c66}.k-pay{--kc:#16a34a}.k-exam{--kc:#2563eb}.k-cc{--kc:#dc2626}.k-visit{--kc:#7c3aed}.k-rx{--kc:#d97706}


.ws-head .an-alert,.ws-head .an-alert *{color:#fff!important}.ws-head .an-alert{border:1px solid rgba(255,255,255,.3)!important}
.ws-head .ws-bal b.bad{background:#fff!important;color:#dc2626!important;padding:3px 12px;border-radius:12px;box-shadow:0 4px 14px -6px rgba(0,0,0,.35)}
/* Тойм: эмчилгээний түүх */
.txh{display:flex;flex-direction:column}
.txh-m{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 2px 4px}.txh-m:first-child{padding-top:0}
.txh-i{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:8px 2px;border-top:1px solid var(--line);font-size:13.5px}
.txh-d{color:var(--muted);font-variant-numeric:tabular-nums}
.txh-t b{font-weight:600}.txh-t em{font-style:normal;color:var(--muted);font-size:12.5px;margin-left:8px}.txh-t small{display:block;color:var(--muted);font-size:12px}
.txh-w{color:var(--muted);font-size:12.5px;white-space:nowrap}
.card-h h3 small{font-weight:400}
.txh-ch{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.txh-ch i{font-style:normal;font-size:12px;font-weight:600;border-radius:8px;padding:2px 8px}
.txh-ch .ch-wire{background:color-mix(in srgb,#7c3aed 12%,var(--surface));color:#7c3aed}.txh-ch .ch-el{background:color-mix(in srgb,#db2777 12%,var(--surface));color:#db2777}
/* Цаг захиалгын түүх */
.ah-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto}
.ah-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.ah-tbl th{background:var(--soft);text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);padding:10px 14px;white-space:nowrap}
.ah-tbl td{padding:11px 14px;border-top:1px solid var(--line)}.ah-tbl tbody tr{cursor:pointer}.ah-tbl tbody tr:hover td{background:var(--soft)}
.ah-sort{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.ah-sort i{font-style:normal;color:var(--accent);margin-left:4px}
.ah-f{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px;color:var(--muted);cursor:pointer}.ah-f.on{color:var(--accent)}
.ah-f select{position:absolute;inset:-4px;opacity:0;cursor:pointer;width:auto}
.ah-st{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;border:1px solid}
.ah-st.info{color:#4f46e5;background:color-mix(in srgb,#4f46e5 8%,var(--surface));border-color:color-mix(in srgb,#4f46e5 25%,transparent)}
.ah-st.ok{color:#059669;background:color-mix(in srgb,#059669 8%,var(--surface));border-color:color-mix(in srgb,#059669 25%,transparent)}
.ah-st.warn{color:#2563eb;background:color-mix(in srgb,#2563eb 8%,var(--surface));border-color:color-mix(in srgb,#2563eb 25%,transparent)}
.ah-st.bad{color:#dc2626;background:color-mix(in srgb,#dc2626 8%,var(--surface));border-color:color-mix(in srgb,#dc2626 25%,transparent)}
.ah-tbl td:first-child,.ah-tbl td:nth-child(2){white-space:nowrap}.ah-tbl td small.sub{display:block;margin-top:3px}
.pill.sl-ok{background:var(--ok-bg);color:var(--ok)}.pill.sl-bad{background:var(--bad-bg);color:var(--bad)}.pill.sl-warn{background:var(--warn-bg);color:var(--warn)}.pill.sl-disc{background:color-mix(in srgb,#db2777 12%,var(--surface));color:#db2777}
.sl-sum tr{cursor:pointer}.sl-sum tr.on td{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.sl-sum td.bad{color:var(--bad)}.sl-sum td.warn{color:var(--warn)}

/* Хяналт — one line per treatment */
.tk-types{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 12px}
.tk-type{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 13px;font:inherit;font-size:13.5px;font-weight:500;cursor:pointer}
.tk-type .dot{width:8px;height:8px;border-radius:50%;background:var(--tc)}.tk-type small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.tk-type.on{background:var(--tc,var(--ink));border-color:transparent;color:#fff}.tk-type.on small{color:rgba(255,255,255,.8)}.tk-type.on .dot{background:#fff}
.tk-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tk-bar .search{flex:1 1 200px;min-width:160px;margin:0}
.tk-bar .tk-sel{flex:0 0 auto;width:auto;min-width:0;margin:0;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;padding:0 28px 0 10px;max-width:220px}
.tk-sel.on,.tk-chip.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-weight:600}
.tk-chip{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;padding:0 12px;cursor:pointer}
.tk-reset{border:0;background:none;color:var(--accent);font:inherit;font-size:13.5px;cursor:pointer;padding:0 6px}
.tk-card{padding:0;overflow:hidden}.tk-wrap{overflow-x:auto}
.tk-tbl{width:100%;border-collapse:collapse;font-size:13px}.tk-tbl .qb{padding:4px 9px;font-size:12.5px}
.tk-tbl th{background:var(--soft);text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);padding:8px 8px;white-space:nowrap;position:sticky;top:0}
.tk-tbl td{padding:6px 8px;border-top:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.tk-tbl tbody tr{cursor:pointer}.tk-tbl tbody tr:hover td{background:var(--soft)}
.tk-tbl tr.red td{background:color-mix(in srgb,var(--bad,#d0021b) 4%,var(--surface))}.tk-tbl tr.red:hover td{background:color-mix(in srgb,var(--bad,#d0021b) 8%,var(--surface))}
.tk-sort{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.tk-sort.on{color:var(--ink)}.tk-sort i{font-style:normal;color:var(--accent);margin-left:4px}
.tk-n{position:relative;padding-left:16px!important}.tk-n .stripe{position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--tc)}
.tk-n b{font-weight:600;margin-right:6px}.tk-n .sub{font-size:11.5px}.tk-n .sub{font-size:12px}
.tk-w{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.tk-ph{font-size:12.5px;color:var(--muted)}.tk-ph[class*="ph-"]{color:var(--ph);font-weight:600}
.tk-d b{font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums}.tk-d .sub{font-size:12px}.tk-d.bad b{color:var(--bad,#d0021b)}.tk-d.warn b{color:#b45309}
.tk-ap{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}
.tk-o b{font-variant-numeric:tabular-nums}
.tk-a{text-align:right}.tk-a .qb{margin-left:4px}.tk-done{color:var(--ok,#059669);font-size:12.5px;font-weight:600}
.tk-tbl .src-tag{font-size:11.5px;padding:1px 7px}
@media (max-width:700px){.tk-bar .tk-sel{flex:1 1 45%;max-width:none}.tk-bar .seg{width:100%}}
.tk-call{color:var(--bad,#d0021b);font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}.tk-call:hover{text-decoration:underline}
.tk-hint{text-align:center;color:var(--muted);padding:56px 16px;border:1px dashed var(--line);border-radius:16px;margin:0}
.heard-ch{display:flex;flex-wrap:wrap;gap:6px}.heard-ch button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer}
.heard-ch button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.heard-in{margin-top:8px;width:100%}
.ws-meta .ws-card{color:#fff;font-weight:700;font-size:1.15em;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.ws-meta .ws-sex{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:17px;font-weight:700;line-height:1;font-family:Arial,sans-serif}
.ws-head .ws-sex.m{background:#3b82f6;color:#fff}.ws-head .ws-sex.f{background:#ec4899;color:#fff}
.ws-meta .ws-ph{display:inline-flex;gap:.4em;font-variant-numeric:tabular-nums;letter-spacing:.03em;text-decoration:none;font-weight:600}.ws-meta .ws-ph:hover{text-decoration:underline}
/* Хянах самбар — хугацаа сонгох, нас хүйс, залгасан тэмдэглэл */
.dsh-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.dsh-nav{display:flex;gap:6px;align-items:center}.dsh-nav input{height:34px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:inherit;background:var(--surface);color:var(--ink);width:auto}
.dsh-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:14px;margin:14px 0}.dsh-row>.card{margin:0}.dsh-row>.dsh-demo:only-child{grid-column:1/-1}
@media (max-width:900px){.dsh-row{grid-template-columns:1fr}}
.dsh-sex{display:flex;gap:4px;margin:6px 0 14px;font-size:13px;font-weight:600}.dsh-sex span{min-width:max-content;border-radius:10px;padding:8px 10px;color:#fff;white-space:nowrap}
.dsh-sex .m{background:#3b82f6}.dsh-sex .f{background:#ec4899}
.dsh-ages{list-style:none;margin:0;padding:0;display:grid;gap:7px}.dsh-ages li{display:grid;grid-template-columns:52px 1fr 28px;gap:8px;align-items:center;font-size:13px}
.dsh-ages span{color:var(--muted)}.dsh-ages i{height:10px;background:var(--soft);border-radius:6px;overflow:hidden}.dsh-ages b{display:block;height:100%;background:var(--accent);border-radius:6px}
.dsh-ages em{font-style:normal;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.kpi .sx-m{color:#3b82f6;font-weight:600}.kpi .sx-f{color:#ec4899;font-weight:600}
.cb-last{display:inline-block;margin-top:3px;font-size:11.5px;font-weight:600;color:var(--oc);background:color-mix(in srgb,var(--oc) 10%,var(--surface));border-radius:6px;padding:1px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash .callboard{margin-top:14px}
.dash .cb-tabs{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
.cat-cost{display:inline-flex;align-items:center;gap:6px;margin-right:8px}
.cat-cost input{width:92px;height:32px;border:1px dashed var(--line);border-radius:9px;background:transparent;padding:0 8px;font:inherit;font-size:13px;text-align:right;color:var(--muted)}
.cat-cost input:focus{border-style:solid;color:var(--ink);background:var(--surface)}
.cat-cost small{font-size:11.5px;font-weight:700;min-width:32px}.cat-cost small.ok{color:var(--ok,#059669)}.cat-cost small.warn{color:#b45309}
@media (max-width:700px){.cat-cost input{width:72px}}
.pm-bk{list-style:none;margin:4px 0 2px;padding:4px 0 0;border-top:1px dashed var(--line);display:grid;gap:2px;font-size:11.5px}
.pm-bk li{display:flex;justify-content:space-between;gap:6px;color:var(--muted)}.pm-bk b{color:var(--ink);font-weight:600}
.pd-bank.need small{color:#b45309;font-weight:600}
.login-card .pw-wrap{position:relative;display:block}.login-card .pw-wrap input{width:100%;padding-right:44px}
.login-card .pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);display:grid;place-items:center;padding:6px;border-radius:8px;cursor:pointer}
.login-card .pw-eye:hover{color:var(--accent);background:var(--soft)}
.login-note{margin:0;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}
.login-card .login-alt{align-self:center;font-size:13px}
/* Ажилтны нэвтрэх — хоёр хуваасан: зүүн брэнд, баруун маягт (порталынхаас өөр) */
.login.sl{flex-direction:row;align-items:stretch;justify-content:stretch;padding:0;gap:0;text-align:left;background:var(--bg)}
.sl-side{position:relative;overflow:hidden;flex:0 0 44%;max-width:620px;background:radial-gradient(120% 90% at 0% 0%,#14a085 0%,#0b5d4b 45%,#06302a 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:40px 44px}
.sl-logo{height:44px;width:auto;align-self:flex-start;position:relative;z-index:1}
.sl-mid{position:relative;z-index:1;max-width:420px}
.sl-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 12px}
.sl-mid h2{margin:18px 0 10px;font-size:clamp(30px,3.4vw,44px);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#fff}
.sl-mid p{margin:0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.78)}
.sl-foot{position:relative;z-index:1;display:flex;align-items:baseline;gap:12px}.sl-foot b{font-size:34px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.02em}.sl-foot span{color:rgba(255,255,255,.7);font-size:14px}
.sl-mark{position:absolute;right:-60px;bottom:-40px;width:340px;height:340px;color:rgba(255,255,255,.07)}
.sl-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px}
.login.sl .sl-form{border:0;background:transparent;box-shadow:none;width:min(400px,100%);padding:0;gap:14px}
.sl-logo-m{display:none;height:40px;width:auto;align-self:center}
.sl-h{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-align:left}
.login.sl .login-note{text-align:left}
.login.sl .f input{height:48px;border-radius:12px;font-size:15px;background:var(--surface);border:1px solid var(--line)}
.login.sl .f input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.login.sl .btn.primary.wide{height:48px;border-radius:12px;font-size:15.5px;margin-top:4px}
.login.sl .login-alt{align-self:flex-start;text-align:left}
.sl-help{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.sl-help a{color:var(--accent);font-weight:600}
@media (max-width:820px){.login.sl{flex-direction:column}.sl-side{display:none}.sl-logo-m{display:block;margin-bottom:8px}.sl-main{align-items:flex-start;padding:56px 20px 24px}.sl-h{text-align:center}.login.sl .login-note{text-align:center}.login.sl .login-alt{align-self:center;text-align:center}}
.login.sl .sl-tag{color:#fff!important;opacity:1}
@media (max-width:600px){.sr-l{flex-wrap:wrap;row-gap:0}.sr-l small{flex-basis:100%}}
.at-ops button:disabled{opacity:.3;cursor:default}
@media (max-width:640px){.callboard .cb-list li{flex-wrap:wrap;row-gap:6px}.callboard .cb-n{flex:1 1 100%}.callboard .cb-r{width:100%;justify-content:flex-end;flex-wrap:wrap}.cb-n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* exam history: treatment lines next to the exam marks */
.tbl.hx small.sub{font-size:12px;margin:0}.hx-more{display:inline-block;margin-top:10px;border:0;background:none;padding:0;font-size:13px;cursor:pointer}
.tbl.hx .hx-doc{display:none}@media (max-width:600px){.tbl.hx th:nth-child(2),.tbl.hx td:nth-child(2){display:none}.tbl.hx .hx-doc{display:inline}.tbl.hx td{padding:9px 6px}.tbl.hx td.mono{white-space:nowrap;font-size:12.5px}}
.card.site-go{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-go h3{margin:0 0 4px}.site-go p{margin:0}.site-go-b{display:flex;gap:8px;flex-wrap:wrap}
.side nav a.side-site{margin-top:10px;color:var(--muted)}.side nav a.side-site svg{color:var(--muted)}
.sl-main{position:relative}.sl-home{position:absolute;top:18px;left:20px;z-index:2;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:13.5px;text-decoration:none}.sl-home:hover{border-color:var(--accent)}
@media (max-width:860px){.sl-home{top:14px;left:16px;padding:7px 12px;font-size:13px}.sl-logo-m{margin-top:28px}}
/* writing box: toolbar + text / preview */
.tb{border:1px solid var(--tb-line,#d5e2de);border-radius:12px;background:var(--tb-bg,#fff);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.tb:focus-within{border-color:var(--tb-acc,#0b5d4d);box-shadow:0 0 0 4px color-mix(in srgb,var(--tb-acc,#0b5d4d) 14%,transparent)}
.tb-bar{display:flex;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--tb-line,#e3ece9);background:color-mix(in srgb,var(--tb-acc,#0b5d4d) 4%,var(--tb-bg,#fff));flex-wrap:wrap}
.tb-b{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--tb-ink,#2b3d38);padding:6px 10px;border-radius:8px;cursor:pointer;line-height:1}
.tb-b:hover:not(:disabled){background:color-mix(in srgb,var(--tb-acc,#0b5d4d) 10%,transparent)}.tb-b:disabled{opacity:.35;cursor:default}
.tb-k-b{font-weight:800!important;min-width:30px}
.tb-sp{flex:1}.tb-seg{display:inline-flex;background:color-mix(in srgb,var(--tb-ink,#2b3d38) 7%,transparent);border-radius:8px;padding:2px}
.tb-seg button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:6px;color:var(--tb-mut,#6b7d78);cursor:pointer}
.tb-seg button.on{background:var(--tb-bg,#fff);color:var(--tb-ink,#13231f);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.tb textarea{display:block;width:100%;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0;background:transparent;font:inherit;font-size:14.5px;line-height:1.6;padding:12px 14px;resize:none;min-height:150px;color:var(--tb-ink,#13231f)}
.tb-view{padding:12px 16px;min-height:150px;font-size:14.5px;line-height:1.6}.tb-view p{margin:0 0 8px}.tb-empty{color:var(--tb-mut,#8a9a96)}
.tb-view .sc-h{margin:12px 0 6px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tb-acc,#0b5d4d);font-weight:700}
.tb-view .sc-ul{margin:0 0 8px;padding-left:20px}.tb-view .sc-ol{list-style:none;margin:4px 0 10px;padding:0;display:grid;gap:8px}
.tb-view .sc-ol li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--tb-acc,#0b5d4d) 6%,transparent)}
.tb-view .sc-n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--tb-acc,#0b5d4d);color:#fff}
.tb-view .sc-tag{margin-left:8px;font-style:normal;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--tb-acc,#0b5d4d) 12%,transparent)}.tb-view .sc-ol li p{margin:2px 0 0;opacity:.75}
.tb{--tb-line:var(--line);--tb-bg:var(--surface);--tb-acc:var(--accent);--tb-ink:var(--ink);--tb-mut:var(--muted)}
/* closed days (Тохиргоо → Ажлын цаг, календарь) */
.hol-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hol-n{margin:-4px 0 4px;color:var(--muted);font-size:13px}
button.sr.hol-row{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}button.sr.hol-row:disabled{cursor:default}button.sr.hol-row:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 4%,transparent)}.hol-go{color:var(--muted);font-size:18px}
.hol-old{margin-left:auto;border:0;background:none;cursor:pointer;font-size:13px}.cal-hol{display:flex;align-items:center;justify-content:space-between;gap:10px}
.consent{margin:10px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px}.consent.ok b{color:var(--ok,#1f8a5b)}.consent.no b{color:var(--warn,#b26a00)}
.ph-hint{margin:-4px 0 10px;font-size:12.5px}
/* staff ↔ doctor / nurse link */
.sl-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.sl-t{font-style:normal;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--fill,#f1f3f5)}
.sl-t.doc{background:color-mix(in srgb,var(--dc) 14%,transparent);color:color-mix(in srgb,var(--dc) 80%,#000)}.sl-t.nur{background:color-mix(in srgb,#9333ea 12%,transparent);color:#7e22ce}.sl-t.warn{background:color-mix(in srgb,var(--warn,#d97706) 14%,transparent);color:var(--warn,#b45309)}
.sl-box{margin:12px 16px 4px;padding:14px 16px;border-radius:14px;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);display:grid;gap:8px}
.sl-box>b{font-size:15px}.sl-box>small{color:var(--muted,#6b7280);font-size:12.5px;line-height:1.45}
.sl-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sl-l{font-weight:600}.sl-row .sr-sel{min-width:180px}
