:root{--or:#ec6608;--or-deep:#b84c05;--or-soft:#fff4ec;--or-mid:#f6a25c;--or-border:#f7dcc5;--or-tint:#fff0e3;--or-avatar:#ffe3ce;--or-hover:#d2570a;--or-on-dark:#ffb27a;--or-on-soft:#8a5a33;--ink:#17181b;--body:#4a4e55;--muted:#6b6f76;--subtle:#8a847f;--faint:#9a9490;--ghost:#a9a29c;--disabled:#b9b3ad;--line:#ede9e5;--line-soft:#f5f2ef;--line-faint:#f0ece8;--border:#e4dfda;--border-strong:#d8d2cc;--track:#f1ede9;--canvas:#efebe7;--surface:#fff;--surface-alt:#fbf9f7;--surface-sunken:#f8f6f4;--surface-deep:#faf8f6;--chip-idle:#f3efeb;--neutral-fill:#f2f0ee;--green:#2e9e5b;--green-deep:#1e7a44;--green-soft:#e9f6ee;--red:#b23a31;--red-soft:#fbebea;--red-mid:#d96a5e;--grey:#c9c3bd;--sans:"IBM Plex Sans Thai", system-ui, sans-serif;--mono:"IBM Plex Mono", monospace;--sidebar-w:246px}*,:before,:after{box-sizing:border-box}html,body{background:var(--surface);height:100%;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0;padding:0}a{color:var(--or);text-decoration:none}a:hover{color:var(--or-deep)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#00000029;border-radius:9px}::-webkit-scrollbar-track{background:0 0}.shell{background:var(--surface);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface-alt);border-right:1px solid var(--line);flex-direction:column;flex:none;display:flex}.sidebar__brand{background:var(--or);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.sidebar__pro{font:600 10px var(--mono);color:#ffffffd9;letter-spacing:.08em}.sidebar__search{border:1px solid var(--border);background:var(--surface);color:var(--faint);border-radius:8px;width:100%;padding:8px 11px;font-family:inherit;font-size:12px}.sidebar__search:focus{border-color:var(--or);color:var(--ink);outline:none}.sidebar__nav{flex:1;padding:4px 10px 14px;overflow:auto}.nav-head{font:600 9.5px var(--mono);letter-spacing:.11em;color:var(--ghost);padding:14px 8px 6px}.nav-item{cursor:pointer;color:var(--body);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;margin-bottom:1px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:400;display:flex}.nav-item:hover{background:var(--line-soft)}.nav-item--on{background:var(--or-soft);color:var(--or-deep);font-weight:600}.nav-item--on:hover{background:var(--or-soft)}.nav-item__bar{background:0 0;border-radius:2px;flex:none;width:3px;height:15px}.nav-item--on .nav-item__bar{background:var(--or)}.nav-item__label{flex:1;min-width:0}.nav-item__badge{font:500 10px var(--mono);color:var(--subtle);background:var(--track);border-radius:20px;padding:2px 6px}.nav-item--on .nav-item__badge{color:var(--or-deep);background:#ec660824}.nav-item__badge:empty{background:0 0;padding:0}.sidebar__user{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;padding:16px 26px;display:flex}.topbar__title{font-size:19px;font-weight:600;line-height:1.2}.topbar__subtitle{color:var(--subtle);margin-top:2px;font-size:11.5px}.topbar__period{font:500 11px var(--mono);color:var(--subtle);border:1px solid var(--line);border-radius:7px;padding:6px 10px}.skeleton{background:linear-gradient(90deg, var(--track) 25%, var(--surface-alt) 50%, var(--track) 75%);background-size:300% 100%;animation:1.3s ease-in-out infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--track);animation:none}}.bell{flex:none;position:relative}.bell__btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--muted);border-radius:9px;place-items:center;font-family:inherit;transition:background .12s;display:grid;position:relative}.bell__btn:hover{background:var(--surface-alt)}.bell__btn[aria-expanded=true]{background:var(--or-soft);border-color:var(--or-border);color:var(--or-deep)}.bell__glyph{border:1.6px solid;border-bottom:0;border-radius:6px 6px 1px 1px;width:11px;height:11px;position:relative}.bell__glyph:after{content:"";background:currentColor;border-radius:2px;height:1.6px;position:absolute;bottom:-2.6px;left:-3.4px;right:-3.4px}.bell__count{background:var(--or);color:#fff;min-width:16px;height:16px;font:600 9.5px/16px var(--mono);text-align:center;border:1.5px solid var(--surface);border-radius:8px;padding:0 4px;position:absolute;top:-5px;right:-5px}.bell__panel{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:12px;flex-direction:column;width:348px;max-height:460px;display:flex;position:absolute;top:42px;right:0;overflow:hidden;box-shadow:0 18px 44px #17181b21}.bell__head{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;font-weight:600;display:flex}.bell__list{overflow:auto}.bell__row{border:0;border-bottom:1px solid var(--line-soft);text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border-left:2px solid #0000;align-items:flex-start;gap:9px;padding:11px 14px;font-family:inherit;text-decoration:none;display:flex}.bell__row:hover{background:var(--surface-alt)}.bell__row--unread{border-left-color:var(--or);background:var(--or-soft)}.bell__row--unread:hover{background:var(--or-tint)}.bell__dot{border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.content{background:var(--surface-sunken);flex:1;min-width:0;padding:22px 26px 40px;overflow:auto}.content__inner{min-width:0}@media (max-width:1140px){.split{grid-template-columns:1fr!important}}.btn{cursor:pointer;border:0;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s}.btn--primary{background:var(--or);color:#fff}.btn--primary:hover{background:var(--or-hover)}.btn--ghost{background:var(--surface);border:1px solid var(--border);color:var(--muted)}.btn--ghost:hover{border-color:var(--or);color:var(--or-deep)}.btn--dark{background:var(--ink);color:#fff}.btn--sm{padding:5px 11px;font-size:11.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:11px}.card--pad{padding:18px 20px}.card--dark{background:var(--ink);color:#fff;border-color:var(--ink)}.card--soft{background:var(--or-soft);border-color:var(--or-border)}.card__head{border-bottom:1px solid var(--line);padding:14px 20px;font-size:13px;font-weight:600}.card__title{font-size:13.5px;font-weight:600}.tiles{gap:14px;display:grid}.tiles--4{grid-template-columns:repeat(4,1fr)}.tiles--3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.tiles--4{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:16px}.tile__label{color:var(--subtle);font-size:11.5px}.tile__value{font:600 24px var(--sans);letter-spacing:-.01em;margin-top:6px}.tile__note{margin-top:3px;font-size:10.5px}:is(.card:has(.thead) .thead,.card:has(.thead) .trow){min-width:860px}.card:has(.thead){overflow:auto hidden!important}.thead{background:var(--surface-alt);border-bottom:1px solid var(--line);font:600 10.5px var(--mono);letter-spacing:.06em;color:var(--subtle);gap:10px;padding:11px 18px;display:grid}.trow{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:12px 18px;font-size:12.5px;display:grid}.trow--click{cursor:pointer;background:var(--surface);text-align:left;border-left:0;width:100%;font-family:inherit}.trow--click:hover{background:var(--surface-alt)}.trow--on,.trow--on:hover{background:var(--or-soft)}.tsub{font:400 10.5px var(--mono);color:var(--faint)}.pill{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.chip{cursor:pointer;background:var(--surface);color:var(--body);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-family:inherit;font-size:11.5px;font-weight:500}.chip:hover{border-color:var(--or)}.chip--on{background:var(--or);color:#fff;border-color:var(--or)}.chip--on:hover{border-color:var(--or)}.chip__n{font-family:var(--mono);opacity:.6}.bar{background:var(--track);border-radius:4px;height:6px;overflow:hidden}.bar__fill{border-radius:4px;height:100%}.bar--lg{border-radius:5px;height:8px}.avatar{background:var(--chip-idle);color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.mono{font-family:var(--mono)}.grow{flex:1;min-width:0}.row{align-items:center;gap:10px;display:flex}.stack{flex-direction:column;display:flex}.split{align-items:start;gap:14px;display:grid}.split>*,.stack>*{min-width:0}.muted{color:var(--subtle)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login{background:var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.login__card{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:32px 34px 30px;box-shadow:0 1px 2px #0000000a,0 12px 32px #0000000f}.login__input{border:1px solid var(--border);background:var(--surface-alt);width:100%;color:var(--ink);border-radius:9px;outline:0;padding:11px 12px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s}.login__input:focus{border-color:var(--or);background:var(--surface)}.login__input::placeholder{color:var(--disabled);text-transform:none}.portal{background:var(--canvas);min-height:100vh}.portal__bar{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.portal__barinner{align-items:center;gap:16px;max-width:1080px;margin:0 auto;padding:11px 24px;display:flex}.portal__tabs{gap:2px;display:flex}.portal__tab{color:var(--muted);border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.portal__tab:hover{background:var(--surface-alt);color:var(--ink)}.portal__tab--on{background:var(--or-soft);color:var(--or-deep);font-weight:600}.portal__body{max-width:1080px;margin:0 auto;padding:22px 24px 48px}.portal__title{font:600 20px var(--sans);margin:0 0 3px}.portal__sub{color:var(--subtle);margin:0 0 18px;font-size:12.5px}
