:root{--c-bg: #f4f6fa;--c-surface: #ffffff;--c-surface-2: #f8fafc;--c-surface-3: #eef2f7;--c-border: #dfe5ee;--c-border-strong: #c6d0de;--c-text: #1b2430;--c-text-2: #55637a;--c-text-3: #8794a8;--c-primary: #2f6bff;--c-primary-hover: #1f57e6;--c-primary-weak: #e8efff;--c-success: #10893e;--c-success-weak: #e4f6ea;--c-warn: #b26a00;--c-warn-weak: #fff4e0;--c-danger: #cf2b2b;--c-danger-weak: #fdeaea;--c-info: #0b6e99;--c-info-weak: #e5f4fb;--c-purple: #6b3fd4;--c-purple-weak: #efe9ff;--radius-s: 4px;--radius: 6px;--radius-l: 10px;--shadow-s: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 4px 14px rgba(16, 24, 40, .08);--shadow-l: 0 12px 40px rgba(16, 24, 40, .18);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;--sidebar-w: 208px}html[data-theme=dark]{--c-bg: #10141c;--c-surface: #171d27;--c-surface-2: #1d2532;--c-surface-3: #232c3b;--c-border: #2b3546;--c-border-strong: #3a465c;--c-text: #e6ebf3;--c-text-2: #a7b3c6;--c-text-3: #78859a;--c-primary: #5c8bff;--c-primary-hover: #7ba1ff;--c-primary-weak: #1b2740;--c-success: #4ec97a;--c-success-weak: #14291d;--c-warn: #e0a33c;--c-warn-weak: #2e2413;--c-danger: #ff6b6b;--c-danger-weak: #331a1a;--c-info: #55b8de;--c-info-weak: #12272f;--c-purple: #a98cff;--c-purple-weak: #221b3a;--shadow: 0 4px 14px rgba(0, 0, 0, .4);--shadow-l: 0 12px 40px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--c-bg);color:var(--c-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:12px}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--c-surface);border-right:1px solid var(--c-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar__brand{padding:14px 16px 10px;border-bottom:1px solid var(--c-border)}.sidebar__brand-title{font-size:15px;font-weight:700;letter-spacing:.2px}.sidebar__brand-sub{color:var(--c-text-3);font-size:11px}.sidebar__nav{padding:8px;overflow-y:auto;flex:1}.nav-group__label{padding:10px 8px 4px;color:var(--c-text-3);font-size:11px;letter-spacing:.5px}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius);color:var(--c-text-2);margin-bottom:2px}.nav-item:hover{background:var(--c-surface-3);color:var(--c-text);text-decoration:none}.nav-item.is-active{background:var(--c-primary-weak);color:var(--c-primary);font-weight:600}.nav-item__badge{margin-left:auto;background:var(--c-danger);color:#fff;border-radius:9px;font-size:10px;min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.sidebar__foot{border-top:1px solid var(--c-border);padding:10px 12px;color:var(--c-text-3);font-size:11px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:48px;flex:0 0 48px;background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:12px;padding:0 16px;position:sticky;top:0;z-index:20}.topbar__title{font-size:14px;font-weight:600}.topbar__spacer{flex:1}.topbar__user{display:flex;align-items:center;gap:8px;color:var(--c-text-2)}.content{padding:16px;flex:1;min-width:0}.content--narrow{max-width:1180px;margin:0 auto;width:100%}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}.card__head{padding:10px 14px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:10px}.card__title{font-size:13px;font-weight:600}.card__sub{color:var(--c-text-3);font-size:11px}.card__body{padding:14px}.grid{display:grid;gap:12px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(238px,1fr))}@media(max-width:1080px){.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr)}}.stat{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:12px 14px}.stat__label{color:var(--c-text-3);font-size:11px}.stat__value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25}.stat__hint{color:var(--c-text-3);font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);border-radius:var(--radius);font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,opacity .12s}.btn:hover:not(:disabled){background:var(--c-surface-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.btn--danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn--danger:hover:not(:disabled){opacity:.88;background:var(--c-danger)}.btn--ghost{border-color:transparent;background:transparent;color:var(--c-primary)}.btn--ghost:hover:not(:disabled){background:var(--c-primary-weak)}.btn--sm{height:26px;padding:0 9px;font-size:12px}.btn--block{width:100%}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field__label{font-size:12px;color:var(--c-text-2);font-weight:500}.field__label .req{color:var(--c-danger);margin-left:2px}.field__hint{font-size:11px;color:var(--c-text-3)}.field__error{font-size:11px;color:var(--c-danger)}.input,.select,.textarea{width:100%;height:30px;padding:0 9px;border:1px solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface);color:var(--c-text);font-size:13px;font-family:inherit;outline:none}.textarea{height:auto;min-height:64px;padding:7px 9px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-weak)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-surface-3);color:var(--c-text-3);cursor:not-allowed}.input--sm,.select--sm{height:26px;font-size:12px;padding:0 6px}.input-group{display:flex;gap:8px}.input-group>.input{flex:1}.checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--c-text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{accent-color:var(--c-primary);width:14px;height:14px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.filter-bar .field{margin-bottom:0;min-width:132px}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th,.table td{padding:7px 10px;border-bottom:1px solid var(--c-border);text-align:left;vertical-align:middle;white-space:nowrap}.table th{background:var(--c-surface-2);color:var(--c-text-2);font-size:11px;font-weight:600;position:sticky;top:0;z-index:1}.table tbody tr:hover{background:var(--c-surface-2)}.table tbody tr.is-clickable{cursor:pointer}.table td.num,.table th.num{text-align:right}.table--compact th,.table--compact td{padding:5px 8px}.table__empty{padding:26px;text-align:center;color:var(--c-text-3)}.tag{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:9px;font-size:11px;font-weight:500;background:var(--c-surface-3);color:var(--c-text-2);white-space:nowrap}.tag--primary{background:var(--c-primary-weak);color:var(--c-primary)}.tag--success{background:var(--c-success-weak);color:var(--c-success)}.tag--warn{background:var(--c-warn-weak);color:var(--c-warn)}.tag--danger{background:var(--c-danger-weak);color:var(--c-danger)}.tag--info{background:var(--c-info-weak);color:var(--c-info)}.tag--purple{background:var(--c-purple-weak);color:var(--c-purple)}.badge-serve{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:13px}.badge-serve--ok{background:var(--c-success-weak);color:var(--c-success);border:1px solid var(--c-success)}.badge-serve--bad{background:var(--c-danger-weak);color:var(--c-danger);border:1px solid var(--c-danger)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--c-text-3)}.dot--ok{background:var(--c-success)}.dot--bad{background:var(--c-danger)}.dot--warn{background:var(--c-warn)}.progress{height:8px;background:var(--c-surface-3);border-radius:999px;overflow:hidden;position:relative}.progress__bar{height:100%;background:var(--c-primary);border-radius:999px;transition:width .3s ease}.progress__bar--warn{background:var(--c-warn)}.progress__bar--danger{background:var(--c-danger)}.progress__bar--success{background:var(--c-success)}.bars{display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:116px 1fr 132px;gap:9px;align-items:center;font-size:12px}.bar-row__label{color:var(--c-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row__track{background:var(--c-surface-3);border-radius:var(--radius-s);height:16px;position:relative;overflow:hidden}.bar-row__fill{height:100%;background:linear-gradient(90deg,var(--c-primary),#6f97ff);border-radius:var(--radius-s)}.bar-row__fill--alt{background:linear-gradient(90deg,var(--c-warn),#ffc46b)}.bar-row__value{text-align:right;color:var(--c-text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.kv{display:grid;grid-template-columns:108px 1fr;gap:5px 10px;font-size:12px}.kv__k{color:var(--c-text-3)}.kv__v{word-break:break-all}.kv--wide{grid-template-columns:150px 1fr}.state{padding:26px 16px;text-align:center;color:var(--c-text-3)}.state__icon{font-size:22px;margin-bottom:6px}.state__title{color:var(--c-text-2);font-weight:600;margin-bottom:4px}.state__desc{font-size:12px;max-width:460px;margin:0 auto 10px}.alert{border-radius:var(--radius);padding:9px 11px;font-size:12px;border:1px solid transparent;display:flex;gap:8px;align-items:flex-start}.alert--error{background:var(--c-danger-weak);border-color:var(--c-danger);color:var(--c-danger)}.alert--warn{background:var(--c-warn-weak);border-color:var(--c-warn);color:var(--c-warn)}.alert--info{background:var(--c-info-weak);border-color:var(--c-info);color:var(--c-info)}.alert--success{background:var(--c-success-weak);border-color:var(--c-success);color:var(--c-success)}.skeleton{background:linear-gradient(90deg,var(--c-surface-3) 25%,var(--c-surface-2) 37%,var(--c-surface-3) 63%);background-size:400% 100%;animation:skeleton 1.3s ease infinite;border-radius:var(--radius-s);height:13px}@keyframes skeleton{0%{background-position:100% 50%}to{background-position:0 50%}}.spinner{width:13px;height:13px;border:2px solid var(--c-border-strong);border-top-color:var(--c-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;inset:0;background:#0f16216b;z-index:60;display:flex}.drawer{margin-left:auto;width:min(560px,100%);background:var(--c-surface);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-l);animation:slide-in .18s ease}@keyframes slide-in{0%{transform:translate(24px);opacity:.6}}.drawer__head{padding:12px 16px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:10px}.drawer__body{padding:14px 16px;overflow-y:auto;flex:1}.modal{margin:auto;width:min(520px,calc(100% - 32px));background:var(--c-surface);border-radius:var(--radius-l);box-shadow:var(--shadow-l);display:flex;flex-direction:column;max-height:90vh}.modal--wide{width:min(760px,calc(100% - 32px))}.modal__head{padding:12px 16px;border-bottom:1px solid var(--c-border);font-weight:600;display:flex;align-items:center}.modal__body{padding:14px 16px;overflow-y:auto}.modal__foot{padding:11px 16px;border-top:1px solid var(--c-border);display:flex;justify-content:flex-end;gap:8px}.toast-host{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{background:var(--c-surface);border:1px solid var(--c-border);border-left-width:3px;border-radius:var(--radius);box-shadow:var(--shadow);padding:9px 12px;font-size:12px;cursor:pointer;animation:toast-in .16s ease}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.toast--success{border-left-color:var(--c-success)}.toast--error{border-left-color:var(--c-danger)}.toast--warn{border-left-color:var(--c-warn)}.toast--info{border-left-color:var(--c-info)}.pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:9px 12px;border-top:1px solid var(--c-border);color:var(--c-text-2);font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-border);padding:0 12px;overflow-x:auto}.tab{padding:8px 12px;border-bottom:2px solid transparent;color:var(--c-text-2);cursor:pointer;font-size:13px;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit;white-space:nowrap}.tab.is-active{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:600}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(140deg,var(--c-primary-weak),var(--c-bg) 55%)}.auth-card{width:min(400px,100%);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:22px}.auth-card--wide{width:min(460px,100%)}.auth-brand{text-align:center;margin-bottom:16px}.auth-brand__title{font-size:19px;font-weight:700}.auth-brand__sub{color:var(--c-text-3);font-size:12px;margin-top:2px}.seg{display:flex;background:var(--c-surface-3);border-radius:var(--radius);padding:2px;margin-bottom:14px}.seg__item{flex:1;text-align:center;padding:6px 0;border-radius:var(--radius-s);font-size:13px;color:var(--c-text-2);cursor:pointer;border:none;background:none;font-family:inherit}.seg__item.is-active{background:var(--c-surface);color:var(--c-primary);font-weight:600;box-shadow:var(--shadow-s)}.seg--inline{flex:0 0 auto;margin-bottom:0}.seg--inline .seg__item{flex:0 0 auto;padding:6px 14px}.seg__item:disabled{opacity:.6;cursor:default}.auth-foot{margin-top:14px;display:flex;justify-content:space-between;font-size:12px;color:var(--c-text-3)}.steps{display:flex;gap:8px;margin-bottom:14px}.step{flex:1;font-size:11px;color:var(--c-text-3);border-top:2px solid var(--c-border);padding-top:5px}.step.is-active{color:var(--c-primary);border-top-color:var(--c-primary);font-weight:600}.step.is-done{color:var(--c-success);border-top-color:var(--c-success)}.qr-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius)}.qr-box svg{display:block;width:208px;height:208px}.pay-amount{font-size:26px;font-weight:700;color:var(--c-danger);font-variant-numeric:tabular-nums}.price-row{display:flex;align-items:baseline;gap:6px}.price-now{font-size:19px;font-weight:700;color:var(--c-text)}.text-2{color:var(--c-text-2)}.text-3{color:var(--c-text-3)}.text-danger{color:var(--c-danger)}.text-success{color:var(--c-success)}.text-warn{color:var(--c-warn)}.text-right{text-align:right}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:inline-block;vertical-align:bottom}.mb-0{margin-bottom:0}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.ml-8{margin-left:8px}.ml-12{margin-left:12px}.row{display:flex;align-items:center;gap:8px}.row--between{justify-content:space-between}.wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.section-title{font-size:13px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}:root{color-scheme:light;--c-bg: #f5f5f7;--c-surface: #fff;--c-surface-2: #fafafb;--c-surface-3: #ededf0;--c-border: #e4e4e8;--c-border-strong: #ceced4;--c-text: #1d1d1f;--c-text-2: #57575e;--c-text-3: #6e6e76;--c-primary: #0066cc;--c-primary-hover: #0055ad;--c-primary-weak: #eaf3ff;--c-success: #26733d;--c-success-weak: #eaf5ed;--c-warn: #936000;--c-warn-weak: #fff5df;--c-danger: #c83230;--c-danger-weak: #fff0ef;--c-info: #34658d;--c-info-weak: #edf4fa;--c-purple: #7549ad;--c-purple-weak: #f3edf9;--c-sidebar: #ededf0;--c-toolbar: rgba(250, 250, 252, .92);--c-nav-active: #0068d5;--radius-s: 6px;--radius: 8px;--radius-l: 14px;--sidebar-w: 236px;--shadow-s: 0 1px 3px rgba(20, 20, 32, .06);--shadow: 0 6px 24px rgba(20, 20, 32, .08);--shadow-l: 0 20px 64px rgba(20, 20, 32, .2)}html[data-theme=dark]{color-scheme:dark;--c-bg: #1c1c1e;--c-surface: #262628;--c-surface-2: #2c2c2e;--c-surface-3: #353538;--c-border: #3c3c40;--c-border-strong: #54545b;--c-text: #f5f5f7;--c-text-2: #c2c2c9;--c-text-3: #a1a1aa;--c-primary: #80b8ff;--c-primary-hover: #a5ceff;--c-primary-weak: #24364e;--c-success: #81ce94;--c-success-weak: #243b2b;--c-warn: #eac474;--c-warn-weak: #433720;--c-danger: #ff9690;--c-danger-weak: #462b2c;--c-info: #9cc7ed;--c-info-weak: #273b4b;--c-purple: #c6a6ed;--c-purple-weak: #3c304b;--c-sidebar: #242426;--c-toolbar: rgba(32, 32, 34, .94);--c-nav-active: #0068d5;--shadow-s: 0 1px 3px rgba(0, 0, 0, .15);--shadow: 0 6px 24px rgba(0, 0, 0, .22);--shadow-l: 0 20px 64px rgba(0, 0, 0, .38)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;letter-spacing:.01em}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}::selection{background:var(--c-primary-weak);color:var(--c-text)}:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}input,textarea{caret-color:var(--c-primary)}input::placeholder,textarea::placeholder{color:var(--c-text-3);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}.admin-icon{flex-shrink:0;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:10px 16px;background:var(--c-surface);border-radius:var(--radius)}.skip-link:focus{top:12px}.sidebar{background:var(--c-sidebar);border-right-color:var(--c-border);height:100dvh;z-index:30}.sidebar__brand{display:flex;align-items:center;gap:12px;padding:28px 22px 25px;border:0}.brand-mark{width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#06c;color:#fff;border-radius:12px}.sidebar__brand-title{font-size:17px;letter-spacing:-.02em;line-height:1.5}.sidebar__brand-sub{font-size:11px;color:var(--c-text-2);margin-top:1px}.sidebar__nav{padding:0 12px 16px}.nav-group+.nav-group{margin-top:20px}.nav-group__label{color:var(--c-text-3);padding:0 12px 8px;font-size:11px;font-weight:600;letter-spacing:.03em}.nav-item{min-height:44px;gap:10px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--c-text);margin-bottom:3px;transition:background .15s,color .15s}.nav-item:hover{background:var(--c-surface-3)}.nav-item.is-active{background:var(--c-nav-active);color:#fff;font-weight:600}.nav-item__icon{width:27px;height:27px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#577b9f;color:#fff;border-radius:7px}.nav-item__icon--admin-users{background:#487ba7}.nav-item__icon--admin-orders{background:#c08036}.nav-item__icon--admin-redeem{background:#9068b6}.nav-item__icon--admin-items{background:#529477}.nav-item__icon--admin-channels{background:#738c64}.nav-item__icon--admin-mail{background:#508fae}.nav-item__icon--admin-ai{background:#696daf}.nav-item__icon--admin-audit{background:#7d818e}.nav-item.is-active .nav-item__icon{background:#ffffff2e}.sidebar__foot{margin:0 16px;padding:18px 0 20px;border-top:1px solid var(--c-border-strong)}.sidebar-account{display:flex;gap:10px;align-items:center;padding:0 6px;margin-bottom:18px}.account-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:var(--c-surface-3);color:var(--c-text-2);border:1px solid var(--c-border-strong);border-radius:50%}.sidebar-account__copy{min-width:0;display:flex;flex-direction:column}.sidebar-account__copy strong{font-size:12px;color:var(--c-text);font-weight:600;max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account__copy span{font-size:11px;margin-top:1px}.appearance-control{display:flex;padding:3px;background:var(--c-surface-3);border-radius:8px;gap:3px}.appearance-control button{min-height:30px;flex:1;border:0;display:flex;gap:7px;align-items:center;justify-content:center;background:transparent;border-radius:6px;color:var(--c-text-2);cursor:pointer;font-size:12px}.appearance-control button.is-selected{color:var(--c-text);background:var(--c-surface);box-shadow:var(--shadow-s)}.topbar{height:64px;flex-basis:64px;padding:0 32px;gap:16px;background:var(--c-toolbar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topbar__breadcrumb{display:flex;align-items:center;gap:10px;color:var(--c-text-3);font-size:12px;white-space:nowrap}.topbar__breadcrumb strong{color:var(--c-text);font-weight:500}.topbar__permission{font-size:11px}.topbar__logout{color:var(--c-text-2)}.content{padding:34px 32px 48px;width:100%;max-width:1640px;margin:0 auto}.content:focus{outline:none}.page-header{align-items:flex-start;gap:16px;margin-bottom:26px}.page-header>div:first-child{flex:1;min-width:0}.page-header h2{font-size:27px;font-weight:650;letter-spacing:-.025em;line-height:1.35}.page-header .card__sub{margin-top:9px;max-width:850px;font-size:13px;line-height:1.7}.page-header .btn-row{padding-top:3px}.card{box-shadow:none;border-radius:var(--radius-l)}.card__head{padding:19px 20px;flex-wrap:wrap;gap:10px 16px}.card__title{font-size:15px;font-weight:600;flex-shrink:0}.card__head>.card__sub{flex:1 1 360px;min-width:0;line-height:1.75;overflow-wrap:anywhere}.card__head>.flex-1:empty{display:none}.card__sub{font-size:12px;line-height:1.65}.card__body{padding:20px}.card__body--flush{padding:0}.card>.table-wrap:last-child{border-radius:0 0 14px 14px}.grid{gap:16px}.stat{padding:18px 20px}.stat__label{font-size:12px}.stat__value{font-size:28px;letter-spacing:-.025em;font-weight:650;margin:5px 0}.stat__hint{font-size:12px}.btn{height:36px;padding:0 14px;font-size:13px;border-color:var(--c-border-strong);box-shadow:0 1px 1px #00000006}.btn--sm{height:30px;padding:0 11px;font-size:12px}.btn--primary{background:#06c;border-color:#06c;color:#fff}.btn--primary:hover:not(:disabled){background:#0055ad;border-color:#0055ad}.btn--danger{background:#c83230;border-color:#c83230;color:#fff}.btn--danger:hover:not(:disabled){background:#ad2725;border-color:#ad2725;opacity:1}.btn--ghost{border-color:transparent;box-shadow:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5}.field{gap:7px;margin-bottom:18px}.field__label{font-size:13px;color:var(--c-text)}.field__hint,.field__error{font-size:12px;line-height:1.65}.input,.select,.textarea{height:36px;padding:0 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;padding:10px 12px;min-height:90px}.input--sm,.select--sm{height:30px;padding:0 8px;font-size:12px}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px var(--c-primary-weak)}.filter-bar{gap:12px}.checkbox{font-size:13px;min-height:30px}.table th,.table td{padding:13px 16px;font-size:13px}.table--compact th,.table--compact td{padding:11px 14px}.table th{font-size:11px;font-weight:600;color:var(--c-text-3);background:var(--c-surface-2)}.table tbody tr:last-child td{border-bottom:0}.table .btn-row{flex-wrap:nowrap}.table-wrap{scrollbar-gutter:stable}.tag{height:22px;padding:0 8px;border-radius:6px;font-size:11px}.tabs{padding:10px 16px;gap:4px;background:var(--c-surface-2);border-radius:14px 14px 0 0}.tab{padding:7px 18px;border:1px solid transparent;border-radius:7px;font-size:13px;transition:background .15s}.tab:hover{background:var(--c-surface-3)}.tab.is-active{color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-s)}.alert{padding:13px 15px;gap:10px;font-size:12px;line-height:1.7;border-color:transparent}.alert>.admin-icon{margin-top:2px}.pager{padding:14px 18px;flex-wrap:wrap}.state{padding:54px 24px}.state__title{font-size:15px;margin:9px 0 5px}.state__desc{font-size:13px}.overlay{background:#0a0a0f47;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{border-radius:16px;max-height:calc(100dvh - 40px)}.modal__head{padding:20px 24px;font-size:17px}.modal__body{padding:24px}.modal__foot{padding:16px 24px;background:var(--c-surface-2);border-radius:0 0 16px 16px}.drawer__head{padding:20px 24px}.drawer__body{padding:24px}.toast{border-left-width:1px;padding:13px 16px}.auth-page{background:var(--c-bg);padding:76px 24px 40px}.auth-card{border:0;padding:38px;border-radius:22px;box-shadow:var(--shadow)}.auth-card--wide{width:min(480px,100%)}.auth-brand{margin-bottom:28px}.brand-mark--login{width:60px;height:60px;border-radius:17px;margin-bottom:18px}.auth-brand__title{font-size:25px;letter-spacing:-.025em;font-weight:650}.auth-brand__sub{margin-top:7px;font-size:13px}.auth-card .alert{margin-bottom:22px;font-size:12px}.auth-card .input{height:42px}.auth-card .btn--block{height:42px;margin-top:8px}.auth-foot{margin-top:24px;padding-top:18px;border-top:1px solid var(--c-border);font-size:11px;justify-content:center;text-align:center}.auth-theme{position:absolute;top:24px;right:24px}@media(max-width:1100px){:root{--sidebar-w: 212px}.content{padding:28px 24px 40px}.topbar{padding:0 24px}.topbar__permission{display:none}}@media(max-width:760px){:root{--sidebar-w: 74px}.sidebar__brand{justify-content:center;padding:22px 8px}.brand-mark{width:38px;height:38px;border-radius:11px}.sidebar__brand-copy,.nav-item__label,.nav-group__label,.sidebar-account__copy,.appearance-control span{display:none}.sidebar__nav{padding:0 9px}.nav-group+.nav-group{margin-top:14px;padding-top:14px;border-top:1px solid var(--c-border-strong)}.nav-item{justify-content:center;padding:9px 0;min-height:46px}.sidebar__foot{margin:0 9px;padding:13px 0}.sidebar-account{padding:0;justify-content:center;margin-bottom:12px}.appearance-control{flex-direction:column}.appearance-control button{min-height:36px}.topbar{height:56px;flex-basis:56px;padding:0 16px;gap:10px}.topbar__breadcrumb>span,.topbar__breadcrumb>.admin-icon,.topbar__user{display:none}.topbar__logout span{display:none}.topbar__logout{min-width:36px;height:36px}.content{padding:24px 16px 32px}.page-header{margin-bottom:20px}.page-header h2{font-size:24px}.page-header .card__sub{font-size:12px}.card__head,.card__body{padding:16px}.card__body--flush{padding:0}.card__head>.card__sub{flex-basis:100%;order:2}.tabs{padding:8px}.tab{padding:7px 12px}.filter-bar .field{flex:1 1 140px;min-width:0}.input-group{flex-wrap:wrap}.modal__body,.modal__head,.modal__foot{padding:18px}.auth-card{padding:28px 22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.filter-bar .mail-test-recipient{flex:1 1 280px;min-width:0;max-width:100%}dialog.modal-overlay{padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;color:var(--c-text);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}dialog.modal-overlay:not([open]){display:none}dialog.modal-overlay::backdrop{background:#0a0a0f47;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html:has(dialog.modal-overlay[open]){overflow:hidden}.kv__v{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.kv,.kv--wide{grid-template-columns:minmax(0,1fr);gap:4px}.kv__v+.kv__k{margin-top:10px}.kv__v .tag{max-width:100%;height:auto;min-height:22px;white-space:normal;overflow-wrap:anywhere}}.table td.item-feature-cell{min-width:230px;max-width:340px;white-space:normal}.feature-labels{display:flex;flex-wrap:wrap;gap:6px;max-width:310px}.feature-labels .tag{height:auto;min-height:22px;white-space:normal;overflow-wrap:anywhere}.item-feature-details{font-size:12px;margin-top:7px}.item-feature-details summary{cursor:pointer;color:var(--c-primary);padding:3px 0}.item-feature-details ul{list-style:none;padding:0 6px 0 0;margin:10px 0 0;max-height:240px;overflow-y:auto}.item-feature-details li+li{margin-top:12px;padding-top:12px;border-top:1px solid var(--c-border)}.item-feature-details code,.feature-copy code{display:block;color:var(--c-text-3);font-size:11px;overflow-wrap:anywhere;margin-top:3px}.item-feature-details p{margin:5px 0 0;line-height:1.65}.item-feature-fieldset{min-width:0;padding:0;border:0}.item-feature-fieldset>p{margin:4px 0 8px}.feature-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:340px;overflow-y:auto;padding:3px}.feature-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--c-border);border-radius:8px;padding:13px;cursor:pointer;background:var(--c-surface)}.feature-option:hover{background:var(--c-surface-2)}.feature-option.is-selected{border-color:var(--c-primary);background:var(--c-primary-weak)}.feature-option input{flex-shrink:0;margin:4px 0 0;width:15px;height:15px;accent-color:var(--c-primary)}.feature-copy{min-width:0;font-size:13px}.feature-copy strong{font-weight:600}.feature-description{display:block;color:var(--c-text-2);font-size:12px;line-height:1.7;margin-top:7px}.feature-note{display:block;color:var(--c-text-3);margin-top:5px;font-size:11px;line-height:1.7}@media(max-width:760px){.feature-options{grid-template-columns:minmax(0,1fr);max-height:310px}}
