:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-accent: #22d3ee;--color-bg: #0a0f1e;--color-surface: #111827;--color-surface-2: #1e293b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #1e293b;--color-border-light: #334155;--color-error: #ef4444;--color-success: #10b981;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--font-display: "Sora", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse at 50% 0%,rgba(99,102,241,.08) 0%,transparent 60%),var(--color-bg)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:420px;border:1px solid var(--color-border-light)}.card h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:.5rem;color:var(--color-text)}.card .subtitle{text-align:center;color:var(--color-text-muted);font-size:.875rem;margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-family:var(--font-display);font-size:.8125rem;font-weight:600;margin-bottom:.375rem;color:var(--color-text-muted)}.form-group input{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface-2);transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f133}.form-group input::placeholder{color:#475569}.btn-primary{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s ease;margin-top:.5rem}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 16px #6366f14d}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.error-message{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.8125rem;margin-bottom:1rem;text-align:center}.success-message{background:#10b9811a;color:#6ee7b7;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);padding:1.25rem;text-align:center;font-size:.875rem}.success-message h2{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.5rem}.module-dashboard{text-align:center}.module-dashboard h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.module-dashboard .tenant-badge{display:inline-block;background:#6366f126;color:#a5b4fc;padding:.25rem .75rem;border-radius:999px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;margin-bottom:1rem;border:1px solid rgba(99,102,241,.25)}.btn-logout{background:transparent;border:1px solid var(--color-border-light);color:var(--color-text-muted);padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.8125rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:all .2s}.btn-logout:hover{border-color:var(--color-error);color:#fca5a5;background:#ef444414}.logo{font-size:2rem;margin-bottom:.25rem}
