:root{--blue:#0874ef;--ink:#101114;--muted:#686d76;--canvas:#f5f7fa;--line:#e3e7ed;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.4 Inter,Segoe UI,Arial,sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px rgba(30,50,80,.12)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(145deg,#168bff,#0565dc)}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:var(--muted)}.heading{margin:32px 0 20px}.heading h1{margin:0 0 5px;font-size:25px}.heading p{margin:0;color:var(--muted)}form{display:grid;gap:15px}label{color:var(--muted);font-size:13px;font-weight:600}input{width:100%;height:46px;margin-top:6px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:#f7f8fa;color:var(--ink);font:inherit;outline:none}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,116,239,.1)}button{height:46px;border:0;border-radius:14px;background:var(--blue);color:#fff;font:600 15px/1 inherit;cursor:pointer}button:disabled{opacity:.65;cursor:wait}.error{padding:11px 13px;border-radius:12px;background:#fff0ef;color:var(--danger)}
