:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-input: #334155;--bg-hover: #334155;--border: #334155;--border-light: #475569;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .15);--success: #22c55e;--success-bg: rgba(34, 197, 94, .15);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .15);--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--sidebar-width: 260px;--topbar-height: 64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:inherit;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;border-radius:var(--radius);font-size:.9rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);text-decoration:none}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light);text-decoration:none}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9;text-decoration:none}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--accent-light);color:var(--accent)}table{width:100%;border-collapse:collapse}table th{text-align:left;padding:12px 16px;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}table td{padding:12px 16px;font-size:.9rem;border-bottom:1px solid var(--border)}table tr:hover td{background:#ffffff05}.page-title{font-size:1.5rem;font-weight:700;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select{width:100%}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin-bottom:16px;font-size:1.2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius);font-size:.9rem;font-weight:500;animation:slideIn .3s;cursor:pointer;min-width:250px}.toast-success{background:#166534;color:#fff}.toast-error{background:#991b1b;color:#fff}.toast-info{background:#1e40af;color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){:root{--sidebar-width: 0px}}
