*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:var(--admin-bg,#f4f7fb);color:var(--admin-text,#1a2b3c);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}#app{height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c5d4e4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8bdd4}:root{--admin-bg:#f4f7fb;--admin-surface:#fff;--admin-surface-muted:#f8fafc;--admin-border:#e8eef5;--admin-border-light:#f0f4f9;--admin-primary:#3d6b9a;--admin-primary-hover:#345d87;--admin-primary-soft:#e8f0f8;--admin-primary-muted:#6b8fb8;--admin-text:#1a2b3c;--admin-text-secondary:#5c6f82;--admin-text-muted:#8fa3b8;--admin-success:#3d8a6a;--admin-success-bg:#ecf7f1;--admin-warning:#b8860b;--admin-warning-bg:#fef8e8;--admin-danger:#c45c5c;--admin-danger-bg:#fdf0f0;--admin-radius-sm:8px;--admin-radius:12px;--admin-radius-lg:16px;--admin-shadow:0 1px 3px #1a2b3c0f, 0 4px 16px #1a2b3c0a;--admin-shadow-lg:0 8px 32px #1a2b3c14;--admin-sidebar-w:240px;--admin-header-h:60px;--admin-font:"Segoe UI", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}.admin-theme{font-family:var(--admin-font);color:var(--admin-text);background:var(--admin-bg);-webkit-font-smoothing:antialiased;min-height:100vh}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-border-light);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow)}.admin-page-title{color:var(--admin-text);letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:600}.admin-page-desc{color:var(--admin-text-muted);margin:0 0 24px;font-size:14px}.admin-btn{border-radius:var(--admin-radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn-primary{background:var(--admin-primary);color:#fff}.admin-btn-primary:hover:not(:disabled){background:var(--admin-primary-hover);box-shadow:0 2px 8px #3d6b9a40}.admin-btn-ghost{color:var(--admin-text-secondary);border-color:var(--admin-border);background:0 0}.admin-btn-ghost:hover:not(:disabled){background:var(--admin-surface-muted);border-color:var(--admin-primary-muted);color:var(--admin-primary)}.admin-input{border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);background:var(--admin-surface);width:100%;color:var(--admin-text);padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.admin-input:focus{border-color:var(--admin-primary-muted);box-shadow:0 0 0 3px var(--admin-primary-soft);outline:none}.admin-input::placeholder{color:var(--admin-text-muted)}.admin-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.admin-badge-success{background:var(--admin-success-bg);color:var(--admin-success)}.admin-badge-warning{background:var(--admin-warning-bg);color:var(--admin-warning)}.admin-badge-neutral{background:var(--admin-primary-soft);color:var(--admin-primary)}.admin-badge-danger{background:var(--admin-danger-bg);color:var(--admin-danger)}.admin-table-wrap{border-radius:var(--admin-radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--admin-text-muted);background:var(--admin-surface-muted);border-bottom:1px solid var(--admin-border);padding:14px 16px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--admin-border-light);color:var(--admin-text);padding:14px 16px}.admin-table tbody tr:hover td{background:#fafcfe}.admin-table tbody tr:last-child td{border-bottom:none}.admin-empty{text-align:center;color:var(--admin-text-muted);padding:48px 24px;font-size:14px}.admin-error-banner{background:var(--admin-danger-bg);border-radius:var(--admin-radius-sm);color:var(--admin-danger);border:1px solid #f0d4d4;margin-bottom:16px;padding:12px 16px;font-size:14px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.admin-toolbar-spacer{flex:1}.admin-pagination{color:var(--admin-text-secondary);justify-content:flex-end;align-items:center;gap:12px;padding:16px 0 0;font-size:13px;display:flex}
