:root{--bg-base: #0b0e11;--bg-elevated: #0f1214;--bg-card: #181a20;--bg-card-hover: #1e2329;--bg-input: #1e2329;--border-color: #2b3139;--border-hover: #3d4550;--text-primary: #eaecef;--text-secondary: #848e9c;--text-disabled: #5e6673;--accent-yellow: #fcd535;--accent-yellow-dark: #e6ba1a;--up-green: #0ecb81;--down-red: #f6465d;--shadow: 0 2px 8px rgba(0, 0, 0, .4);--radius: 4px;--radius-lg: 8px;--font-mono: "SFMono-Regular", Consolas, "Roboto Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-yellow);text-decoration:none}a:hover{opacity:.85}.admin-layout{display:flex;min-height:100vh}.sidebar{width:216px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border-color);padding:16px 10px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:8px;padding:4px 10px 18px;font-weight:800;font-size:16px}.sidebar .brand .logo-badge{background:var(--accent-yellow);color:#0b0e11;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}.sidebar .menu-label{color:var(--text-disabled);font-size:11px;padding:10px 12px 4px;letter-spacing:.5px}.sidebar a.menu-item{display:flex;align-items:center;gap:10px;color:var(--text-secondary);padding:9px 12px;border-radius:var(--radius);font-weight:600;font-size:13.5px;transition:all .15s}.sidebar a.menu-item:hover{color:var(--text-primary);background:var(--bg-card)}.sidebar a.menu-item.active{color:var(--accent-yellow);background:var(--bg-card)}.sidebar .menu-icon{width:18px;text-align:center}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{height:56px;background:var(--bg-elevated);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 20px;gap:12px}.admin-topbar .title{font-weight:700;font-size:15px}.admin-topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.admin-content{flex:1;padding:20px;max-width:1400px;width:100%;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.card-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}table.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:var(--text-secondary);font-weight:500;font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:10px;border-bottom:1px solid rgba(43,49,57,.5);font-size:13.5px;white-space:nowrap}.data-table tbody tr{cursor:pointer;transition:background .12s}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table .num{font-family:var(--font-mono);text-align:right}.table-wrap{overflow-x:auto}.up{color:var(--up-green)!important}.down{color:var(--down-red)!important}.flat{color:var(--text-secondary)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:all .15s;background:var(--bg-input);color:var(--text-primary)}.btn:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.btn-primary{background:var(--accent-yellow);color:#0b0e11;border-color:var(--accent-yellow)}.btn-primary:hover{background:var(--accent-yellow-dark);border-color:var(--accent-yellow-dark)}.btn-danger{background:transparent;color:var(--down-red);border-color:var(--down-red)}.btn-danger:hover{background:#f6465d1f}.btn-sm{padding:5px 12px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.form-group{margin-bottom:14px}.form-label{display:block;color:var(--text-secondary);font-size:13px;margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;transition:border .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-yellow)}.form-select option{background:var(--bg-card)}.form-hint{color:var(--text-disabled);font-size:12px;margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.stat-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px}.stat-box .label{color:var(--text-secondary);font-size:12px;margin-bottom:6px}.stat-box .value{font-family:var(--font-mono);font-size:19px;font-weight:700}.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:600}.badge-green{background:#0ecb8126;color:var(--up-green)}.badge-red{background:#f6465d26;color:var(--down-red)}.badge-yellow{background:#fcd53526;color:var(--accent-yellow)}.badge-gray{background:#848e9c26;color:var(--text-secondary)}.switch{position:relative;display:inline-block;width:42px;height:22px;vertical-align:middle}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border-color);border-radius:22px;transition:.2s;cursor:pointer}.switch .slider:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;left:3px;top:3px;background:var(--text-primary);transition:.2s}.switch input:checked+.slider{background:var(--up-green)}.switch input:checked+.slider:before{transform:translate(20px)}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs .tab{padding:7px 16px;border-radius:var(--radius);cursor:pointer;background:var(--bg-input);color:var(--text-secondary);font-size:13px;font-weight:600;border:1px solid var(--border-color)}.tabs .tab.active{background:var(--bg-card-hover);color:var(--accent-yellow);border-color:var(--border-hover)}.empty{text-align:center;color:var(--text-disabled);padding:40px 16px;font-size:13.5px}.notice{background:#fcd5351a;border:1px solid rgba(252,213,53,.35);color:var(--accent-yellow);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px}.notice-danger{background:#f6465d1a;border:1px solid rgba(246,70,93,.35);color:var(--down-red);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:100%;max-width:460px;background:var(--bg-card);border:1px solid var(--border-hover);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow)}.chart-wrap-sm{height:280px;width:100%}.range-tabs{display:inline-flex;background:var(--bg-input);border-radius:var(--radius);padding:2px;gap:2px}.range-tabs button{border:none;background:transparent;color:var(--text-secondary);padding:6px 14px;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600}.range-tabs button.active{background:var(--bg-card-hover);color:var(--accent-yellow)}.toast-wrap{position:fixed;top:66px;right:16px;z-index:999;display:flex;flex-direction:column;gap:8px}.toast{background:var(--bg-card-hover);border:1px solid var(--border-hover);color:var(--text-primary);border-radius:var(--radius);padding:10px 16px;font-size:13.5px;box-shadow:var(--shadow);animation:slideIn .2s ease}.toast.success{border-left:3px solid var(--up-green)}.toast.error{border-left:3px solid var(--down-red)}.toast.info{border-left:3px solid var(--accent-yellow)}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:none;opacity:1}}@media (max-width: 768px){.admin-layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:10px}.sidebar .brand{padding:0 8px 0 0}.sidebar .menu-label{display:none}.admin-content{padding:12px}.data-table td{font-size:12.5px;padding:8px 6px}}
