@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--n-0:#fff;--n-25:#f7faf8;--n-50:#f2f6f3;--n-100:#e8eee9;--n-150:#dfe7e1;--n-200:#d3ddd5;--n-300:#b8c5bc;--n-400:#93a298;--n-500:#6c7a71;--n-600:#4d5a52;--n-700:#37423b;--n-800:#262f29;--n-900:#151e18;--n-950:#0c130f;--a-50:#e7f3ed;--a-100:#cce7dc;--a-200:#a0d2bf;--a-300:#6cb59c;--a-400:#3c9678;--a-500:#2a7d62;--a-600:#1f6b53;--a-700:#185541;--a-800:#134434;--a-900:#10362b;--success:#0e9488;--success-bg:#e0f4f1;--success-line:#bce6e0;--success-fg:#0a6a61;--warning:#bf8410;--warning-bg:#fbf0d6;--warning-line:#f0d9a3;--warning-fg:#8a5d09;--danger:#d23a31;--danger-bg:#fbe7e5;--danger-line:#f4c5c0;--danger-fg:#9e2620;--info:#2f74c0;--info-bg:#e7f0fa;--info-line:#c3d9f1;--info-fg:#1d4f86;--bg:var(--n-50);--surface:var(--n-0);--surface-2:var(--n-25);--surface-sunken:var(--n-100);--overlay:#0d11166b;--border:var(--n-200);--border-soft:var(--n-150);--border-strong:var(--n-300);--text:var(--n-900);--text-2:var(--n-600);--text-3:var(--n-500);--text-disabled:var(--n-400);--text-on-accent:#fff;--accent:var(--a-600);--accent-hover:var(--a-700);--accent-press:var(--a-800);--accent-soft:var(--a-50);--accent-soft-line:var(--a-200);--accent-text:var(--a-700);--ring:#1f6b534d;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:22px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--e-0:0 0 0 1px var(--border);--e-1:0 1px 2px #0d11160f, 0 0 0 1px #0d11160a;--e-2:0 2px 4px #0d11160d, 0 4px 12px #0d111612, 0 0 0 1px #0d11160a;--e-3:0 8px 18px #0d111614, 0 18px 48px #0d11161f, 0 0 0 1px #0d11160a;--font-sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--m-fast:.12s;--m-base:.18s;--m-slow:.24s;--ease:cubic-bezier(.2, .7, .3, 1);--ease-in:cubic-bezier(.4, .1, .8, .4);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:var(--n-950);--surface:#121d18;--surface-2:#17241e;--surface-sunken:#08110d;--overlay:#00000094;--border:#243029;--border-soft:#1b261f;--border-strong:#36473c;--text:#eef4f0;--text-2:#a6b4ab;--text-3:#74837a;--text-disabled:#56625a;--text-on-accent:#06120d;--accent:#3fae8a;--accent-hover:#5cc0a0;--accent-press:#74cbac;--accent-soft:#3fae8a29;--accent-soft-line:#3fae8a52;--accent-text:#6fc9aa;--ring:#3fae8a5c;--success:#28c2b2;--success-bg:#0e94882e;--success-line:#28c2b24d;--success-fg:#74dccf;--warning:#e0a533;--warning-bg:#bf841033;--warning-line:#e0a5334d;--warning-fg:#f0c878;--danger:#ef6a5f;--danger-bg:#d23a3133;--danger-line:#ef6a5f4d;--danger-fg:#f6a59d;--info:#5b9bd0;--info-bg:#2f74c02e;--info-line:#5b9bd04d;--info-fg:#9ec6e2;--e-0:0 0 0 1px var(--border);--e-1:0 1px 2px #0006, 0 0 0 1px #ffffff0a;--e-2:0 2px 6px #0006, 0 6px 16px #0006, 0 0 0 1px #ffffff0d;--e-3:0 10px 24px #00000080, 0 24px 56px #00000080, 0 0 0 1px #ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg)}body{min-width:320px;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;letter-spacing:-.05px;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;transition:background var(--m-base) var(--ease), color var(--m-base) var(--ease);margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}svg{flex:none}.t-display{font:700 44px/1.05 var(--font-sans);letter-spacing:-1.4px}.t-h1{font:600 31px/1.12 var(--font-sans);letter-spacing:-.9px}.t-h2{font:600 24px/1.2 var(--font-sans);letter-spacing:-.5px}.t-h3{font:600 19px/1.3 var(--font-sans);letter-spacing:-.3px}.t-body-lg{font:400 16px/1.55 var(--font-sans)}.t-body{font:400 15px/1.55 var(--font-sans)}.t-body-md{font:500 15px/1.5 var(--font-sans)}.t-caption{font:500 13px/1.4 var(--font-sans)}.t-micro{font:600 11.5px/1.3 var(--font-sans);letter-spacing:.4px;text-transform:uppercase}.t-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.2px}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.btn{font-family:var(--font-sans);letter-spacing:-.1px;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--m-fast) var(--ease), border-color var(--m-fast) var(--ease), color var(--m-fast) var(--ease), box-shadow var(--m-fast) var(--ease), transform var(--m-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.btn:not(:disabled):active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-md{height:38px;padding:0 16px;font-size:14px}.btn-lg{height:44px;padding:0 20px;font-size:15px}.btn-icon{aspect-ratio:1;padding:0}.btn-icon.btn-sm{width:32px}.btn-icon.btn-md{width:38px}.btn-icon.btn-lg{width:44px}.btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--e-1)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-primary:not(:disabled):active{background:var(--accent-press)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:not(:disabled):hover{background:var(--surface-2);border-color:var(--text-3)}.btn-secondary:not(:disabled):active{background:var(--surface-sunken)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--e-1)}.btn-danger:not(:disabled):hover{filter:brightness(1.06)}.btn-spinner{opacity:.9;border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.6s linear infinite sd-spin}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font:500 13px/1.3 var(--font-sans);color:var(--text-2)}.field-label .req{color:var(--danger-fg)}.field-hint{font:400 12px/1.4 var(--font-sans);color:var(--text-3)}.field-error{font:500 12px/1.4 var(--font-sans);color:var(--danger-fg);align-items:center;gap:5px;display:flex}.input,.textarea,.select{box-sizing:border-box;width:100%;font:400 14px/1.4 var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color var(--m-fast) var(--ease), box-shadow var(--m-fast) var(--ease)}.input,.select{height:38px;padding:0 12px}.textarea{resize:vertical;min-height:80px;padding:9px 12px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.textarea:hover,.select:hover{border-color:var(--text-3)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.input.is-error,.textarea.is-error,.select.is-error{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.input-affix{align-items:center;display:flex;position:relative}.input-affix .input{padding-left:36px}.input-affix .affix-icon{color:var(--text-3);pointer-events:none;display:flex;position:absolute;left:11px}.select-wrap{width:100%;position:relative}.select-wrap .select{appearance:none;cursor:pointer;padding-right:34px}.select-wrap .chev{color:var(--text-3);pointer-events:none;display:flex;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.select-wrap .chev .icon{transform:rotate(90deg)}.combo{width:100%;position:relative}.combo-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);max-height:264px;box-shadow:var(--e-3);animation:sd-fade var(--m-fast) var(--ease);padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-status{color:var(--text-3);font:500 13px var(--font-sans);padding:10px 12px}.combo-option{appearance:none;text-align:left;cursor:pointer;border-radius:var(--r-sm);width:100%;color:var(--text);font:400 14px var(--font-sans);background:0 0;border:none;padding:9px 10px;display:block}.combo-option.on{background:var(--surface-2)}.combo-option .opt-sub{font:500 12px var(--font-mono);color:var(--text-3);margin-top:1px;display:block}.ctl{cursor:pointer;font:400 14px var(--font-sans);color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;display:inline-flex}.ctl input{opacity:0;width:0;height:0;position:absolute}.ctl-box{border:1.5px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface);width:18px;height:18px;transition:background var(--m-fast) var(--ease), border-color var(--m-fast) var(--ease);color:#fff;flex:none;justify-content:center;align-items:center;display:flex}.ctl input:checked+.ctl-box{background:var(--accent);border-color:var(--accent)}.ctl input:focus-visible+.ctl-box{box-shadow:0 0 0 3px var(--ring)}.ctl-box.round{border-radius:50%}.ctl input:checked+.ctl-box.round{background:var(--accent);border-color:var(--accent)}.ctl input:checked+.ctl-box.round:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px}.switch{border-radius:var(--r-pill);background:var(--border-strong);width:38px;height:22px;transition:background var(--m-base) var(--ease);flex:none;position:relative}.switch:after{content:"";width:18px;height:18px;transition:transform var(--m-base) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(16px)}.ctl input:focus-visible+.switch{box-shadow:0 0 0 3px var(--ring)}.pill{border-radius:var(--r-pill);font:600 11.5px var(--font-sans);white-space:nowrap;border:1px solid;align-items:center;gap:5px;padding:3px 9px 3px 7px;line-height:1.3;display:inline-flex}.pill .dot{border-radius:50%;width:6px;height:6px}.pill-success{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-line)}.pill-success .dot{background:var(--success)}.pill-warning{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-line)}.pill-warning .dot{background:var(--warning)}.pill-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-line)}.pill-danger .dot{background:var(--danger)}.pill-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-line)}.pill-info .dot{background:var(--info)}.pill-neutral{background:var(--surface-2);color:var(--text-2);border-color:var(--border)}.pill-neutral .dot{background:var(--text-3)}.tag{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);height:26px;color:var(--text);font:500 12.5px var(--font-sans);white-space:nowrap;align-items:center;gap:6px;padding:0 6px 0 10px;display:inline-flex}.tag:has(.tag-x){padding-right:4px}.tag:not(:has(.tag-x)){padding-right:10px}.tag-x{appearance:none;color:var(--text-3);cursor:pointer;border-radius:var(--r-xs);transition:background var(--m-fast) var(--ease), color var(--m-fast) var(--ease);background:0 0;border:none;padding:2px;display:inline-flex}.tag-x:hover{background:var(--surface-sunken);color:var(--text)}.tag-x:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.avatar{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-soft-line);font:600 13px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}@keyframes sd-spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--border);border-right-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.65s linear infinite sd-spin}@keyframes sd-shimmer{to{background-position:200% 0}}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-sunken) 37%, var(--surface-2) 63%);background-size:200% 100%;animation:1.4s ease-in-out infinite sd-shimmer}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--e-1)}.card-pad{padding:20px}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 20px;display:flex}.card-head .card-title{font:600 19px/1.3 var(--font-sans);letter-spacing:-.3px}.card-head .count{font:600 11px var(--font-mono);color:var(--text-2);background:var(--surface-sunken);border-radius:var(--r-pill);padding:2px 8px}.card-head .card-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab{appearance:none;cursor:pointer;font:500 14px var(--font-sans);color:var(--text-2);white-space:nowrap;transition:color var(--m-fast) var(--ease);background:0 0;border:none;padding:10px 12px;position:relative}.tab:hover{color:var(--text)}.tab.on{color:var(--accent-text)}.tab.on:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.tbl-wrap{width:100%;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font:400 14px var(--font-sans)}.tbl thead th{text-align:left;font:600 12px var(--font-sans);color:var(--text-3);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:11px 16px}.tbl tbody td{border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle;white-space:nowrap;padding:13px 16px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background var(--m-fast) var(--ease)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.2px}.tbl .t-right,.tbl th.t-right{text-align:right}.cell-strong{font-weight:600}.tbl thead th.sortable{padding:0}.tbl thead th .th-in{appearance:none;cursor:pointer;width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;transition:color var(--m-fast) var(--ease);background:0 0;border:none;align-items:center;gap:5px;padding:11px 16px;display:inline-flex}.tbl thead th.t-right .th-in{flex-direction:row-reverse}.tbl thead th .th-in:hover{color:var(--text)}.tbl thead th .th-in:focus-visible{box-shadow:inset 0 0 0 2px var(--ring);outline:none}.sort-ico{color:var(--text-3);opacity:.5;display:inline-flex}.sort-ico.active{color:var(--accent);opacity:1}.icon.rot-down{transform:rotate(90deg)}.icon.rot-up{transform:rotate(-90deg)}.product-cell{align-items:center;gap:11px;min-width:0;display:flex}.product-cell .thumb{border-radius:var(--r-md);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border:1px solid var(--accent-soft-line);flex:none;justify-content:center;align-items:center;display:flex}.identity{align-items:center;gap:11px;min-width:0;display:flex}.identity .meta{min-width:0}.identity .meta .name{font:500 15px/1.4 var(--font-sans);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.identity .meta .sub{font:500 12px/1.3 var(--font-sans);color:var(--text-3)}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.table-link{color:var(--accent-text);font-weight:600}.table-link:hover{text-decoration:underline}.pagination{align-items:center;gap:4px;display:inline-flex}.flip-x .icon{transform:scaleX(-1)}.pagination .page-info{font:500 13px var(--font-sans);color:var(--text-3);margin-right:8px}.shell{background:var(--bg);min-height:100vh;color:var(--text);display:flex}.nav{background:var(--surface);border-right:1px solid var(--border);z-index:40;width:246px;height:100vh;transition:width var(--m-base) var(--ease);flex-direction:column;flex:none;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:11px;padding:18px 18px 14px;display:flex}.nav-scroll{flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-group{padding:8px 12px}.nav-group-label{font:600 10.5px var(--font-sans);letter-spacing:.5px;text-transform:uppercase;color:var(--text-3);padding:10px 10px 6px}.nav-item{border-radius:var(--r-md);color:var(--text-2);font:500 14px var(--font-sans);cursor:pointer;transition:background var(--m-fast) var(--ease), color var(--m-fast) var(--ease);align-items:center;gap:11px;padding:9px 10px;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.on{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.nav-item .badge{font:600 11px var(--font-mono);background:var(--surface-sunken);color:var(--text-2);border-radius:var(--r-pill);margin-left:auto;padding:1px 8px}.nav-item.on .badge{background:var(--accent);color:var(--text-on-accent)}.nav-footer{border-top:1px solid var(--border-soft);margin-top:auto;padding:8px 12px 14px}.nav-user{align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.nav-user .meta{min-width:0}.nav-user .meta .name{font:600 13px var(--font-sans);color:var(--text);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.nav-user .meta .role{font:400 11.5px var(--font-sans);color:var(--text-3);text-transform:capitalize;display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;flex:none;align-items:center;gap:12px;height:60px;padding:0 22px;display:flex;position:sticky;top:0}.topbar .topbar-search{flex:1;max-width:380px}.topbar .topbar-search .input{background:var(--surface-2)}.global-search{z-index:40;position:relative}.global-search-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(620px,100vw - 48px);max-height:min(72vh,640px);box-shadow:var(--e-3);animation:sd-fade var(--m-fast) var(--ease);padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.global-search-head,.global-search-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.global-search-head{color:var(--text-2);font:600 12px/1.3 var(--font-sans);letter-spacing:.3px;text-transform:uppercase;padding:7px 9px 9px}.global-search-submit,.global-search-section-head button{appearance:none;color:var(--accent-text);cursor:pointer;font:600 12px var(--font-sans);background:0 0;border:none;padding:0}.global-search-submit:disabled{color:var(--text-disabled);cursor:default}.global-search-section{padding-top:6px}.global-search-section+.global-search-section{border-top:1px solid var(--border-soft);margin-top:6px}.global-search-section-head{color:var(--text-3);font:600 11.5px/1.3 var(--font-sans);letter-spacing:.36px;text-transform:uppercase;padding:8px 9px 5px}.global-search-item{appearance:none;border-radius:var(--r-md);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px;display:flex}.global-search-item:hover,.global-search-item:focus-visible{background:var(--surface-2);outline:none}.global-search-icon{border-radius:var(--r-md);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);flex:none;place-items:center;display:grid}.global-search-copy{gap:2px;min-width:0;display:grid}.global-search-title{font:600 14px/1.3 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-meta{color:var(--text-3);font:500 12.5px/1.35 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-status,.global-search-empty{color:var(--text-3);font:500 13px/1.4 var(--font-sans);padding:10px 9px}.global-search-status.danger{color:var(--danger-fg)}.topbar .spacer{flex:1}.topbar-title{font:600 16px var(--font-sans);letter-spacing:-.2px}.toolbar-search{min-width:230px;max-width:300px}.notif-dot{background:var(--danger);border:1.5px solid var(--surface);border-radius:9px;width:7px;height:7px;position:absolute;top:7px;right:7px}.content{flex:1;min-width:0;padding:26px}.page{flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;display:flex}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head .crumb{color:var(--text-3);align-items:center;gap:8px;margin-bottom:10px;display:flex}.page-head h1{font:600 31px/1.12 var(--font-sans);letter-spacing:-.9px}.page-head .sub{color:var(--text-2);margin-top:4px}.page-head .actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;display:flex}.scrim{background:var(--overlay);z-index:39;cursor:pointer;animation:sd-fade var(--m-base) var(--ease);border:0;padding:0;position:fixed;inset:0}@keyframes sd-fade{0%{opacity:0}}.nav-close,.menu-button{display:none}.collapse-button{display:inline-flex}@media (width>=861px){.nav-collapsed .nav{width:76px}.nav-collapsed .nav-brand{justify-content:center;padding:18px 0 14px}.nav-collapsed .nav-group{padding:8px 10px}.nav-collapsed .nav-group-label{color:#0000;background:var(--border-soft);height:1px;margin:10px 8px 8px;padding:0;overflow:hidden}.nav-collapsed .nav-item{justify-content:center;padding:11px 0;position:relative}.nav-collapsed .nav-label{display:none}.nav-collapsed .nav-item .badge{border:1.5px solid var(--surface);background:var(--accent);min-width:14px;height:14px;color:var(--text-on-accent);justify-content:center;align-items:center;margin:0;padding:0 3px;font-size:8.5px;line-height:1;display:inline-flex;position:absolute;top:4px;right:21px}.nav-collapsed .nav-user{flex-direction:column;gap:8px;padding:8px 0}.nav-collapsed .nav-user .meta{display:none}}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e-1);flex-direction:column;padding:18px;display:flex}.metric-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.metric-delta{border-radius:var(--r-pill);font:600 11.5px var(--font-sans);background:var(--success-bg);color:var(--success-fg);border:1px solid var(--success-line);align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.metric-icon{border:1px solid var(--accent-soft-line);border-radius:var(--r-md);width:42px;height:42px;color:var(--accent-text);background:var(--accent-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.metric-card .value{font:600 30px/1 var(--font-sans);letter-spacing:-.8px;color:var(--text)}.metric-card .label{font:500 14px var(--font-sans);color:var(--text-3);margin-top:7px}.list-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:12px 16px;display:flex}.list-row:last-child{border-bottom:none}.list-row .order-no{font:600 13px var(--font-mono);color:var(--accent-text);flex:none;width:76px}.list-row .who{white-space:nowrap;text-overflow:ellipsis;min-width:0;font:500 15px var(--font-sans);flex:1;overflow:hidden}.list-row .amt{font:400 13px var(--font-mono);color:var(--text)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-grid .span-2{grid-column:1/-1}.form-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.two-col{grid-template-columns:1.6fr 1fr;align-items:start;gap:16px;display:grid}.two-col.wide-left{grid-template-columns:1.7fr 1fr}.stack{flex-direction:column;gap:16px;display:flex}.order-lines-head,.order-line{grid-template-columns:minmax(0,1fr) 104px 92px 96px 38px;align-items:start;gap:12px;display:grid}.order-lines-head{padding:8px 0 4px}.order-lines-head span{font:600 11.5px var(--font-sans);letter-spacing:.4px;text-transform:uppercase;color:var(--text-3)}.order-line{border-bottom:1px solid var(--border-soft);padding:12px 0}.order-line .line-static{text-align:right;line-height:38px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.order-line .line-static.total{color:var(--text);font-weight:600}.order-line .line-static.unit{color:var(--text-2)}.order-line .line-trash{line-height:38px}.text-right{text-align:right}.summary-row{justify-content:space-between;align-items:baseline;padding:5px 0;display:flex}.summary-row span{color:var(--text-2);font-size:14px}.summary-row .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}.summary-row.total{border-top:1px solid var(--border);margin-top:8px;padding-top:12px}.summary-row.total span{color:var(--text);font-size:16px;font-weight:500}.summary-row.total .v{color:var(--accent-text);font-size:20px;font-weight:700}.bar-chart{width:100%}.bar-chart .bars{height:var(--chart-h,180px);align-items:flex-end;gap:3px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.bar-fill{border-radius:var(--r-sm) var(--r-sm) 0 0;background:linear-gradient(180deg, var(--accent), var(--accent-press));width:100%;min-height:2px;transition:height var(--m-slow) var(--ease)}.bar-fill.is-zero{background:var(--surface-sunken)}.bar-col:hover .bar-fill{background:linear-gradient(180deg, var(--accent-hover), var(--accent))}.bar-x{font:500 10px var(--font-mono);color:var(--text-3);white-space:nowrap}.stat-inline{flex-wrap:wrap;gap:28px;margin-bottom:18px;display:flex}.stat-inline .stat .k{font:500 12px var(--font-sans);color:var(--text-3)}.stat-inline .stat .v{font:600 24px/1 var(--font-sans);letter-spacing:-.5px;color:var(--text);margin-top:2px;display:block}.rank{border-radius:var(--r-sm);background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);font:600 12px var(--font-mono);justify-content:center;align-items:center;display:inline-flex}.info-line{color:var(--text-2);word-break:break-word;font-size:14px;line-height:1.7}.alert{border:1px solid var(--border);border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.alert .alert-body{min-width:0}.alert strong{margin-bottom:2px;display:block}.alert-danger{border-color:var(--danger-line);color:var(--danger-fg);background:var(--danger-bg)}.alert-info{border-color:var(--info-line);color:var(--info-fg);background:var(--info-bg)}.alert-success{border-color:var(--success-line);color:var(--success-fg);background:var(--success-bg)}.alert-warning{border-color:var(--warning-line);color:var(--warning-fg);background:var(--warning-bg)}.loading-state{color:var(--text-2);align-items:center;gap:10px;padding:24px 16px;display:inline-flex}.empty-state{color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:44px 24px;display:flex}.empty-state .illustration{width:min(200px,100%);height:auto}.empty-state h3{font:600 19px var(--font-sans);color:var(--text)}.empty-state p{max-width:420px}.overlay{z-index:70;background:var(--overlay);animation:sd-fade var(--m-base) var(--ease);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay-end{justify-content:flex-end;align-items:stretch;padding:0}.overlay-close{appearance:none;cursor:pointer;color:var(--text-3);border-radius:var(--r-sm);transition:background var(--m-fast) var(--ease), color var(--m-fast) var(--ease);background:0 0;border:none;padding:5px;display:flex}.overlay-close:hover{background:var(--surface-2);color:var(--text)}.overlay-close:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.modal{max-width:100%;max-height:calc(100vh - 48px);box-shadow:var(--e-3);animation:sd-modal-in var(--m-slow) var(--ease);flex-direction:column;display:flex}@keyframes sd-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-head,.drawer-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-body{padding:18px 20px;overflow-y:auto}.modal-foot,.drawer-foot{border-top:1px solid var(--border);flex:none;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.drawer{background:var(--surface);border-left:1px solid var(--border);max-width:100%;height:100%;box-shadow:var(--e-3);animation:sd-drawer-in var(--m-slow) var(--ease);flex-direction:column;display:flex}@keyframes sd-drawer-in{0%{transform:translate(100%)}}.drawer-body{flex:1;padding:20px;overflow-y:auto}.tooltip{z-index:80;border-radius:var(--r-sm);background:var(--text);color:var(--bg);font:600 12.5px var(--font-sans);letter-spacing:-.1px;white-space:nowrap;box-shadow:var(--e-2);pointer-events:none;animation:sd-tooltip-in var(--m-fast) var(--ease);padding:6px 10px;position:fixed;transform:translateY(-50%)}.tooltip:before{content:"";background:var(--text);border-radius:1px;width:8px;height:8px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)rotate(45deg)}@keyframes sd-tooltip-in{0%{opacity:0;transform:translateY(-50%)translate(-5px)}}.toasts{z-index:60;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-3);animation:sd-toast-in var(--m-slow) var(--ease);align-items:flex-start;gap:11px;padding:13px 14px;display:flex}@keyframes sd-toast-in{0%{opacity:0;transform:translateY(8px)}}.toast .toast-ico{flex:none;margin-top:1px}.toast.tone-success .toast-ico{color:var(--success)}.toast.tone-danger .toast-ico{color:var(--danger)}.toast.tone-warning .toast-ico{color:var(--warning)}.toast.tone-info .toast-ico{color:var(--info)}.toast .toast-body{flex:1;min-width:0}.toast .toast-body strong{font-size:14px;display:block}.toast .toast-body p{color:var(--text-2);margin-top:1px;font-size:13px}.login{background:var(--surface);min-height:100vh;color:var(--text);grid-template-columns:1.05fr 1fr;display:grid}.login-art{background:var(--accent-soft);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:48px;display:flex}.login-art .hero{text-align:center;flex-direction:column;align-items:center;gap:22px;display:flex}.login-art .hero .login-hero-illustration{width:min(340px,100%);height:auto}.login-panel{justify-content:center;align-items:center;padding:48px 32px;display:flex}.login-form{flex-direction:column;gap:18px;width:360px;max-width:100%;display:flex}.login-form .head{margin-bottom:6px}.brand{color:var(--text);align-items:center;gap:11px;display:inline-flex}.brand .wordmark{font:700 20px var(--font-sans);letter-spacing:-.4px}.mark-badge{color:var(--text-on-accent);background:var(--accent);box-shadow:var(--e-1);border-radius:26%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=1024px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.two-col.wide-left{grid-template-columns:1fr}}@media (width<=860px){.nav{height:100vh;transition:transform var(--m-base) var(--ease);box-shadow:var(--e-3);position:fixed;top:0;left:0;transform:translate(-100%)}.nav.open{transform:translate(0)}.nav-close{margin-left:auto;display:inline-flex}.menu-button{display:inline-flex}.collapse-button,.topbar-search{display:none}.content{padding:20px 16px}.page-head{flex-direction:column;align-items:stretch}.page-head .actions{justify-content:flex-start}}@media (width>=861px){.scrim{display:none}}@media (width<=720px){.login{grid-template-columns:1fr}.login-art{display:none}.login-panel{padding:32px 22px}.form-grid{grid-template-columns:1fr}.order-lines-head{display:none}.order-line{border:1px solid var(--border-soft);border-radius:var(--r-md);grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;padding:14px}.order-line .field-product{grid-column:1/-1}.order-line .line-static{text-align:left;line-height:1.4}.order-line .line-trash{text-align:right;line-height:1.4}}@media (width<=640px){.tbl-wrap{overflow-x:visible}.tbl thead{display:none}.tbl,.tbl tbody{width:100%;display:block}.tbl tbody tr{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;padding:2px 6px 6px;display:block;position:relative}.tbl tbody tr:last-child{margin-bottom:0}.tbl tbody tr:hover{background:var(--surface)}.tbl tbody td{border:none;border-bottom:1px solid var(--border-soft);white-space:normal;text-align:right;justify-content:space-between;align-items:center;gap:14px;padding:9px 8px;display:flex}.tbl tbody td:last-child{border-bottom:none}.tbl tbody td:before{content:attr(data-label);font:600 11px var(--font-sans);letter-spacing:.4px;text-transform:uppercase;color:var(--text-3);text-align:left;flex:none}.tbl tbody td:first-child{justify-content:flex-start;padding:11px 8px 10px}.tbl tbody td:first-child:before{content:none}.tbl tbody td.card-float{border:none;width:auto;padding:0;position:absolute;top:9px;right:8px}.tbl tbody td.card-float:before{content:none}.tbl tbody tr:has(.card-float) td:first-child{padding-right:116px}.tbl tbody td[data-label=""]:before{content:none}.tbl tbody td[data-label=""],.tbl tbody td .row-actions{justify-content:flex-end}}@media (width<=560px){.metric-grid{grid-template-columns:1fr}.content{padding:16px 12px}.page{gap:16px}.page-head h1{font-size:26px}.stat-inline{gap:18px 24px}.card-head{flex-wrap:wrap;padding:12px 16px}.card-head .card-toolbar{justify-content:flex-start;width:100%;margin-left:0}.toolbar-search{width:100%;min-width:0;max-width:none}.card-pad{padding:16px}.topbar{padding:0 14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
