:root{--ad-red: #c8102e;--ad-red-600: #b00e28;--ad-red-soft: rgba(200, 16, 46, .14);--ad-gold: #d4af37;--ad-gold-dark: #b8860b;--ad-gold-soft: rgba(212, 175, 55, .14);--ad-bg: #141518;--ad-panel: #1c1e22;--ad-panel-2: #212429;--ad-border: #2a2d33;--ad-border-strong: #3a3e46;--ad-text: #e6e8ec;--ad-text-2: #a3a9b4;--ad-text-3: #767d8a;--ad-text-4: #5a616c;--ad-success: #34d399;--ad-success-soft: rgba(52, 211, 153, .14);--ad-warning: #fbbf24;--ad-warning-soft: rgba(251, 191, 36, .14);--ad-danger: #f87171;--ad-danger-soft: rgba(248, 113, 113, .14);--ad-info: #60a5fa;--ad-info-soft: rgba(96, 165, 250, .14);--ad-shadow: 0 10px 30px rgba(0, 0, 0, .35);--ad-shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);--ad-radius-sm: 8px;--ad-radius: 10px;--ad-radius-lg: 14px;--ad-side-w: 226px;--ad-top-h: 62px;--ad-font: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--ad-mono: "JetBrains Mono", "Cascadia Mono", "SFMono-Regular", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--ad-font);font-size:14px;line-height:1.6;color:var(--ad-text);background:var(--ad-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#33373f;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#434852}.ad-row{display:flex;align-items:center}.ad-gap-6{gap:6px}.ad-gap-8{gap:8px}.ad-gap-12{gap:12px}.ad-gap-16{gap:16px}.ad-grow{flex:1;min-width:0}.ad-muted{color:var(--ad-text-2)}.ad-dim{color:var(--ad-text-3)}.ad-mono{font-family:var(--ad-mono);font-size:12px}.ad-text-red{color:var(--ad-red)}.ad-text-green{color:var(--ad-success)}.ad-divider{height:1px;background:var(--ad-border);margin:16px 0}.ad-spin{animation:ad-rotate .9s linear infinite}@keyframes ad-rotate{to{transform:rotate(360deg)}}.ad-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(720px 380px at 18% 0%,rgba(200,16,46,.2),transparent 62%),radial-gradient(620px 340px at 88% 100%,rgba(212,175,55,.12),transparent 64%),var(--ad-bg)}.ad-login__card{width:100%;max-width:400px;background:var(--ad-panel);border:1px solid var(--ad-border);border-radius:16px;box-shadow:var(--ad-shadow-lg);padding:34px 32px}.ad-login__brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.ad-login__title{font-size:21px;font-weight:700;letter-spacing:-.3px}.ad-login__desc{font-size:13px;color:var(--ad-text-2);margin-top:6px}.ad-login__form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.ad-login__foot{margin-top:18px;font-size:12px;color:var(--ad-text-3);text-align:center}.ad-brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--ad-red) 0%,#7d0a1d 100%);color:#f2d27a;display:grid;place-items:center;font-weight:800;font-size:17px;flex-shrink:0}.ad-shell{display:grid;grid-template-columns:var(--ad-side-w) minmax(0,1fr);min-height:100vh}.ad-side{position:sticky;top:0;height:100vh;background:#101114;border-right:1px solid var(--ad-border);display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto}.ad-side__brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px;border-bottom:1px solid var(--ad-border);margin-bottom:14px}.ad-side__brand-title{font-size:15px;font-weight:700;line-height:1.2}.ad-side__brand-sub{font-size:11px;color:var(--ad-text-3)}.ad-side__nav{display:flex;flex-direction:column;gap:3px;flex:1}.ad-side__item{position:relative;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--ad-radius);color:var(--ad-text-2);font-size:13.5px;font-weight:500;transition:background .16s,color .16s}.ad-side__item:hover{background:#191b1f;color:var(--ad-text)}.ad-side__item.is-active{background:var(--ad-red-soft);color:#fff;font-weight:600}.ad-side__item.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--ad-red)}.ad-side__foot{border-top:1px solid var(--ad-border);padding-top:12px;font-size:11.5px;color:var(--ad-text-4);line-height:1.7}.ad-main{min-width:0;display:flex;flex-direction:column;background:var(--ad-bg)}.ad-top{position:sticky;top:0;z-index:40;height:var(--ad-top-h);background:#141518eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ad-border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px}.ad-top__title{font-size:16px;font-weight:700;letter-spacing:-.2px}.ad-top__crumb{font-size:12px;color:var(--ad-text-3);margin-top:1px}.ad-content{padding:20px 22px 32px;flex:1;min-width:0}.ad-admin-chip{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 6px;border-radius:999px;border:1px solid var(--ad-border);background:var(--ad-panel)}.ad-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--ad-red) 0%,var(--ad-gold-dark) 100%);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.ad-btn{--btn-h: 36px;--btn-px: 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--btn-h);padding:0 var(--btn-px);border-radius:var(--ad-radius);border:1px solid transparent;background:transparent;font-size:13.5px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:background .16s,color .16s,border-color .16s,box-shadow .16s;-webkit-user-select:none;user-select:none}.ad-btn:disabled{cursor:not-allowed;opacity:.5}.ad-btn--sm{--btn-h: 30px;--btn-px: 11px;font-size:12.5px;border-radius:8px}.ad-btn--lg{--btn-h: 44px;--btn-px: 22px;font-size:14.5px}.ad-btn--block{width:100%}.ad-btn--primary{background:var(--ad-red);color:#fff;box-shadow:0 6px 16px #c8102e47}.ad-btn--primary:hover:not(:disabled){background:var(--ad-red-600)}.ad-btn--gold{background:var(--ad-gold-dark);color:#fff}.ad-btn--gold:hover:not(:disabled){filter:brightness(1.1)}.ad-btn--outline{border-color:var(--ad-border-strong);background:var(--ad-panel);color:var(--ad-text)}.ad-btn--outline:hover:not(:disabled){border-color:var(--ad-red);color:#fff;background:var(--ad-red-soft)}.ad-btn--ghost{color:var(--ad-text-2)}.ad-btn--ghost:hover:not(:disabled){background:#24272c;color:var(--ad-text)}.ad-btn--danger{background:#c8102ee6;color:#fff}.ad-btn--danger:hover:not(:disabled){background:var(--ad-red)}.ad-btn--text{height:auto;padding:0;color:var(--ad-gold);font-weight:600}.ad-btn--text:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.ad-panel{background:var(--ad-panel);border:1px solid var(--ad-border);border-radius:var(--ad-radius-lg);overflow:hidden}.ad-panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--ad-border);background:var(--ad-panel-2);flex-wrap:wrap}.ad-panel__title{font-size:14px;font-weight:700}.ad-panel__body{padding:18px}.ad-grid{display:grid;gap:16px}.ad-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ad-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.ad-stat{padding:16px 18px;border-radius:var(--ad-radius-lg);border:1px solid var(--ad-border);background:var(--ad-panel);position:relative;overflow:hidden}.ad-stat__label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ad-text-2)}.ad-stat__value{font-size:25px;font-weight:700;letter-spacing:-.6px;margin-top:10px;line-height:1.2}.ad-stat__value--red{color:#ff6b81}.ad-stat__value--gold{color:var(--ad-gold)}.ad-stat__unit{font-size:12px;font-weight:600;color:var(--ad-text-3);margin-left:5px}.ad-stat__foot{margin-top:6px;font-size:12px;color:var(--ad-text-3)}.ad-badge{display:inline-flex;align-items:center;gap:4px;height:21px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap}.ad-badge--success{color:var(--ad-success);background:var(--ad-success-soft)}.ad-badge--warning{color:var(--ad-warning);background:var(--ad-warning-soft)}.ad-badge--danger{color:var(--ad-danger);background:var(--ad-danger-soft)}.ad-badge--info{color:var(--ad-info);background:var(--ad-info-soft)}.ad-badge--red{color:#ff8095;background:var(--ad-red-soft)}.ad-badge--gold{color:var(--ad-gold);background:var(--ad-gold-soft)}.ad-badge--neutral{color:var(--ad-text-2);background:#26282e}.ad-field{display:flex;flex-direction:column;gap:6px}.ad-field__label{font-size:12.5px;font-weight:600;color:var(--ad-text-2)}.ad-field__label .ad-req{color:var(--ad-red);margin-left:3px}.ad-input-wrap{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;background:#17181c;border:1px solid var(--ad-border-strong);border-radius:var(--ad-radius);transition:border-color .16s,box-shadow .16s}.ad-input-wrap:focus-within{border-color:var(--ad-red);box-shadow:0 0 0 3px #c8102e2e}.ad-input-wrap.is-error{border-color:var(--ad-danger)}.ad-input-wrap.is-disabled{opacity:.6;cursor:not-allowed}.ad-input-wrap__icon{display:inline-flex;color:var(--ad-text-3);flex-shrink:0}.ad-input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font-size:13.5px}.ad-input::placeholder{color:var(--ad-text-4)}.ad-input-wrap__suffix{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--ad-text-3)}.ad-textarea{width:100%;min-height:88px;padding:10px 12px;background:#17181c;border:1px solid var(--ad-border-strong);border-radius:var(--ad-radius);outline:none;resize:vertical;font-size:13.5px;line-height:1.7}.ad-textarea:focus{border-color:var(--ad-red);box-shadow:0 0 0 3px #c8102e2e}.ad-select{height:38px;padding:0 10px;background:#17181c;border:1px solid var(--ad-border-strong);border-radius:var(--ad-radius);outline:none;cursor:pointer;font-size:13.5px}.ad-select:focus{border-color:var(--ad-red)}.ad-field__hint{font-size:11.5px;color:var(--ad-text-3)}.ad-field__error{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ad-danger)}.ad-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.ad-switch__track{width:40px;height:22px;border-radius:999px;background:#34383f;padding:3px;transition:background .18s;flex-shrink:0}.ad-switch__thumb{width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s}.ad-switch.is-on .ad-switch__track{background:var(--ad-red)}.ad-switch.is-on .ad-switch__thumb{transform:translate(18px)}.ad-table-wrap{width:100%;overflow-x:auto}.ad-table{width:100%;border-collapse:separate;border-spacing:0}.ad-table th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--ad-text-3);background:var(--ad-panel-2);padding:11px 14px;border-bottom:1px solid var(--ad-border);white-space:nowrap}.ad-table td{padding:12px 14px;border-bottom:1px solid var(--ad-border);font-size:13px;color:var(--ad-text);vertical-align:middle}.ad-table tbody tr:hover td{background:#202329}.ad-table tbody tr:last-child td{border-bottom:none}.ad-table__skeleton{height:11px;border-radius:6px;background:linear-gradient(90deg,#24272c 25%,#2e3238 37%,#24272c 63%);background-size:400% 100%;animation:ad-shimmer 1.3s ease infinite}@keyframes ad-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ad-skeleton{border-radius:8px;background:linear-gradient(90deg,#24272c 25%,#2e3238 37%,#24272c 63%);background-size:400% 100%;animation:ad-shimmer 1.3s ease infinite}.ad-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:48px 20px;color:var(--ad-text-3);text-align:center}.ad-empty__icon{width:52px;height:52px;border-radius:50%;background:#24272c;display:grid;place-items:center;color:var(--ad-text-3)}.ad-empty__title{font-size:13.5px;font-weight:600;color:var(--ad-text-2)}.ad-empty__desc{font-size:12px;color:var(--ad-text-3);max-width:400px;line-height:1.8}.ad-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid var(--ad-border);flex-wrap:wrap}.ad-pager__info{font-size:12px;color:var(--ad-text-3);display:flex;align-items:center;gap:10px}.ad-pager__list{display:flex;align-items:center;gap:5px}.ad-pager__btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--ad-border-strong);border-radius:7px;background:var(--ad-panel);color:var(--ad-text-2);font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .16s}.ad-pager__btn:hover:not(:disabled):not(.is-active){border-color:var(--ad-red);color:#fff}.ad-pager__btn.is-active{background:var(--ad-red);border-color:var(--ad-red);color:#fff}.ad-pager__btn:disabled{opacity:.4;cursor:not-allowed}.ad-pager__ellipsis{color:var(--ad-text-3);padding:0 2px}.ad-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000009e;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px 40px;overflow-y:auto}.ad-modal{width:100%;max-width:560px;background:var(--ad-panel);border:1px solid var(--ad-border-strong);border-radius:var(--ad-radius-lg);box-shadow:var(--ad-shadow-lg);overflow:hidden}.ad-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ad-border);background:var(--ad-panel-2)}.ad-modal__title{font-size:15px;font-weight:700}.ad-modal__close{width:28px;height:28px;border:none;border-radius:7px;background:transparent;color:var(--ad-text-3);cursor:pointer;display:grid;place-items:center;transition:all .16s}.ad-modal__close:hover{background:#2a2d33;color:var(--ad-text)}.ad-modal__body{padding:20px;max-height:68vh;overflow-y:auto}.ad-modal__foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--ad-border);background:var(--ad-panel-2)}.ad-toast-host{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:9px;align-items:center;pointer-events:none}.ad-toast{display:flex;align-items:center;gap:9px;min-width:220px;max-width:460px;padding:10px 15px;border-radius:var(--ad-radius);background:#24272c;border:1px solid var(--ad-border-strong);box-shadow:var(--ad-shadow);font-size:13px;font-weight:500;pointer-events:auto}.ad-toast--success{border-color:#34d39966}.ad-toast--error{border-color:#f8717173}.ad-toast--warning{border-color:#fbbf2466}.ad-toast--info{border-color:#60a5fa66}.ad-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ad-form-grid--full{grid-column:1 / -1}.ad-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width: 1500px){.ad-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1200px){.ad-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-grid--2,.ad-grid--3,.ad-form-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 960px){.ad-shell{grid-template-columns:72px minmax(0,1fr)}.ad-side__item span,.ad-side__brand-text{display:none}.ad-side__item{justify-content:center}}
