/* The Clinic — "Midnight Blue" theme: cool white paper, deep navy, electric blue + cyan accent (from the logo) */
:root{
  --bg:#F3F5FF; --surface:#FFFFFF; --surface-2:#F8F9FF; --ink:#0B0E4A; --ink-2:#3B4080; --muted:#6C7099; --line:#E1E5F8; --line-2:#ECEFFC;
  --brand:#3D47FF; --brand-2:#2B35E6; --brand-ink:#FFFFFF; --brand-soft:#E8EAFF; --accent:#6ADCFF;
  --side:#080C71; --side-2:#11167F; --side-text:#AEB5F2; --side-on:#FFFFFF;
  --ok:#12A37F; --ok-soft:#DDF6EE; --err:#E0483F; --err-soft:#FDE6E4; --info:#0E9EDB; --info-soft:#DDF4FD; --vio:#7C5CF0; --vio-soft:#ECE7FF; --warn-soft:#FFF1D2;
  --shadow:0 1px 2px rgba(11,14,74,.05),0 12px 28px -14px rgba(11,14,74,.22); --r:16px; --r-s:10px;
  --f-head:"Space Grotesk","Plus Jakarta Sans",system-ui,sans-serif; --f-body:"Plus Jakarta Sans","Noto Sans Devanagari","Noto Sans Gujarati",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
:root[data-theme=dark]{
  --bg:#050839; --surface:#0B1060; --surface-2:#0F1568; --ink:#EEF0FF; --ink-2:#C9CEFA; --muted:#8D93D0; --line:#1D2590; --line-2:#151C7C;
  --brand:#5B66FF; --brand-2:#8A93FF; --brand-soft:#171E8F; --side:#040630; --side-2:#0B1060; --ok-soft:#0B3A38; --err-soft:#43191F; --info-soft:#0B3556; --vio-soft:#251E6B; --warn-soft:#3A2A0A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
input[type=number],input[type=time],input[type=date]{min-width:96px}.field{min-width:0}
.card,table.t td,.kv dd,.flash,.pname,.pmeta{overflow-wrap:break-word}table.t td{max-width:380px;overflow-wrap:anywhere}table.t td.nowrap,table.t td.num{max-width:none;overflow-wrap:normal}.nowrap{white-space:nowrap}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14.5px/1.55 var(--f-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:700;letter-spacing:-.01em;margin:0 0 .4em;color:var(--ink)}
a{color:var(--brand-2);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%}
.ic{flex:none;vertical-align:-3px}
.muted{color:var(--muted)} .small{font-size:12.5px} .right{text-align:right} .center{text-align:center} .nowrap{white-space:nowrap}
.mt{margin-top:16px} .mt2{margin-top:28px} .mb{margin-bottom:16px} .gap{gap:12px}
.only-m{display:none}
body.side-collapsed .side{display:none}
.lang-sw a{padding:6px 10px;font-size:12px}.lang-sw{height:40px;align-items:stretch}.lang-sw a{display:flex;align-items:center}

/* shell */
.shell{display:flex;min-height:100vh}
.side{width:248px;flex:none;background:var(--side);color:var(--side-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto;z-index:30}
.brand{display:flex;gap:12px;align-items:center;padding:20px 18px 16px;color:#fff!important;text-decoration:none!important}
.brand b{display:block;font:700 18px/1.1 var(--f-head);letter-spacing:.2px} .brand i{display:block;font-style:normal;font-size:12px;color:var(--side-text);margin-top:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side nav{padding:8px 10px;display:flex;flex-direction:column;gap:2px;flex:1}
.side nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--side-text);font-weight:500;text-decoration:none;position:relative;transition:.15s}
.side nav a:hover{background:var(--side-2);color:#fff}
.side nav a.on{background:linear-gradient(90deg,rgba(61,71,255,.22),rgba(61,71,255,.04));color:#fff}
.side nav a.on::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--brand)}
.side nav a.on .ic{color:var(--brand)}
.side-foot{padding:14px 18px 18px;font-size:12px;display:flex;flex-direction:column;gap:6px;border-top:1px solid rgba(255,255,255,.07)}
.pkg{display:inline-block;align-self:flex-start;background:rgba(61,71,255,.18);color:#8FE6FF;padding:2px 10px;border-radius:99px;font-weight:600}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:64px;display:flex;align-items:center;gap:14px;padding:0 24px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.top-title{font:600 15px var(--f-body);color:var(--muted)}
.top-search{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 12px;height:40px;color:var(--muted)}
.top-search input:not(#_){border:0;outline:0;background:transparent;flex:1;font:inherit;color:var(--ink);height:100%}
.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{border-color:var(--brand)}
.usr{position:relative;display:flex;gap:10px;align-items:center;padding:4px 6px 4px 4px;border-radius:14px;cursor:pointer}
.usr .av{width:36px;height:36px;border-radius:12px;background:var(--ink);color:var(--brand);display:grid;place-items:center;font:700 16px var(--f-head)}
.usr b{display:block;font-size:13px;line-height:1.2} .usr i{display:block;font-style:normal;font-size:11.5px;color:var(--muted)}
.usr-menu{display:none;position:absolute;right:0;top:100%;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;z-index:40}
.usr:hover .usr-menu,.usr:focus-within .usr-menu{display:block}
.usr-menu a{display:block;padding:9px 12px;border-radius:10px;color:var(--ink)} .usr-menu a:hover{background:var(--surface-2);text-decoration:none}
.page{padding:26px 28px 60px;max-width:1380px;width:100%;margin:0 auto}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-head h1{font-size:30px;margin:0} .page-head p{margin:4px 0 0;color:var(--muted)}
.page-actions{display:flex;gap:8px;flex-wrap:wrap}
.side-scrim{display:none}

/* cards, grid */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.card.flat{box-shadow:none} .card h3{font-size:18px;margin-bottom:14px}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap} .card-head h3{margin:0}
.grid{display:grid;gap:18px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.g-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.stat{position:relative;overflow:hidden;padding:18px 20px}
.stat{padding-right:70px!important}.stat .lbl{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.stat .val{font:700 32px/1.1 var(--f-head);margin-top:6px} .stat .sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.stat .ico{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-2)}
.stat.t-ok .ico{background:var(--ok-soft);color:var(--ok)} .stat.t-info .ico{background:var(--info-soft);color:var(--info)} .stat.t-vio .ico{background:var(--vio-soft);color:var(--vio)} .stat.t-err .ico{background:var(--err-soft);color:var(--err)}
a.stat{color:inherit;text-decoration:none;display:block} a.stat:hover{border-color:var(--brand)}

/* buttons & forms */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13.5px var(--f-body);cursor:pointer;text-decoration:none!important;transition:.15s;white-space:nowrap}
.btn:hover{border-color:var(--ink-2)}
.btn-primary{background:linear-gradient(180deg,var(--brand),var(--brand-2));border-color:transparent;color:var(--brand-ink);box-shadow:0 6px 14px -6px rgba(61,71,255,.7)}
.btn-primary:hover{filter:brightness(1.05);border-color:transparent}
.btn-dark{background:var(--ink);color:var(--bg);border-color:var(--ink)} .btn-ok{background:var(--ok);color:#fff;border-color:var(--ok)} .btn-danger{background:var(--err);color:#fff;border-color:var(--err)}
.btn-ghost{background:transparent} .btn-sm{height:34px;padding:0 12px;font-size:12.5px;border-radius:10px} .btn-xs{height:28px;padding:0 9px;font-size:12px;border-radius:8px} .btn-block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:5px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea{width:100%;height:42px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:0 12px;font:inherit;outline:0;transition:.15s}
textarea{height:auto;min-height:80px;padding:10px 12px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(61,71,255,.18)}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-2);width:16px;height:16px}
input[type=file]:not(#_){padding:8px 10px;height:auto}
.field{margin-bottom:14px} .fgrid{display:grid;gap:14px 16px;grid-template-columns:repeat(4,1fr)} .fgrid .s2{grid-column:span 2} .fgrid .s3{grid-column:span 3} .fgrid .s4{grid-column:1/-1}
.fgrid .field{margin:0} .hint{font-size:12px;color:var(--muted);margin-top:4px}
.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .inline .field{margin:0}
.check{display:flex;align-items:center;gap:8px;font-weight:500;margin:0} .check input{margin:0}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.seg a,.seg button{padding:8px 14px;font:600 13px var(--f-body);color:var(--ink-2);border:0;background:transparent;cursor:pointer;text-decoration:none!important;border-right:1px solid var(--line)}
.seg a:last-child,.seg button:last-child{border-right:0} .seg .on{background:var(--ink);color:var(--bg)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px} .toolbar .grow{flex:1}
.toolbar select:not(#_),.toolbar input:not(#_){width:auto;min-width:130px;height:38px}

/* tables */
.tbl-wrap{overflow-x:auto;border-radius:12px}
table.t{width:100%;border-collapse:collapse}
table.t th{font:600 11.5px var(--f-body);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}
table.t td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
table.t tr:hover td{background:var(--surface-2)} table.t tr:last-child td{border-bottom:0}
table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}
table.t tfoot td{font-weight:700;background:var(--surface-2)}
.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.empty{text-align:center;color:var(--muted);padding:38px 10px}
.empty .ic{opacity:.5;margin-bottom:8px}
.token{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--brand);font:700 17px var(--f-head);padding:0 8px}
.pname{font-weight:600;color:var(--ink)} .pmeta{font-size:12px;color:var(--muted)}

/* badges, flash */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:700;background:var(--line-2);color:var(--ink-2);white-space:nowrap}
.b-green{background:var(--ok-soft);color:var(--ok)} .b-red{background:var(--err-soft);color:var(--err)} .b-amber{background:var(--warn-soft);color:var(--brand-2)} .b-blue{background:var(--info-soft);color:var(--info)} .b-violet{background:var(--vio-soft);color:var(--vio)}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:14px;font-weight:500;border:1px solid transparent}
.flash-ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)} .flash-err{background:var(--err-soft);color:var(--err);border-color:color-mix(in srgb,var(--err) 30%,transparent)} .flash-warn{background:var(--warn-soft);color:var(--brand-2)}
.banner{padding:11px 16px;border-radius:12px;margin-bottom:14px;font-weight:500} .banner.warn{background:var(--warn-soft);color:var(--brand-2);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}
.pager{display:flex;gap:6px;margin-top:16px;justify-content:center} .pager a{min-width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);color:var(--ink);background:var(--surface)} .pager a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px} .kv dt{color:var(--muted);font-size:12.5px;font-weight:600} .kv dd{margin:0}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs a{padding:10px 16px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;text-decoration:none!important;white-space:nowrap} .tabs a.on{color:var(--ink);border-color:var(--brand)}
.chips{display:flex;gap:6px;flex-wrap:wrap} .chip{padding:5px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;cursor:pointer;font-weight:600;color:var(--ink-2)} .chip:hover{border-color:var(--brand)}
.alert-box{border-left:4px solid var(--err);background:var(--err-soft);padding:10px 14px;border-radius:10px;color:var(--err);font-weight:500}

/* charts */
.chart{width:100%;height:auto} .chart text{font-size:11px;fill:var(--muted)} .chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap} .donut{width:140px;flex:none} .donut-bg{fill:none;stroke:var(--line-2);stroke-width:20} .donut-n{font:700 26px var(--f-head);fill:var(--ink)} .donut-l{font-size:11px;fill:var(--muted)}
.legend{list-style:none;margin:0;padding:0;display:grid;gap:8px} .legend li{display:flex;align-items:center;gap:8px} .legend i{width:12px;height:12px;border-radius:4px;display:inline-block} .legend b{margin-left:6px}

/* patient search dropdown */
.ac{position:relative} .ac-list{position:absolute;left:0;right:0;top:100%;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-top:4px;max-height:320px;overflow:auto}
.ac-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line-2)} .ac-item:hover,.ac-item.hl{background:var(--brand-soft)} .ac-item b{display:block} .ac-item span{font-size:12px;color:var(--muted)}
.picked{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px dashed var(--brand);background:var(--brand-soft);border-radius:12px}
.bedmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.bed{border-radius:14px;padding:12px;border:1px solid var(--line);background:var(--surface-2);min-height:84px;text-decoration:none!important;color:var(--ink);display:block}
.bed b{font:700 18px var(--f-head)} .bed small{display:block;color:var(--muted)} .bed.occ{background:var(--err-soft);border-color:color-mix(in srgb,var(--err) 40%,transparent)} .bed.free{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}
.rxrow{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1.4fr 36px;gap:8px;margin-bottom:8px;align-items:center}
.crow{display:grid;grid-template-columns:3fr 1.2fr 36px;gap:8px;margin-bottom:8px}
.x-btn{width:36px;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--err);cursor:pointer}
dialog{border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);background:var(--surface);color:var(--ink);max-width:560px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(14,12,36,.55);backdrop-filter:blur(2px)} dialog .dlg{padding:24px} dialog h3{margin-bottom:10px}
.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:90}
.toast{background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:12px;box-shadow:var(--shadow);animation:rise .25s}
@keyframes rise{from{transform:translateY(8px);opacity:0}}
.vital-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.timeline{border-left:2px solid var(--line);margin-left:6px;padding-left:18px}
.tl-item{position:relative;padding-bottom:16px} .tl-item::before{content:"";position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--brand);border:3px solid var(--surface)}
.tl-item.lab::before{background:var(--info)} .tl-item.ipd::before{background:var(--vio)}
.sum-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line)} .sum-row.big{font:700 18px var(--f-head);border-bottom:0;padding-top:12px}
.sparkline{display:block;width:100%;height:60px}

/* auth pages */
body.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg)}
.auth-art{background:radial-gradient(1200px 600px at 10% -10%,#2330d4 0,transparent 60%),radial-gradient(800px 500px at 100% 100%,#168fbd 0,transparent 55%),#080C71;color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-art h1{font-size:44px;line-height:1.08;color:#fff;max-width:520px} .auth-art h1 em{font-style:italic;color:#6ADCFF}
.auth-art p{color:#C9CEFA;max-width:440px;font-size:16px}
.auth-art .pulse{position:absolute;right:-40px;bottom:90px;opacity:.5;width:560px}
.auth-art ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;color:#DDE1FF} .auth-art li{display:flex;gap:10px;align-items:center}
.auth-art li i{width:26px;height:26px;border-radius:9px;background:rgba(106,220,255,.18);display:grid;place-items:center;color:#6ADCFF}
.auth-form{display:grid;place-items:center;padding:32px} .auth-box{width:100%;max-width:410px} .auth-box h2{font-size:30px}
.auth-box .btn-primary{height:46px;width:100%;font-size:15px}
.auth-brand{display:flex;gap:12px;align-items:center;color:#fff} .auth-brand b{font:700 22px var(--f-head)}

/* print */
body.print{background:#e6e9f6;color:#0B0E4A} .pbar{padding:14px;text-align:center;display:flex;gap:10px;justify-content:center;align-items:center}
.sheet{width:210mm;min-height:297mm;margin:0 auto 24px;background:#fff;color:#0B0E4A;padding:12mm 13mm 9mm;box-shadow:0 8px 30px rgba(0,0,0,.2);font-size:12.5px;line-height:1.5;display:flex;flex-direction:column}
.sheet.a5{width:148mm;min-height:210mm;padding:8mm 9mm 6mm;font-size:11px}
.sheet h2,.sheet h3{color:#0B0E4A;font-family:var(--f-head)} .sheet h3{font-size:14px;margin:12px 0 6px}
.sheet table{width:100%;border-collapse:collapse} .sheet th,.sheet td{border:1px solid #d5d9f0;padding:6px 8px;text-align:left;vertical-align:top}
.sheet th{background:#eceeff;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px}
.lh{display:flex;gap:14px;align-items:center;padding-bottom:9px} .lh img{height:58px;width:auto} .lh-t{flex:1} .lh h2{margin:0;font-size:24px;letter-spacing:-.01em;line-height:1.15} .lh p{margin:2px 0 0;color:#555;font-size:11.5px}
.lh-r{text-align:right;font-size:11.5px;color:#444;line-height:1.55}
.lh-bar{height:4px;background:linear-gradient(90deg,#080C71 0 72%,#3D47FF 72%);border-radius:2px;margin-bottom:11px}
.pfoot{margin-top:auto;border-top:1px solid #d5d9f0;padding-top:7px;text-align:center;color:#666;font-size:11px}
.ptitle{text-align:center;font:700 15px var(--f-head);letter-spacing:.22em;text-transform:uppercase;margin:4px 0 10px;color:#0B0E4A}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:3px 22px;margin-bottom:10px} .pgrid div b{display:inline-block;min-width:88px;color:#6b6780;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.pstrip{display:grid;grid-template-columns:auto 1.4fr 1fr;gap:14px;align-items:center;border:1px solid #d5d9f0;border-radius:10px;padding:9px 12px;margin-bottom:9px;background:#f8f9ff}
.ptoken{min-width:62px;height:62px;border-radius:14px;background:#080C71;color:#3D47FF;display:grid;place-items:center;text-align:center;font:700 30px/1 var(--f-head);padding:0 6px}
.pstrip .ptoken span{display:block;color:#3D47FF;font:700 30px/1 var(--f-head)}.pstrip .ptoken small{color:#c4c9f5}
.ptoken small{display:block;font:600 8px var(--f-body);letter-spacing:.14em;color:#c4c9f5;margin-top:-6px}
.pstrip b{display:block;font-size:15px;line-height:1.25} .pstrip span{color:#555;font-size:11.5px;display:block}
.vitals{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 8px}
.vitals div{border:1px solid #d5d9f0;border-radius:8px;padding:3px 7px;min-height:39px;font-size:10px;color:#6b6780;text-transform:uppercase;letter-spacing:.3px} .vitals div b{display:block;color:#0B0E4A;font-size:13px;min-height:17px;text-transform:none;letter-spacing:0}
.alert-p{border:1px solid #e9b4ae;background:#fdeceb;color:#a1261b;border-radius:8px;padding:5px 9px;margin:5px 0;font-size:11.5px}
.rx-sym{font:700 34px var(--f-head);color:#080C71;margin:2px 0 0;line-height:1}
.rxwrite{flex:1;min-height:100mm;border:1px solid #dfe3f5;border-radius:10px;padding:8px 14px;margin:4px 0 8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#dfe3f5 31px,#dfe3f5 32px)}
.sheet.a5 .rxwrite{min-height:62mm;background:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,#dfe3f5 27px,#dfe3f5 28px)}
.lines2{height:64px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#dfe3f5 31px,#dfe3f5 32px)}
.fieldline{border-bottom:1px solid #bdb5a0;min-width:70px;display:inline-block;height:15px}
.checklist{columns:4;font-size:11px;margin:4px 0 6px;color:#333} .checklist span{display:block} .checklist span::before{content:"☐ "}
.sig{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px;gap:20px} .sig .line{min-width:60mm;border-top:1px solid #0B0E4A;text-align:center;padding-top:4px;font-size:11.5px;line-height:1.35}
.totals{margin-left:auto;width:60%} .totals td{border:0;border-bottom:1px solid #dfe3f5;padding:5px 4px} .totals tr.grand td{border-top:2px solid #0B0E4A;border-bottom:0;font:700 15px var(--f-head);padding-top:7px}
.rxtbl td:first-child{width:26px;text-align:center;color:#6b6780}
@media print{body.print{background:#fff}.noprint{display:none!important}.sheet{box-shadow:none;margin:0;width:auto!important;min-height:276mm;padding:0}.sheet.a5{min-height:194mm}.sheet,.rxwrite,.pstrip,.vitals div,.ptoken,.lh-bar,.sheet th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.btn[disabled]{opacity:.5}
/* responsive */
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g-main{grid-template-columns:1fr}.fgrid{grid-template-columns:repeat(2,1fr)}.fgrid .s3,.fgrid .s4{grid-column:1/-1}}
@media (max-width:860px){
  .only-m{display:grid}.side{position:fixed;left:0;top:0;transform:translateX(-100%);transition:.25s;width:270px}
  body.nav-open .side{transform:none}body.nav-open .side-scrim{display:block;position:fixed;inset:0;background:rgba(10,8,30,.5);z-index:25}
  .page{padding:18px 14px 70px}.top{padding:0 12px}.top-right .btn span,.usr div{display:none}.top-right .btn{padding:0 12px}.usr-menu{right:-4px}
  .g2,.g3,.g4{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}.fgrid .s2,.fgrid .s3{grid-column:auto}
  .rxrow{grid-template-columns:1fr 1fr}.rxrow .x-btn{grid-column:span 2}.rxrow>:first-child{grid-column:1/-1}
  body.auth{grid-template-columns:1fr}.auth-art{display:none}.page-head h1{font-size:25px}.kv{grid-template-columns:110px 1fr}
  .top-search{display:none}.top-title{display:block}
}
.pw-wrap{position:relative;display:block}.pw-wrap input{padding-right:46px!important}.pw-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;border-radius:9px}.pw-eye:hover{color:var(--ink);background:var(--brand-soft)}input::-ms-reveal,input::-ms-clear{display:none}

/* ====================== v4 "Premium & simple" layer ====================== */
:root{--r:18px;--shadow:0 1px 1px rgba(20,18,42,.04),0 12px 32px -14px rgba(20,18,42,.16);--shadow-lg:0 24px 60px -20px rgba(20,18,42,.32);--ring:0 0 0 4px rgba(61,71,255,.22)}
:root[data-theme=dark]{--shadow:0 1px 1px rgba(0,0,0,.4),0 14px 34px -14px rgba(0,0,0,.7);--shadow-lg:0 24px 60px -20px rgba(0,0,0,.8)}
body{background:radial-gradient(1100px 480px at 88% -8%,rgba(61,71,255,.11),transparent 62%),radial-gradient(900px 420px at -10% 105%,rgba(74,123,240,.06),transparent 60%),var(--bg);background-attachment:fixed;letter-spacing:.005em}
::selection{background:rgba(61,71,255,.3)}
:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}
/* sidebar */
.side{width:268px;background:linear-gradient(185deg,#1A1740 0,#110F2B 55%,#0D0B22 100%);border-right:1px solid rgba(255,255,255,.04)}
.brand{padding:22px 20px 14px}
.brand b{font-size:19px} .brand i{max-width:160px}
.side nav{padding:6px 12px 14px;gap:1px}
.nav-g{font:700 10.5px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:rgba(185,182,211,.55);padding:16px 12px 6px}
.side nav a{padding:7px 10px;border-radius:14px;font-weight:600;font-size:13.5px;gap:12px}
.side nav a .ic{box-sizing:content-box;padding:7px;border-radius:11px;background:rgba(255,255,255,.06);transition:.18s}
.side nav a:hover{background:rgba(255,255,255,.05)} .side nav a:hover .ic{background:rgba(255,255,255,.1)}
.side nav a.on{background:linear-gradient(90deg,rgba(61,71,255,.2),rgba(61,71,255,.03));box-shadow:inset 0 0 0 1px rgba(61,71,255,.22)}
.side nav a.on::before{display:none}
.side nav a.on .ic{background:linear-gradient(135deg,#6ADCFF,#3D47FF);color:#FFFFFF;box-shadow:0 6px 14px -6px rgba(61,71,255,.8)}
.side nav a .cnt{margin-left:auto;background:var(--brand);color:#FFFFFF;font:700 11px var(--f-body);padding:1px 8px;border-radius:99px}
.side-foot{padding:14px 20px 18px}
/* top bar */
.top{height:68px;padding:0 26px;gap:14px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(1.4) blur(14px)}
.top-search{max-width:520px;height:44px;border-radius:14px;position:relative;box-shadow:0 1px 0 rgba(20,18,42,.03)}
.top-search:focus-within{border-color:var(--brand);box-shadow:var(--ring)}
.top-search kbd{font:600 11px var(--f-body);color:var(--muted);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 7px;background:var(--surface-2)}
.top-search .ac-list{top:calc(100% + 8px);box-shadow:var(--shadow-lg);border-radius:16px;min-width:340px}
.top-search .ac-item{display:flex;align-items:center;gap:12px}.top-search .ac-item .go{margin-left:auto;display:flex;gap:6px}
.icon-btn{width:44px;height:44px;border-radius:14px;position:relative}
.bell-dot{position:absolute;top:6px;right:6px;min-width:18px;height:18px;border-radius:99px;background:var(--err);color:#fff;font:700 10.5px/18px var(--f-body);text-align:center;padding:0 4px;border:2px solid var(--bg)}
.usr .av{border-radius:14px;width:40px;height:40px;background:linear-gradient(135deg,#1F1B3D,#080C71)}
.usr-menu{border-radius:16px;box-shadow:var(--shadow-lg);min-width:210px;padding:8px}
.usr-menu a,.usr-menu .lg{display:block;padding:10px 12px;border-radius:10px}
.usr-menu .lg{display:flex;gap:8px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px;font-weight:600}
.usr-menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
/* page */
.page{padding:30px 32px 80px}
.page-head h1{font-size:32px;letter-spacing:-.02em}
.page-head p{font-size:14.5px}
.card{border-radius:20px;border-color:color-mix(in srgb,var(--line) 70%,transparent);padding:22px}
a.card:hover,.card.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:rgba(61,71,255,.5)}
a.card,.card.lift{transition:.2s}
.card h3{font-size:19px}
.stat{padding:20px 22px;padding-right:76px!important}
.stat .val{font-size:34px;letter-spacing:-.02em}
.stat .ico{width:46px;height:46px;border-radius:15px;right:16px;top:16px}
/* buttons + inputs */
.btn{height:42px;border-radius:13px;padding:0 18px;font-size:13.5px;transition:.15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(180deg,#5B66FF 0,#3D47FF 100%);box-shadow:0 8px 20px -8px rgba(61,71,255,.75),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-sm{height:36px;border-radius:11px;padding:0 14px} .btn-xs{height:30px;border-radius:9px}
.btn-lg{height:50px;font-size:15px;border-radius:15px;padding:0 26px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea{height:46px;border-radius:13px}
textarea{height:auto}
input:focus,select:focus,textarea:focus{box-shadow:var(--ring)}
label{font-size:12.5px;letter-spacing:.01em}
.tbl-wrap{border-radius:14px}
table.t th{padding:12px 14px;background:transparent;border-bottom:1px solid var(--line)}
table.t td{padding:15px 14px}
.badge{padding:4px 11px;gap:6px}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.empty{padding:46px 14px;font-size:14.5px}
.empty .ic{box-sizing:content-box;padding:18px;border-radius:50%;background:var(--brand-soft);color:var(--brand-2);opacity:1;margin-bottom:12px}
.flash{border-radius:14px;padding:13px 16px 13px 44px;position:relative}
.flash::before{content:"";position:absolute;left:16px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:currentColor;opacity:.85}
.toasts{top:84px;bottom:auto;right:20px}
.toast{border-radius:14px;padding:13px 18px;box-shadow:var(--shadow-lg)}
/* quick actions */
.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:20px}
.qa{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:20px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:var(--shadow);color:var(--ink)!important;text-decoration:none!important;transition:.2s;position:relative}
.qa:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:rgba(61,71,255,.55)}
.qa .qi{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-2);flex:none}
.qa b{display:block;font:700 16px var(--f-head)} .qa span{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.qa.main{background:linear-gradient(135deg,#1F1B3D,#080C71);color:#fff!important;border-color:transparent}
.qa.main .qi{background:linear-gradient(135deg,#6ADCFF,#3D47FF);color:#FFFFFF} .qa.main span{color:#AEB5F2}
.qa .n{position:absolute;top:12px;right:14px;background:var(--err);color:#fff;border-radius:99px;font:700 11px/20px var(--f-body);min-width:22px;text-align:center;padding:0 6px}
/* setup checklist */
.setup{border-radius:22px;padding:22px 24px;background:linear-gradient(135deg,var(--surface) 0,var(--brand-soft) 160%);margin-bottom:20px;position:relative;overflow:hidden}
.setup .bar{height:8px;border-radius:99px;background:var(--line-2);overflow:hidden;margin:10px 0 16px}.setup .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6ADCFF,#3D47FF)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:15px;background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--line);color:var(--ink)!important;text-decoration:none!important}
.step:hover{border-color:var(--brand)}
.step .no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font:700 13px var(--f-body);flex:none}
.step.done{opacity:.6}.step.done .no{background:var(--ok);color:#fff}.step b{display:block;font-size:14px}.step span{font-size:12.5px;color:var(--muted)}
/* "more" menu */
.more{position:relative;display:inline-block}
.more>summary{list-style:none;cursor:pointer;width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-2)}
.more>summary::-webkit-details-marker{display:none}.more>summary:hover,.more[open]>summary{border-color:var(--brand);background:var(--brand-soft)}
.more-list{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:6px;z-index:70;text-align:left}
.more-list a,.more-list button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;background:none;border-radius:10px;font:600 13.5px var(--f-body);color:var(--ink)!important;cursor:pointer;text-decoration:none!important;text-align:left;height:auto}
.more-list a:hover,.more-list button:hover{background:var(--surface-2)} .more-list .danger{color:var(--err)!important} .more-list form{margin:0;display:block} .more-list hr{border:0;border-top:1px solid var(--line);margin:5px 4px}
.more-list .ic{color:var(--muted)} .more-list .danger .ic{color:var(--err)}
.row-actions{align-items:center;flex-wrap:nowrap}
/* notifications */
.notif{min-width:320px;padding:8px}.notif a{display:flex;gap:12px;align-items:center;padding:11px 12px}
.notif .nt{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-2);flex:none}.notif b{display:block;font-size:13.5px}.notif span{font-size:12px;color:var(--muted)}
.notif .none{padding:22px 14px;text-align:center;color:var(--muted)}
/* visit page helpers */
.jump{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;padding-bottom:2px}
.jump a{white-space:nowrap;padding:8px 15px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font:600 13px var(--f-body);color:var(--ink-2)!important;text-decoration:none!important}
.jump a:hover{border-color:var(--brand);background:var(--brand-soft)}
.actbar{position:sticky;bottom:14px;z-index:30;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;padding:12px 16px;margin-top:18px;box-shadow:var(--shadow-lg)}
.actbar .tot{font:700 22px var(--f-head)} .actbar .tot small{display:block;font:600 11px var(--f-body);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.chips.recent .chip{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;text-decoration:none!important;color:var(--ink)!important}
.chip{transition:.15s}.chip:hover{background:var(--brand-soft)}
/* loading state for buttons */
.is-loading{pointer-events:none;opacity:.85;position:relative;color:transparent!important}
.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#FFFFFF;animation:spin .7s linear infinite}
.btn:not(.btn-primary).is-loading::after{border-color:rgba(0,0,0,.2);border-top-color:var(--ink)}
@keyframes spin{to{transform:rotate(360deg)}}
/* mobile bottom navigation */
.bnav{display:none}
@media (max-width:860px){
  .page{padding:18px 14px 110px}.top{padding:0 12px;height:62px}.top-search{display:flex;flex:1;min-width:0}.top-search kbd{display:none}
  .top-right .btn,.top-right .lang-sw{display:none}.usr>div:not(.usr-menu){display:none}
  .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:45;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:22px;padding:6px;box-shadow:var(--shadow-lg);padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  .bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border:0;background:none;font:600 10.5px var(--f-body);color:var(--muted)!important;text-decoration:none!important;border-radius:14px;cursor:pointer}
  .bnav .on{color:var(--brand-2)!important;background:var(--brand-soft)}
  .bnav .plus{margin-top:-24px}.bnav .plus i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(180deg,#5B66FF,#3D47FF);color:#FFFFFF;box-shadow:0 10px 22px -8px rgba(61,71,255,.9);border:4px solid var(--bg)}
  .bnav .plus{color:var(--ink)!important;background:none}
  .actbar{bottom:86px}.toasts{top:70px;right:10px;left:10px}
  .qa{padding:14px}.qa-grid{grid-template-columns:1fr 1fr}.qa span{display:none}
  .page-head h1{font-size:26px}
}
@media print{.bnav,.side,.top,.actbar{display:none!important}}
.more.bell>summary{width:44px;height:44px;border-radius:14px}.more.bell .more-list{right:-6px}
.top-search .ac-item.hl,.top-search .ac-item:hover{background:var(--brand-soft)}
.grid.g4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.grid.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (max-width:860px){.grid.g4{grid-template-columns:1fr 1fr}.grid.g3{grid-template-columns:1fr}.stat{padding-right:62px!important}}
/* phones: wide tables become cards */
@media (max-width:860px){
  .stat .val{font-size:27px;word-break:keep-all;white-space:nowrap}
  table.stack,table.stack tbody{display:block;width:100%}
  table.stack tr:first-child{display:none}
  table.stack tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 6px;border-bottom:1px solid var(--line-2)}
  table.stack tr:last-child{border-bottom:0}
  table.stack td{display:block;padding:0!important;border:0!important;max-width:none!important;background:none!important;text-align:left!important}
  table.stack td[data-l]::before{content:attr(data-l);display:block;font:700 10.5px var(--f-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:2px}
  table.stack td.tokcell{grid-column:1/-1}
  table.stack td.pcell{grid-column:1/-1}
  table.stack td.acell{grid-column:1/-1}
  table.stack td.acell .row-actions{justify-content:flex-start}
  table.stack td.empty{grid-column:1/-1;text-align:center!important}
  .tbl-wrap{overflow:visible}
}
form[data-live] button.btn:not(.btn-primary){display:none}@media (max-width:860px){form[data-live] input[type=date]{display:none}}

/* ===== v5 · The Clinic premium layer ===== */
:root{--ring:0 0 0 4px rgba(61,71,255,.20);--shadow-lg:0 24px 60px -20px rgba(11,14,74,.35);--grad:linear-gradient(135deg,#5B66FF 0%,#3D47FF 55%,#2B35E6 100%);--glow:0 10px 26px -10px rgba(61,71,255,.65)}
:root[data-theme=dark]{--ring:0 0 0 4px rgba(91,102,255,.32)}
body{background:radial-gradient(900px 420px at 85% -120px,rgba(61,71,255,.10),transparent 70%),radial-gradient(700px 360px at -5% 0,rgba(106,220,255,.12),transparent 70%),var(--bg);background-attachment:fixed}
h1,h2,h3,h4,.stat .val,.brand b{font-family:var(--f-head);letter-spacing:-.02em}
/* sidebar */
.side{background:radial-gradient(420px 220px at 0 0,rgba(106,220,255,.16),transparent 70%),linear-gradient(180deg,#0A0F86 0%,#070B63 55%,#05084A 100%);box-shadow:inset -1px 0 0 rgba(255,255,255,.06)}
.brand{padding:22px 18px 18px;gap:11px}.brand img{filter:drop-shadow(0 4px 10px rgba(106,220,255,.25))}
.brand b{font-size:19px;letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#CFF4FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.side nav a{border-radius:12px}.side nav a:hover{background:rgba(255,255,255,.07)}
.side nav a.on{background:linear-gradient(90deg,rgba(106,220,255,.20),rgba(106,220,255,.03));box-shadow:inset 0 0 0 1px rgba(106,220,255,.14)}
.side nav a.on::before{background:var(--accent);box-shadow:0 0 14px rgba(106,220,255,.9)}
.side nav a.on .ic{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.side nav a .cnt{background:var(--accent);color:#06094F}
.pkg{background:rgba(106,220,255,.14);color:#9BEAFF}
/* top bar */
.top{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg) 72%,transparent)}
.top-title{font-family:var(--f-head);font-weight:600;color:var(--ink);font-size:16px}
/* cards & stats */
.card{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 96%,var(--brand)));border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
a.card:hover,a.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.stat::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--grad);opacity:.9}
.stat.t-ok::before{background:linear-gradient(90deg,#12A37F,#5FE0BE)}.stat.t-info::before{background:linear-gradient(90deg,#0E9EDB,#6ADCFF)}.stat.t-vio::before{background:linear-gradient(90deg,#7C5CF0,#B7A3FF)}.stat.t-err::before{background:linear-gradient(90deg,#E0483F,#FF9D96)}
.stat .ico{background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 60%,var(--accent)));color:var(--brand)}
.stat .val{font-weight:700;background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 70%,var(--brand)));-webkit-background-clip:text;background-clip:text;color:transparent}
/* buttons */
.btn-primary{background:var(--grad);box-shadow:var(--glow),inset 0 1px 0 rgba(255,255,255,.28);color:#fff}
.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn:hover{border-color:var(--brand)}.btn-dark{background:var(--side);border-color:var(--side);color:#fff}
.btn-ghost:hover{background:var(--brand-soft);color:var(--brand-2)}
/* forms */
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring)}
.seg{box-shadow:var(--shadow)}.seg .on{background:var(--grad);color:#fff}
/* tables */
table.t th{color:var(--ink-2);font-weight:700;letter-spacing:.07em}
table.t tr{transition:background .12s}table.t tr:hover td{background:color-mix(in srgb,var(--brand) 4%,transparent)}
.token,.tok{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.badge{letter-spacing:.01em}
/* quick actions, setup guide */
.qa{border:1px solid var(--line);transition:transform .18s,box-shadow .18s,border-color .18s}.qa:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.qa .qi{background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 55%,var(--accent)));color:var(--brand)}
.qa.main{background:radial-gradient(260px 120px at 100% 0,rgba(106,220,255,.28),transparent 70%),linear-gradient(135deg,#0A0F86,#080C71);border-color:transparent}
.qa.main .qi{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.setup{background:radial-gradient(500px 160px at 100% 0,rgba(106,220,255,.18),transparent 70%),var(--surface)}
.setup .bar i{background:linear-gradient(90deg,#6ADCFF,#3D47FF)}
/* login / auth */
.auth-art{background:radial-gradient(900px 520px at 0 -8%,rgba(61,71,255,.85) 0,transparent 62%),radial-gradient(700px 480px at 100% 100%,rgba(106,220,255,.35) 0,transparent 60%),linear-gradient(160deg,#0A0F86,#070B63 60%,#05084A)}
.auth-art h1{font-weight:700;letter-spacing:-.03em}.auth-art h1 em{font-style:normal;background:linear-gradient(90deg,#6ADCFF,#9FB1FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-logo{width:250px;max-width:100%;height:auto;display:block}.auth-logo-m{display:none;height:46px;width:auto}
.auth-box{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:34px 30px;box-shadow:var(--shadow-lg)}
.auth-box h2{letter-spacing:-.03em}
.auth-art ul li i{background:rgba(106,220,255,.16);color:var(--accent)}
@media(max-width:900px){.auth-logo-m{display:block}}
/* print accents */
.lh-bar{background:linear-gradient(90deg,#080C71 0 62%,#3D47FF 62% 86%,#6ADCFF 86%)}
/* scrollbars */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand) 35%,transparent) transparent}

/* ===== v5c · transparent logo on a rich midnight background ===== */
.side{background:
  radial-gradient(420px 300px at 18% 0,rgba(106,220,255,.30),transparent 68%),
  radial-gradient(340px 260px at 100% 38%,rgba(61,71,255,.38),transparent 72%),
  radial-gradient(300px 240px at 0 100%,rgba(61,71,255,.30),transparent 70%),
  linear-gradient(180deg,#0B1190 0%,#070B66 50%,#050847 100%)}
.brand{flex-direction:column;align-items:flex-start;gap:10px;padding:24px 20px 16px;position:relative}
.brand::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(90deg,rgba(106,220,255,.5),rgba(255,255,255,.08) 60%,transparent)}
.brand-card{display:block;background:none;padding:0;box-shadow:none;border-radius:0}
.brand-card img{height:50px;width:auto;display:block;filter:drop-shadow(0 6px 18px rgba(106,220,255,.35))}
.brand i{margin:0;font-style:normal;font-size:12px;letter-spacing:.04em;color:#AEB5F2;max-width:200px}
.side nav{padding-top:14px}
.auth-brand .auth-logo{background:none;border-radius:0;padding:0;box-shadow:none;width:auto;height:96px;max-width:100%;filter:drop-shadow(0 10px 30px rgba(106,220,255,.35))}
.auth-art{background:
  radial-gradient(900px 560px at 0 -10%,rgba(61,71,255,.85) 0,transparent 62%),
  radial-gradient(760px 520px at 100% 105%,rgba(106,220,255,.40) 0,transparent 60%),
  radial-gradient(500px 300px at 60% 40%,rgba(91,102,255,.25) 0,transparent 70%),
  linear-gradient(160deg,#0B1190,#070B66 60%,#050847)}
.auth-art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.4px);background-size:26px 26px;mask-image:linear-gradient(180deg,#000,transparent 75%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);pointer-events:none}
.auth-art>*{position:relative}