:root{--bg-dark:#202124;--bg-soft:#eee;--card:#fff;--brand:#2fc7dd;--text:#23262d;--muted:#6f7683;--danger-bg:#ffe7e7;--danger-border:#c62828}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 15%,#f5f5f5 0,#dedede 38%,#cfcfcf);color:var(--text);font-family:Raleway,sans-serif;margin:0}.screen,body{min-height:100vh}.screen{display:grid;padding:24px;place-items:center}.panel{background:var(--card);border-radius:22px;box-shadow:0 30px 60px #1e1f2338;overflow:hidden;padding:30px;position:relative;width:min(420px,100%)}.panel:after{background:linear-gradient(135deg,var(--brand),#8de6f1);border-radius:28px;bottom:-50px;content:"";height:140px;opacity:.5;position:absolute;right:-50px;transform:rotate(20deg);width:140px}.brand{align-items:center;display:flex;gap:10px;margin-bottom:18px}.brand-dot{background:var(--brand);border-radius:100%;box-shadow:0 0 0 6px #2fc7dd29;height:12px;width:12px}.brand-name{color:var(--muted);font-size:14px;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}h1{font-size:34px;line-height:1.1;margin:0}.subtitle{color:var(--muted);margin:10px 0 22px}.alert{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:10px;font-size:14px;margin-bottom:16px;padding:10px 12px}.alert p{margin:4px 0}.login-form{display:grid;gap:10px}label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}input{background:#fff;border:1px solid #d7dce2;border-radius:10px;font-size:15px;height:46px;padding:0 12px;width:100%}input:focus{border-color:var(--brand);outline:2px solid rgba(47,199,221,.25)}button{background:linear-gradient(90deg,#22b9cf,var(--brand));border:0;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;height:48px;letter-spacing:.05em;margin-top:12px;text-transform:uppercase}button:hover{filter:brightness(.96)}.forgot{color:var(--text);display:inline-block;font-size:14px;margin-top:14px;text-decoration:none}.forgot:hover{text-decoration:underline}@media (max-width:1023px){.panel{border-radius:16px;padding:22px}h1{font-size:28px}}
