/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme,base,antd,components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}:root{--ink:#20242c;--ink-2:#2a2f39;--ink-3:#363c48;--on-ink:#f4f5f7;--on-ink-2:#d6d8dd;--on-ink-3:#9a9fa9;--sono-on-ink:#d6d8dd;--primary:#b91c22;--primary-strong:#981719;--primary-soft:#fff1ee;--primary-line:#fbd9d4;--signal:#a97f2c;--signal-soft:#f4edda;--sono:#9a8f8c;--canvas:#f7f4f3;--surface:#fff;--surface-2:#fbf9f8;--surface-3:#f1ecea;--line:#ebe5e3;--line-strong:#d9d1ce;--text:#20242c;--text-2:#4a4e57;--text-3:#6b6f78;--ok:#1f7355;--ok-soft:#e0eee8;--warn:#93600f;--warn-soft:#f4ead4;--bad:#a93530;--bad-soft:#f6e2e0;--info:#2a5f8c;--info-soft:#e0eaf3;--plum:#74496a;--plum-soft:#efe5ec;--shadow-1:0 1px 2px #20242c0f;--shadow-2:0 8px 24px -10px #20242c38;--shadow-3:0 24px 60px -18px #20242c66;--r-1:4px;--r-2:6px;--r-3:10px;--f-ui:"IBM Plex Sans","Noto Sans Lao","IBM Plex Sans Thai",system-ui,sans-serif;--f-display:"Noto Serif Lao","Noto Serif Thai","IBM Plex Serif",Georgia,serif;--f-mono:"IBM Plex Mono","Noto Sans Lao","IBM Plex Sans Thai",ui-monospace,monospace;color-scheme:light}[data-palette=graphite]{--ink:#1c2126;--ink-2:#282e34;--ink-3:#3a424a;--on-ink:#eceef0;--on-ink-2:#a6adb4;--sono-on-ink:#b9c4cc;--primary:#2f5563;--primary-strong:#234450;--primary-soft:#e4eaec;--primary-line:#bccacf;--signal:#9a7a35;--sono:#3f5560;--canvas:#eeefef;--surface-2:#f6f6f6;--surface-3:#e9eaeb;--line:#dddfe0;--line-strong:#c2c6c9;--text:#191c1f;--text-2:#4a5057;--text-3:#747a80}[data-palette=khram]{--ink:#161d3d;--ink-2:#202a52;--ink-3:#2f3c6e;--on-ink:#e9ebf5;--on-ink-2:#a5acca;--sono-on-ink:#aab7ea;--primary:#2b3a86;--primary-strong:#212e6d;--primary-soft:#e4e6f3;--primary-line:#bfc5e3;--signal:#a8842f;--sono:#2b3a86;--canvas:#eceef4;--surface-2:#f5f6fa;--surface-3:#e7e9f1;--line:#dadded;--line-strong:#bdc2d8;--text:#151a30;--text-2:#464c67;--text-3:#6f7590}:root[data-theme=dark]{--ink:#16181d;--ink-2:#1e2127;--ink-3:#2b2f37;--sono-on-ink:#d6d8dd;--primary:#c6454a;--primary-strong:#d1696d;--primary-soft:#3b1e24;--primary-line:#6a1d23;--signal:#cfa650;--signal-soft:#3a3016;--sono:#6b6f78;--canvas:#131519;--surface:#1b1e24;--surface-2:#20242b;--surface-3:#282c34;--line:#2d3139;--line-strong:#3b404a;--text:#eceef1;--text-2:#b4b8c0;--text-3:#868b94;--ok:#58b793;--ok-soft:#123a30;--warn:#d6a44e;--warn-soft:#3a2e14;--bad:#e58a83;--bad-soft:#452120;--info:#7fb2dc;--info-soft:#17324a;--plum:#c79bba;--plum-soft:#38263a;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 28px -12px #0009;--shadow-3:0 26px 64px -18px #000000bf;color-scheme:dark}:root[data-theme=dark][data-palette=graphite]{--ink:#121417;--ink-2:#1c2024;--ink-3:#2c3238;--sono-on-ink:#aeb9c1;--primary:#8fb0bd;--primary-strong:#aac6d1;--primary-soft:#263136;--primary-line:#3d4d5480;--sono:#94a9b4;--canvas:#131517;--surface:#1a1d20;--surface-2:#202427;--surface-3:#282c30;--line:#2f3439;--line-strong:#41484e;--text:#e8eaec;--text-2:#b0b6bb;--text-3:#868d93}:root[data-theme=dark][data-palette=khram]{--ink:#0e1330;--ink-2:#171e45;--ink-3:#27305f;--sono-on-ink:#9fafea;--primary:#8e9fe6;--primary-strong:#aab8f0;--primary-soft:#222a55;--primary-line:#3a4478a0;--sono:#8798e0;--canvas:#0f1329;--surface:#161b38;--surface-2:#1c2244;--surface-3:#232a50;--line:#2b3360;--line-strong:#3d4679;--text:#e6e8f5;--text-2:#adb3d0;--text-3:#8187a8}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{font-family:var(--f-ui);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.55}body,h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}ul{margin:0;padding:0;list-style:none}svg.lucide{stroke-width:1.75px;flex:none;width:16px;height:16px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-1)}.mono{font-family:var(--f-mono);letter-spacing:-.01em;font-size:.93em}.dim{color:var(--text-2)}.faint{color:var(--text-3)}.sm{font-size:12.5px}.xs{font-size:11.5px}.num{text-align:right}.grow{flex:1}.grow,.row{min-width:0}.row{align-items:center;gap:8px;display:flex}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:4px;min-width:0;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sono{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.brand-icon{color:#fff;flex:none;place-items:center;display:inline-grid;overflow:hidden}.brand-icon.img{background:#fff}.brand-icon img{object-fit:contain;width:100%;height:100%;display:block}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-text{min-width:0;line-height:1.2}.brand-text b{letter-spacing:-.01em;color:var(--text);font-weight:700}.brand-text b,.brand-text small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.brand-text small{color:var(--text-3);margin-top:1px}.brand-lockup.dark b{color:#fff}.brand-lockup.dark small{color:var(--on-ink-3)}.brand-drop{border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:16px;padding:14px;display:flex}.swatch{color:#fff;border:2px solid var(--surface);width:34px;height:34px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;place-items:center;display:inline-grid}.swatch.on{box-shadow:0 0 0 2px var(--text)}.swatch[disabled]{opacity:.5;cursor:not-allowed}.brand-preview{isolation:isolate;border-radius:var(--r-3);background:var(--ink);color:var(--on-ink-2);padding-bottom:64px;overflow:hidden}.brand-preview,.brand-preview>:not(.med){position:relative}.brand-preview-login{flex-direction:column;align-items:center;gap:12px;padding:22px;display:flex}.med{z-index:0;pointer-events:none;color:var(--primary);inset:0;overflow:hidden}.med,.med>svg{position:absolute}.med>svg{display:block;left:0}.med .tile{top:0}.med .ecg{-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.app{grid-template-rows:minmax(0,1fr);grid-template-columns:252px minmax(0,1fr);height:100%;display:grid}.app.rail-closed{grid-template-columns:64px minmax(0,1fr)}.main{flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.main,.scroll{position:relative}.scroll{z-index:1;flex:1;min-height:0;overflow-y:auto}.backdrop-sono{pointer-events:none;width:min(920px,75%);height:520px;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(200deg,#000 20%,#0000 78%);mask-image:linear-gradient(200deg,#000 20%,#0000 78%)}.page{flex-direction:column;gap:18px;max-width:1520px;margin:0 auto;padding:26px 30px 56px;display:flex}.rail{background:var(--ink);color:var(--on-ink-2);min-height:0;overflow:hidden}.rail,.rail-brand{flex-direction:column;display:flex;position:relative}.rail-brand{gap:10px;padding:18px 16px 14px}.rail-open{color:var(--on-ink-2);align-items:center;gap:7px;font-size:11.5px;display:flex}.rail-open b{background:var(--signal);border-radius:50%;width:6px;height:6px}.rail-nav{scrollbar-width:none;flex:1;min-height:0;padding:4px 10px 24px;position:relative;overflow-y:auto}.rail-nav::-webkit-scrollbar{display:none}.rail-sec{letter-spacing:.04em;color:var(--on-ink-3);padding:14px 10px 5px;font-size:11px}.rail-link{border-radius:var(--r-2);height:36px;color:var(--on-ink-2);text-align:left;align-items:center;gap:11px;width:100%;padding:0 10px;font-size:13.5px;transition:background .12s,color .12s;display:flex}.rail-link:hover{color:#fff;background:#ffffff0f}.rail-link.on{background:var(--primary);color:#fff;font-weight:500}.rail-link .n{font-family:var(--f-mono);color:var(--on-ink-2);margin-left:auto;font-size:12px}.rail-link.on .n,.rail-link.on .n.hot{color:#fff}.rail-link .n.hot{color:#e9c67d}.rail-closed .rail .brand-text,.rail-closed .rail .rail-link span,.rail-closed .rail .rail-open span,.rail-closed .rail .rail-sec{display:none}.rail-closed .rail .rail-link{justify-content:center;padding:0}.rail-closed .rail .rail-brand{align-items:center;padding-inline:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:3;gap:10px;height:58px;padding:0 22px 0 14px;display:flex}.icon-btn,.topbar{flex:none;align-items:center;position:relative}.icon-btn{border-radius:var(--r-2);width:36px;height:36px;color:var(--text-2);justify-content:center;display:inline-flex}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn .dot{background:var(--signal);border:1.5px solid var(--surface);box-sizing:content-box;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.crumb{align-items:center;gap:7px;min-width:0;font-size:13.5px;display:flex;overflow:hidden}.crumb span{color:var(--text-3);white-space:nowrap}.crumb b{white-space:nowrap;font-weight:500}.crumb svg.lucide{width:13px;height:13px;color:var(--line-strong)}.search-btn{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-2);width:min(340px,30vw);height:36px;color:var(--text-3);align-items:center;gap:9px;margin-left:auto;padding:0 8px 0 11px;font-size:13px;display:flex}.search-btn:hover{border-color:var(--line-strong)}.search-btn .kbd{margin-left:auto}.kbd{color:var(--text-3);background:var(--surface);border:solid var(--line);border-width:1px 1px 2px;border-radius:4px;padding:0 5px;font-size:11px;line-height:18px}.clock,.kbd{font-family:var(--f-mono);white-space:nowrap}.clock{color:var(--text-2);padding:0 6px;font-size:13px}.vr{background:var(--line);flex:none;width:1px;height:22px}.me{border-radius:var(--r-2);align-items:center;gap:9px;padding:4px 6px;display:flex}.me:hover{background:var(--surface-3)}.me .who{text-align:left;line-height:1.25}.me .who b{white-space:nowrap;font-size:13px;font-weight:500;display:block}.me .who i{color:var(--text-3);white-space:nowrap;font-size:11.5px;font-style:normal}.av{background:var(--primary-soft);width:32px;height:32px;color:var(--primary-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.av.lg{width:56px;height:56px;font-size:20px}.av.sm{width:26px;height:26px;font-size:11px}.ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.ph h1{font-family:var(--f-display);letter-spacing:-.005em;font-size:25px;font-weight:500;line-height:1.35}.ph p{color:var(--text-2);margin-top:1px;font-size:13.5px}.ph .acts{flex-wrap:wrap;gap:8px;display:flex}.btn,.ph .acts{align-items:center}.btn{border-radius:var(--r-2);white-space:nowrap;border:1px solid #0000;justify-content:center;gap:7px;height:36px;padding:0 13px;font-size:13.5px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn.sm{height:30px;padding:0 10px;font-size:12.5px}.btn.lg{height:44px;padding:0 18px;font-size:14.5px}.btn.block{width:100%}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-strong)}.btn.line{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.btn.line:hover{background:var(--surface-2);border-color:var(--text-3)}.btn.quiet{color:var(--text-2)}.btn.quiet:hover{background:var(--surface-3);color:var(--text)}.btn.danger{border-color:var(--bad)}@supports (color:color-mix(in lab,red,red)){.btn.danger{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}}.btn.danger{color:var(--bad);background:var(--surface)}.btn.danger:hover{background:var(--bad-soft)}.btn[disabled]{opacity:.45;pointer-events:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);min-width:0}.panel-h{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:12px 16px;display:flex}.panel-h h3{font-size:14px;font-weight:600;line-height:1.4}.panel-b{padding:14px 16px}.split{align-items:start;gap:16px;display:grid}.split.q{grid-template-columns:minmax(0,1fr) 316px}.split.h{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split.w{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.split.t{grid-template-columns:300px minmax(0,1fr)}.split.pos{grid-template-columns:286px minmax(0,1fr) 330px}.strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;overflow:hidden}.cell{border-left:1px solid var(--line);flex-direction:column;gap:1px;min-width:0;padding:12px 16px 13px;display:flex}.cell:first-child{border-left:0}.cell .k{color:var(--text-2);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.cell .k,.cell .v{white-space:nowrap}.cell .v{letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:1.3}.cell .v small{color:var(--text-3);letter-spacing:0;margin-left:3px;font-size:12.5px;font-weight:500}.cell .c{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.cell .c.hot{color:var(--warn)}.cell .c.bad{color:var(--bad)}.cell .c.good{color:var(--ok)}.st{white-space:nowrap;color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.st:before{content:"";border:1.75px solid;border-radius:50%;flex:none;width:9px;height:9px}.st.wait{color:var(--warn)}.st.go{color:var(--primary)}.st.go:before{background:linear-gradient(90deg,currentColor 50%,#0000 0)}.st.done{color:var(--ok)}.st.done:before{background:currentColor}.st.off{color:var(--text-3)}.st.off:before{border-radius:2px;width:8px;height:8px;transform:rotate(45deg)}.st.bad{color:var(--bad)}.st.bad:before{background:currentColor;border-radius:2px}.st.info{color:var(--info)}.tag{border-radius:var(--r-1);background:var(--surface-3);height:22px;color:var(--text-2);white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-size:12px;display:inline-flex}.tag.anc{background:var(--plum-soft);color:var(--plum)}.tag.fem{background:var(--warn-soft);color:var(--warn)}.tag.gen{background:var(--primary-soft);color:var(--primary-strong)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.info{background:var(--info-soft);color:var(--info)}:root[data-theme=dark] .tag.gen{color:var(--primary)}.stages{grid-auto-columns:16px;grid-auto-flow:column;align-items:center;gap:3px;display:inline-grid}.stages i{background:var(--line-strong);border-radius:1px;height:4px;display:block}.stages i.on{background:var(--primary)}.stages i.now{background:var(--signal)}.tbl-wrap{overflow-x:auto}.tbl th{color:var(--text-3);text-align:left;border-bottom:1px solid var(--line-strong);white-space:nowrap;background:var(--surface);font-size:12px;font-weight:500}.tbl td,.tbl th{padding:9px 14px}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;font-size:13.5px}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover td{background:var(--surface-2)}.tbl tbody tr.sel td{background:var(--primary-soft)}.tbl .num{text-align:right}.tbl .ppl b{font-weight:500;line-height:1.35;display:block}.tbl .ppl span{color:var(--text-3);font-size:12px}.now-row td{height:0;position:relative;border-bottom:0!important;padding:0!important}.now-row .line{border-top:1.5px solid var(--signal);height:0;position:absolute;top:-1px;left:0;right:0}.now-row .lbl{height:17px;line-height:17px;font-family:var(--f-mono);background:var(--signal);color:#fff;border-radius:0 var(--r-1) var(--r-1) 0;padding:0 6px;font-size:11px;position:absolute;top:-9px;left:0}.pager{color:var(--text-2);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12.5px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label{color:var(--text-2);font-size:12.5px}.field>label em{color:var(--bad);font-style:normal}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);width:100%;height:36px;padding:0 10px;font-size:13.5px}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px;line-height:1.55}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:#0000}.input.search{padding-left:32px}.searchbox{flex:1;min-width:180px;position:relative}.searchbox svg.lucide{color:var(--text-3);position:absolute;top:10px;left:10px}.seg{background:var(--surface-3);border-radius:var(--r-2);gap:2px;padding:2px}.seg,.seg button{display:inline-flex}.seg button{height:30px;color:var(--text-2);white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:0 11px;font-size:13px}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);height:30px;color:var(--text-2);white-space:nowrap;border-radius:15px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--text-3)}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.chip .c{font-family:var(--f-mono);opacity:.75;font-size:12px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.grid3{gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px}.tabs,.toolbar{border-bottom:1px solid var(--line);display:flex}.tabs{scrollbar-width:none;gap:20px;overflow-x:auto}.tabs button{color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 1px 10px;font-size:13.5px;display:inline-flex}.tabs button.on{color:var(--text);border-color:var(--primary);font-weight:500}.tabs .n{font-family:var(--f-mono);color:var(--text-3);font-size:12px}.kv{grid-template-columns:auto minmax(0,1fr);gap:7px 16px;font-size:13.5px;display:grid}.kv dt{color:var(--text-2)}.kv dd{text-align:right;min-width:0;margin:0;font-weight:500}.alert{border-radius:var(--r-2);background:var(--warn-soft);color:var(--warn);gap:9px;padding:9px 11px;font-size:13px;display:flex}.alert.bad{background:var(--bad-soft);color:var(--bad)}.alert.info{background:var(--info-soft);color:var(--info)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert svg.lucide{margin-top:2px}.empty{text-align:center;padding:28px 16px;font-size:13px}.empty,.sect{color:var(--text-3)}.sect{margin-bottom:7px;font-size:12px}.wl>li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:10px 16px;display:flex}.wl>li:last-child{border-bottom:0}.wl>li.click{cursor:pointer}.wl>li.click:hover{background:var(--surface-2)}.wl>li.sel{background:var(--primary-soft)}.wl .t{font-family:var(--f-mono);color:var(--text-2);flex:none;width:44px;font-size:13px}.scrim{z-index:40;background:#14161b73;animation:fade .16s ease-out;position:fixed;inset:0}.drawer{background:var(--surface);width:min(468px,100vw);box-shadow:var(--shadow-3);z-index:41;flex-direction:column;animation:slide .2s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0}.drawer.wide{width:min(680px,100vw)}.drawer-h{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 20px 14px;display:flex}.drawer-h h2{font-size:18px;font-weight:600;line-height:1.4}.drawer-b{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.drawer-f{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 20px 16px;display:flex}.drawer-f,.modal{background:var(--surface)}.modal{border-radius:var(--r-3);width:min(600px,100vw - 32px);box-shadow:var(--shadow-3);z-index:41;animation:rise .16s ease-out;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:.4;transform:translate(28px)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}.cmd-input{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmd-input input{background:0 0;border:0;outline:0;flex:1;font-size:15px}.cmd-list{max-height:52vh;padding:6px;overflow-y:auto}.cmd-item{text-align:left;border-radius:var(--r-2);align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;display:flex}.cmd-item.on,.cmd-item:hover{background:var(--primary-soft)}.cmd-sec{color:var(--text-3);padding:8px 10px 3px;font-size:11.5px}.toasts{z-index:70;pointer-events:none;flex-direction:column;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast,.toasts{gap:8px;display:flex}.toast{background:var(--ink);color:var(--on-ink);border-radius:var(--r-2);box-shadow:var(--shadow-2);white-space:nowrap;align-items:center;padding:9px 14px;font-size:13px;animation:rise2 .18s ease-out}@keyframes rise2{0%{opacity:0;transform:translateY(8px)}}.login{background:var(--surface);grid-template-columns:minmax(0,1.4fr) minmax(380px,1fr);height:100%;display:grid}.login-art{isolation:isolate;background:radial-gradient(120% 80% at 85% 0,var(--primary),transparent 60%),var(--ink);position:relative}@supports (color:color-mix(in lab,red,red)){.login-art{background:radial-gradient(120% 80% at 85% 0,color-mix(in srgb,var(--primary) 20%,transparent),transparent 60%),var(--ink)}}.login-art{color:var(--on-ink);flex-direction:column;justify-content:space-between;gap:24px;padding:34px 40px;display:flex;overflow:hidden}.login-art>*{position:relative}.login-art .med{position:absolute}.login-art .foot{color:var(--on-ink-3);font-size:12.5px}.login-art h2{font-family:var(--f-display);text-wrap:balance;max-width:15em;font-size:34px;font-weight:500;line-height:1.4}.login-art p{color:var(--on-ink-2);max-width:34em;margin-top:6px}.login-form{flex-direction:column;justify-content:center;gap:16px;padding:40px clamp(32px,6vw,84px);display:flex}.login-form .brand-icon{margin-bottom:4px}.login-form h1{font-family:var(--f-display);font-size:26px;font-weight:500;line-height:1.35}.quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.quick button{border:1px solid var(--line);border-radius:var(--r-2);text-align:left;color:var(--text-2);padding:8px 9px;font-size:12.5px;line-height:1.35}.quick button b{color:var(--text);font-weight:500;display:block}.quick button.on,.quick button:hover{border-color:var(--primary);background:var(--primary-soft)}.tl{grid-template-columns:150px minmax(0,1fr)}.tl,.tl-h{display:grid}.tl-h{font-family:var(--f-mono);color:var(--text-3);border-bottom:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;font-size:11.5px}.tl-h span{border-left:1px solid var(--line);padding:6px 0 6px 6px}.tl-who{align-items:center;gap:9px;min-width:0;padding:10px 14px;display:flex}.tl-track,.tl-who{border-bottom:1px solid var(--line)}.tl-track{background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:16.6667% 100%;min-height:58px;position:relative}.tl-b{border-radius:var(--r-1);white-space:nowrap;text-overflow:ellipsis;background:var(--primary-soft);color:var(--primary-strong);border-left:2px solid var(--primary);cursor:pointer;padding:3px 7px;font-size:12px;line-height:1.3;position:absolute;top:7px;bottom:7px;overflow:hidden}.tl-b.anc{background:var(--plum-soft);color:var(--plum);border-color:var(--plum)}.tl-b.fem{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.tl-b.done{opacity:.55}.tl-now{border-left:1.5px solid var(--signal);z-index:2;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.cal{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal .dow{color:var(--text-3);padding:7px 9px}.cal .d,.cal .dow{border-bottom:1px solid var(--line);font-size:12px}.cal .d{border-right:1px solid var(--line);cursor:pointer;flex-direction:column;gap:3px;min-height:92px;padding:6px 8px;display:flex}.cal .d:hover{background:var(--surface-2)}.cal .d:nth-child(7n){border-right:0}.cal .d.out{color:var(--text-3);background:var(--surface-2)}.cal .d.today .n{background:var(--signal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin:-2px;display:inline-flex}.cal .d .n{font-family:var(--f-mono);font-size:12px}.cal .e{background:var(--primary-soft);color:var(--primary-strong);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:1px 5px;font-size:11.5px;overflow:hidden}.cal .e.alt{background:var(--plum-soft);color:var(--plum)}.cal .e.off{background:var(--surface-3);color:var(--text-3)}.cal .e.fem{background:var(--warn-soft);color:var(--warn)}.chart{overflow:visible}.proto-fab{z-index:60;background:var(--ink);height:34px;color:var(--on-ink);box-shadow:var(--shadow-2);border-radius:17px;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;display:inline-flex;position:fixed;bottom:16px;right:16px}.proto-fab b{background:var(--signal);border-radius:50%;width:6px;height:6px}.proto-panel{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);width:320px;max-height:calc(100vh - 80px);box-shadow:var(--shadow-3);flex-direction:column;gap:12px;padding:14px;animation:rise2 .14s ease-out;display:flex;position:fixed;bottom:58px;right:16px;overflow-y:auto}.proto-panel h4{color:var(--text-3);margin-bottom:5px;font-size:12px;font-weight:500}.proto-pages{grid-template-columns:1fr 1fr;gap:1px 8px;display:grid}.proto-pages button{text-align:left;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:3px 6px;font-size:12.5px;overflow:hidden}.proto-pages button:hover{background:var(--surface-3)}.proto-pages button.on{background:var(--primary-soft);color:var(--primary-strong)}.stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 430px;height:100%;display:grid}.stage .split.q,.stage .split.w{grid-template-columns:minmax(0,1fr)}.stage .split.pos{grid-template-columns:236px minmax(0,1fr) 280px}.stage .side{border-left:1px solid var(--line);min-height:0;padding:14px}.phone-solo,.stage .side{background:var(--surface-3);justify-content:center;align-items:center;display:flex;overflow:auto}.phone-solo{height:100%;padding:18px}@media (max-width:1180px){.split.pos,.split.q,.split.t,.split.w{grid-template-columns:minmax(0,1fr)}.search-btn{justify-content:center;width:40px;padding:0}.clock,.search-btn .kbd,.search-btn span{display:none}}@media (max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.crumb span,.crumb svg.lucide,.rail{display:none}.tbl-wrap .tbl{min-width:680px}.app.rail-open .rail{z-index:30;width:252px;box-shadow:var(--shadow-3);display:flex;position:fixed;inset:0 auto 0 0}.split.h{grid-template-columns:minmax(0,1fr)}.strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.cell:nth-child(odd){border-left:0}.cell{border-top:1px solid var(--line)}.page{padding:16px max(16px,env(safe-area-inset-right,0px)) 72px max(16px,env(safe-area-inset-left,0px))}.login{grid-template-rows:220px minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}.login-art{padding:18px}.login-art .foot,.login-art .med .ecg,.login-art h2,.login-art p,.me .who{display:none}.stage{grid-template-columns:minmax(0,1fr)}.stage .side{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.pay-due{letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1.25}.pay-due small{color:var(--text-3);letter-spacing:0;margin-left:3px;font-size:14px;font-weight:500}.tbl tr.grp td{background:var(--surface-2);color:var(--text-2);padding-block:5px;font-size:12px;font-weight:500}.qty-step{border:1px solid var(--line-strong);border-radius:var(--r-1);overflow:hidden}.qty-step,.qty-step button{align-items:center;display:inline-flex}.qty-step button{width:26px;height:26px;color:var(--text-2);justify-content:center}.qty-step button:hover{background:var(--surface-3)}.qty-step button svg.lucide{width:13px;height:13px}.qty-step b{text-align:center;min-width:30px;font-family:var(--f-mono);font-size:13px;font-weight:500}.qr{width:92px;height:92px;color:var(--text);border:1px solid var(--line);border-radius:var(--r-1);background:var(--surface);flex:none;padding:5px}.meter{background:var(--surface-3);border-radius:2px;width:64px;height:3px;margin-top:3px;margin-left:auto;overflow:hidden}.meter i{background:var(--primary);height:100%;display:block}.doc{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;padding:22px 24px;font-size:12.5px;display:flex;position:relative;overflow:hidden}.doc-h{border-bottom:1.5px solid var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-bottom:10px;display:grid}.doc-h img{width:96px;height:auto;display:block}.doc-c{color:var(--text-2);flex-direction:column;font-size:11.5px;line-height:1.4;display:flex}.doc-c b{color:var(--text);font-size:13px;font-weight:600}.doc-t{text-align:right;color:var(--text-2);flex-direction:column;font-size:11.5px;line-height:1.4;display:flex}.doc-t b{font-family:var(--f-display);color:var(--text);font-size:17px;font-weight:500}.doc-kv{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:3px 12px;margin:0;display:grid}.doc-kv dt{color:var(--text-3)}.doc-kv dd{margin:0}.doc-kv-line{color:var(--text-2);justify-content:space-between;font-size:11.5px;display:flex}.doc-tbl{width:100%}.doc-tbl th{color:var(--text-2);border-bottom:1px solid var(--text-3);text-align:left;padding:4px 6px;font-size:11px;font-weight:500}.doc-tbl td{border-bottom:1px solid var(--line);padding:4px 6px}.doc-tbl .num{text-align:right}.doc-sum{justify-content:flex-end;display:flex}.doc-sum .kv{gap:3px 16px;min-width:270px;font-size:12.5px}.doc-f{border-top:1px solid var(--line);color:var(--text-2);justify-content:space-between;gap:16px;padding-top:8px;font-size:11.5px;display:flex}.doc-stamp{border:2px solid var(--bad);color:var(--bad);border-radius:var(--r-1);opacity:.8;padding:2px 10px;font-size:16px;font-weight:600;position:absolute;top:92px;right:24px;transform:rotate(-8deg)}.matrix td.c,.matrix th.c{text-align:center;width:132px}.drawer input[type=checkbox],.login-form input[type=checkbox],.matrix input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.dayg{scrollbar-width:thin;gap:6px;padding-bottom:3px;display:flex;overflow-x:auto}.dayg button{border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);min-width:72px;color:var(--text-2);flex-direction:column;flex:none;align-items:flex-start;padding:5px 8px;font-size:12px;line-height:1.3;display:flex}.dayg button b{color:var(--text);font-size:12.5px;font-weight:500}.dayg button small{color:var(--text-3);font-size:11px}.dayg button.on,.dayg button:hover{border-color:var(--primary)}.dayg button.on{background:var(--primary-soft)}.dayg button[disabled]{opacity:.5;cursor:not-allowed;border-style:dashed}.slotg{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.slotg button{border:1px solid var(--line-strong);border-radius:var(--r-1);height:34px;font-family:var(--f-mono);background:var(--surface);color:var(--text);font-size:12.5px}.slotg button.on,.slotg button:hover{border-color:var(--primary)}.slotg button.on{background:var(--primary);color:var(--surface)}.slotg button[disabled]{background:var(--surface-3);color:var(--text-3);cursor:not-allowed;border-color:#0000;text-decoration:line-through}.picked{border:1px solid var(--primary-line);background:var(--primary-soft);border-radius:var(--r-2);align-items:center;gap:10px;padding:7px 10px;display:flex}.sug{border:1px solid var(--line);border-radius:var(--r-2);margin-top:4px;overflow:hidden}.sug button{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13.5px;display:flex}.sug button:last-child{border-bottom:0}.sug button:hover{background:var(--surface-2)}.sug .make{color:var(--primary);font-weight:500}.inline-form{border:1px solid var(--line-strong);flex-direction:column;gap:10px;margin-top:6px;padding:12px;display:flex}.inline-form,.kv-box{border-radius:var(--r-2);background:var(--surface-2)}.kv-box{padding:10px 12px}.opt{text-align:left;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.opt:hover{border-color:var(--line-strong);background:var(--surface-2)}.opt.on{border-color:var(--primary);background:var(--primary-soft)}.check{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.linkish{color:var(--primary);text-underline-offset:2px;font-size:12px;text-decoration:underline}.barrow{grid-template-columns:110px minmax(0,1fr) 38px 38px;align-items:center;gap:10px;font-size:13px;display:grid}.barrow b{text-align:right;font-weight:500}.barrow .faint{text-align:right;font-size:12px}.barrow .track{background:var(--surface-3);border-radius:2px;height:10px;overflow:hidden}.barrow .track i{background:var(--primary);border-radius:0 3px 3px 0;height:100%;display:block}.wk{grid-template-columns:repeat(6,minmax(130px,1fr));display:grid;overflow-x:auto}.wk-col{border-left:1px solid var(--line);min-width:0;min-height:320px}.wk-col:first-child{border-left:0}.wk-h{border-bottom:1px solid var(--line);align-items:baseline;gap:6px;padding:8px 10px;font-size:12.5px;display:flex}.wk-h b{font-weight:500}.wk-h .faint{margin-left:auto}.wk-col.today .wk-h{box-shadow:inset 0 -2px 0 var(--signal)}.wk-b{flex-direction:column;gap:4px;padding:6px}.wk-b,.wk-i{display:flex}.wk-i{border-radius:var(--r-1);text-align:left;background:var(--primary-soft);width:100%;color:var(--primary-strong);align-items:baseline;gap:6px;min-width:0;padding:4px 6px;font-size:12px}.wk-i.anc{background:var(--plum-soft);color:var(--plum)}.wk-i.fem{background:var(--warn-soft);color:var(--warn)}.tl-who{border-right:1px solid var(--line);min-height:58px}.tl-who:hover{background:var(--surface-2)}.tl-track.off{background-color:var(--surface-2)}.tl-b{text-align:left}.cal .d.picked{box-shadow:inset 0 0 0 2px var(--primary)}.cal .d.out{cursor:default}.cal .d .row{min-height:18px}.ga-track{background:var(--surface-3);border-radius:4px;height:8px;position:relative}.ga-track i{background:var(--primary);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.ga-track b{background:var(--signal);border-radius:1px;width:3px;height:16px;margin-left:-1px;position:absolute;top:-4px}.ga-track u{background:var(--surface);width:2px;position:absolute;top:0;bottom:0}.ga-labels{height:18px;color:var(--text-3);margin-top:6px;font-size:11.5px;position:relative}.ga-labels span{white-space:nowrap;position:absolute;left:0}.ga-labels span[style*=right]{left:auto}.paper{background:var(--surface);box-shadow:var(--shadow-2);border-radius:2px;padding:24px 26px;font-size:12.5px}.paper-h{border-bottom:1.5px solid var(--text);justify-content:space-between;align-items:flex-end;padding-bottom:8px;display:flex}.paper-h img{width:110px;height:auto}.paper-h b{font-family:var(--f-display);font-size:17px;font-weight:500}.paper .tbl td,.paper .tbl th{background:0 0;padding:5px 7px;font-size:12px}.thumbs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.thumbs:empty{display:none}.thumb{border-radius:var(--r-1);background:var(--surface-3);width:62px;height:46px;color:var(--text-3);flex:none;justify-content:center;align-items:center;gap:3px;display:inline-flex}.thumb.sm{width:40px;height:34px}.thumb.add{border:1px dashed var(--line-strong);color:var(--primary);background:0 0}.wl.res>li{align-items:flex-start}.wl.res .input{margin-top:3px}.field>label .prev{float:right;font-style:normal;font-family:var(--f-mono);color:var(--text-3);font-size:11.5px}.iu{position:relative}.iu .input{padding-right:50px}.iu span{color:var(--text-3);font-size:12px;position:absolute;top:8px;right:9px}.rxrow{border-top:1px solid var(--line);flex-direction:column;gap:5px;padding:10px 16px;display:flex}.rxrow b{font-weight:500}.rx-how{grid-template-columns:minmax(0,1.3fr) 130px minmax(0,1fr);align-items:center;gap:8px;display:grid}.rx-how .chip{height:28px;padding:0 9px;font-size:12.5px}.stepper-s{border:1px solid var(--line-strong);border-radius:var(--r-2)}.stepper-s,.stepper-s button{align-items:center;display:inline-flex}.stepper-s button{width:28px;height:28px;color:var(--text-2);justify-content:center}.stepper-s span{text-align:center;min-width:34px;font-size:13px}.enside{position:sticky;top:16px}@media (max-width:1180px){.rx-how{grid-template-columns:minmax(0,1fr)}.enside{position:static}}body:has(.drawer) .proto-fab{right:min(484px,100vw - 110px)}body:has(.drawer.wide) .proto-fab{right:min(696px,100vw - 110px)}@media (min-width:1181px){.split.enc{grid-template-columns:196px minmax(0,1fr) 286px}}.chart{width:100%;display:block}.chart text{font-family:var(--f-mono);fill:var(--text-3);font-size:10.5px}.print-page{flex-direction:column;gap:16px;max-width:780px;margin:0 auto;padding:24px;display:flex}.print-bar{justify-content:flex-end;display:flex}.print-doc{color:#20242c;border:1px solid var(--line);background:#fff;padding:28px 32px;font-size:13px}.print-doc h1{font-family:var(--f-display);font-size:19px;font-weight:500}.print-doc table{border-collapse:collapse;width:100%;margin-top:12px}.print-doc td,.print-doc th{text-align:left;border-bottom:1px solid #ebe5e3;padding:6px 8px;font-size:12.5px}.print-doc th{color:#4a4e57;font-weight:500}.print-doc .num{text-align:right}.print-h{border-bottom:1.5px solid #20242c;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;padding-bottom:8px;display:flex}.print-kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 20px;display:grid}.print-kv div{justify-content:space-between;gap:10px;display:flex}.print-kv span{color:#4a4e57}.print-logo{object-fit:contain;flex:none;width:44px;height:44px}.print-total{flex-direction:column;align-items:flex-end;gap:2px;margin-top:12px;display:flex}.print-stamp{color:#a93530;border:2px solid #a93530;padding:2px 10px;font-weight:600;display:inline-block;transform:rotate(-3deg)}@media print{.no-print{display:none!important}body,html{background:#fff!important}.print-page{max-width:none;padding:0}.print-doc{page-break-after:always;border:0;padding:0}.print-doc:last-child{page-break-after:auto}}:root{--f-ui:var(--font-plex),var(--font-lao),var(--font-plex-thai),system-ui,sans-serif;--f-display:var(--font-serif-lao),Georgia,serif;--f-mono:var(--font-plex-mono),var(--font-lao),ui-monospace,monospace}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}