:root{--bg:#0a0d14;--panel:#111826;--panel2:#161e2e;--line:#1f2a3d;--text:#e8edf5;--muted:#8591a5;--blue:#4da3ff;--green:#4ade9b;--orange:#fb9f3c;--red:#f87171}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.mono{font-family:ui-monospace,"JetBrains Mono",Menlo,monospace}
a{color:var(--blue);text-decoration:none}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:22px}
.logo svg{width:46px;height:46px}
.logo b{color:var(--blue)}
/* login */
.shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.card{width:min(1100px,100%);display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:36px;overflow:hidden;min-height:680px}
.left{padding:54px;display:flex;flex-direction:column}
.left h1{font-size:34px;margin:48px 0 6px;letter-spacing:-.5px}
.left p.sub{color:var(--muted);margin:0 0 28px}
label{display:block;font-size:14px;margin:14px 0 8px}
.lrow{display:flex;justify-content:space-between;align-items:baseline}
.lrow a{font-size:14px}
.field{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:0 14px;height:46px}
.field:focus-within{border-color:var(--blue)}
.field svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:1.8;flex:none}
.field input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit}
.field input::placeholder{color:#5d6a80}
.field button{background:none;border:0;cursor:pointer;padding:0;display:flex}
.check{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:14px;color:#c6cedb}
.check input{width:18px;height:18px;accent-color:var(--blue)}
.btn{width:100%;height:50px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--text);font:600 15px inherit;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.btn.primary{background:var(--blue);color:#06101d;border:0}
.btn.primary:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.6;cursor:wait}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px;margin:22px 0}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.err{color:var(--red);font-size:14px;min-height:20px;margin:8px 0 0}
.foot{margin-top:auto;padding-top:28px;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}
.right{position:relative;border-left:1px solid var(--line);background:radial-gradient(circle,#1a2538 1px,transparent 1px) 0 0/22px 22px,var(--panel);padding:38px 40px;display:flex;flex-direction:column;align-items:center}
.pill{display:inline-flex;gap:8px;align-items:center;background:#15233a;color:#bcd3f5;font-size:13px;font-weight:600;padding:8px 16px;border-radius:99px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--green);display:inline-block}
.right svg.diagram{width:100%;margin:28px 0 auto}
.right h2{font-size:28px;margin:20px 0 8px;letter-spacing:-.4px;text-align:center}
.right p{color:var(--muted);text-align:center;margin:0 0 20px;max-width:440px}
.tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.tags span{background:#15233a;color:#bcd3f5;padding:7px 16px;border-radius:99px;font-size:13px;font-weight:600}
@media(max-width:860px){.card{grid-template-columns:1fr}.right{display:none}.left{padding:32px 24px}}
