.login-page{--bg-deep: #050519;--bg-card-dark: #0a1538;--navy: #131f4a;--navy-ink: #1a1a2e;--orange: #4f6df5;--orange-hover: #3b54c8;--ink: #1a1a2e;--text-muted: #6b7280;--input-bg: #f3f5fb;--input-border: #e3e7f1;--tag-bg: #f4f4f1;min-height:100vh;color:var(--ink);background:var(--bg-deep);background-image:radial-gradient(ellipse 60% 50% at 18% 28%,rgba(54,72,140,.55),transparent 60%),radial-gradient(ellipse 50% 45% at 82% 72%,rgba(168,95,60,.32),transparent 60%),radial-gradient(ellipse 70% 60% at 50% 100%,rgba(20,32,80,.6),transparent 70%),linear-gradient(180deg,#060616,#0a0e2a);background-attachment:fixed;font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.login-page .stage{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.login-page .card{width:100%;max-width:1040px;display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #0505146b;background:#fff;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width: 880px){.login-page .card{grid-template-columns:1fr}.login-page .right{display:none}}.login-page .left{padding:44px 52px;background:#fff;display:flex;flex-direction:column}.login-page .right{padding:44px 52px;background:var(--bg-card-dark);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-page .right:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 100%,rgba(79,109,245,.18),transparent 50%),radial-gradient(circle at 0% 0%,rgba(64,90,180,.18),transparent 55%);pointer-events:none}.login-page .right>*{position:relative;z-index:1}.login-page .brand{display:flex;align-items:center;gap:10px;margin-bottom:40px}.login-page .brand .mark{width:36px;height:36px;flex:none;display:grid;place-items:center}.login-page .brand .name{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-ink)}.login-page .tag{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--tag-bg);color:var(--navy-ink);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.login-page .tag.on-dark{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15)}.login-page .tag .sparkle{display:inline-flex;color:var(--orange)}.login-page .tag.on-dark .sparkle{color:#fff;opacity:.9}.login-page h1{margin:18px 0 14px;font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--navy-ink)}.login-page .sub{color:var(--text-muted);font-size:14px;line-height:1.55;max-width:360px;margin:0}.login-page form{margin-top:30px;display:flex;flex-direction:column;gap:14px}.login-page .field-label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-ink);margin-bottom:8px}.login-page .input-wrap{position:relative}.login-page .input-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.login-page .input{width:100%;height:46px;border-radius:10px;background:var(--input-bg);border:1px solid var(--input-border);padding:0 12px 0 38px;font:inherit;font-size:14px;color:var(--navy-ink);outline:none;transition:border-color .12s,box-shadow .12s,background .12s}.login-page .input::placeholder{color:#9aa0b4}.login-page .input:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px #4f6df52e}.login-page .err{font-size:12px;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:8px 12px;border-radius:10px;animation:lfade .15s ease both}@keyframes lfade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.login-page .btn-primary{width:100%;height:48px;border-radius:10px;background:var(--orange);color:#fff;border:0;cursor:pointer;font-weight:600;font-size:14.5px;transition:background .14s,transform 60ms ease;margin-top:4px}.login-page .btn-primary:hover{background:var(--orange-hover)}.login-page .btn-primary:active{transform:translateY(1px)}.login-page .demo{color:var(--text-muted);font-size:12px;margin-top:6px}.login-page .demo b{color:var(--navy-ink);font-weight:600}.login-page .pitch{margin-top:22px;font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.015em;color:#fff}.login-page .pitch-sub{margin-top:14px;color:#ffffffb8;font-size:14px;line-height:1.6;max-width:360px}.login-page .meta{display:flex;flex-direction:column;gap:10px}.login-page .meta .pill{border:1px solid rgba(255,255,255,.15);background:#ffffff0a;border-radius:12px;padding:12px 14px}.login-page .meta .pill .label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c}.login-page .meta .pill .value{margin-top:4px;font-size:17px;font-weight:700;color:#fff}:root{--bg: #fafaf8;--surface: #ffffff;--border: #ebebe8;--border-strong: #d8d8d3;--ink: #1a1a2e;--ink-soft: #4b5563;--muted: #94a3b8;--muted-2: #9ca3af;--primary: #4f6df5;--primary-ink: #2845a8;--primary-tint: #eef2ff;--selected-bg: #1a1a2e;--selected-fg: #ffffff;--chip-bg: #f4f4f1;--chip-ink: #1a1a2e;--row-hover: #faf9f6;--shadow-card: 0 1px 0 rgba(20, 20, 30, .03), 0 1px 2px rgba(20, 20, 30, .04);--shadow-pop: 0 10px 28px rgba(20, 20, 30, .1), 0 2px 8px rgba(20, 20, 30, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink)}body{font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:"ss01"}.serif{font-family:"Instrument Serif",serif;font-style:italic}button{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#e3e3df;border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#cfcfc9}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.anim-fade{animation:fadeIn .2s ease both}.anim-slide{animation:slideInRight .22s cubic-bezier(.2,.7,.2,1) both}
