*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:#f8f9fc;color:#1a2035;min-height:100vh}a{color:inherit;text-decoration:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}:root{--bg-page:#f4f6f9;--bg-card:#fff;--bg-sidebar:#fff;--bg-navbar:#fff;--bg-input:#f8f9fc;--bg-hover:#f0f2f6;--bg-badge:#ebf2ff;--border:#e8ecf0;--border-strong:#d1d5db;--accent:#3b7ddd;--accent-hover:#2d6bc4;--accent-light:#ebf2ff;--accent-text:#1f4e79;--text-primary:#1a2035;--text-secondary:#6b7a99;--text-muted:#9ca3af;--success:#22c55e;--success-bg:#f0fff4;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fff5f5;--sidebar-width:220px}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .2s,color .2s}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.navbar{background:var(--bg-navbar);border-bottom:1px solid var(--border)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);width:var(--sidebar-width)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.bg-page{background:var(--bg-page)}.bg-card{background:var(--bg-card)}.bg-hover:hover{background:var(--bg-hover)}.border-default{border:1px solid var(--border)}.badge-accent{background:var(--bg-badge);color:var(--accent-text);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}.btn-accent{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--border-strong)}.status-success{color:var(--success);background:var(--success-bg)}.status-warning{color:var(--warning);background:var(--warning-bg)}.status-danger{color:var(--danger);background:var(--danger-bg)}.card,.navbar,.sidebar,button,input,select,textarea{transition:background .2s,border-color .2s,color .2s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}