:root{--bg-primary: #f5f5f5;--bg-secondary: #e9ecef;--bg-card: white;--text-primary: #333;--text-secondary: #666;--text-muted: #999;--border-color: #ddd;--border-light: #eee;--primary: #0066cc;--primary-hover: #0052a3;--secondary: #6c757d;--secondary-hover: #5a6268;--danger: #dc3545;--danger-hover: #c82333;--success: #28a745;--warning: #ffc107;--sidebar-bg: #2c3e50;--sidebar-border: #34495e;--sidebar-text: #ecf0f1;--navbar-bg: #0066cc;--input-bg: white;--table-header-bg: #f8f9fa;--table-row-hover: #f5f5f5;--shadow-color: rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #1f2937;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: #374151;--border-light: #4b5563;--primary: #3b82f6;--primary-hover: #2563eb;--secondary: #4b5563;--secondary-hover: #374151;--danger: #ef4444;--danger-hover: #dc2626;--success: #10b981;--warning: #f59e0b;--sidebar-bg: #111827;--sidebar-border: #1f2937;--sidebar-text: #e5e7eb;--navbar-bg: #1e40af;--input-bg: #374151;--table-header-bg: #1f2937;--table-row-hover: #374151;--shadow-color: rgba(0, 0, 0, .3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}*{box-sizing:border-box}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;padding:.5rem 1rem;border:none;border-radius:4px;font-size:1rem}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:#fff}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}input,select,textarea{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;width:100%;background-color:var(--input-bg);color:var(--text-primary);transition:background-color .3s,border-color .3s,color .3s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--text-primary)}.form-group{margin-bottom:1rem}.error{color:var(--danger);font-size:.875rem;margin-top:.25rem}.card{background:var(--bg-card);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow-color);transition:background-color .3s}
