:root{--bg:#0a0a0f;--bg-card:#111118;--bg-input:#1a1a24;--border:#2a2a3a;--text:#e8e8f0;--text-muted:#6b7280;--accent:#6366f1;--accent-hover:#818cf8;--danger:#ef4444;--success:#22c55e;--radius:12px;--font:"Inter", system-ui, -apple-system, sans-serif}[data-portal=client]{--bg:#fafbfc;--bg-card:#fff;--bg-input:#f3f4f6;--border:#e5e7eb;--text:#111827;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:2.5rem}.login-logo{letter-spacing:-.03em;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:500;display:block}.form-group input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s}.form-group input:focus{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.8rem;font-size:.95rem;font-weight:600;transition:background .2s,opacity .2s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--danger);background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.security-badge{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;font-size:.75rem;display:flex}.dashboard-layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);padding:1.5rem}.main-content{padding:2rem}
