:root{
  color-scheme: light;
  --ink:#0b0b0b; --ink-2:#52514e; --muted:#898781; --ring:rgba(11,11,11,.10);
  --font:Roboto,"Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  font:400 16px/1.45 var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 500px at 10% -10%,rgba(42,120,214,.10),transparent 60%),
    radial-gradient(800px 500px at 100% 110%,rgba(27,175,122,.10),transparent 60%),#f2f2ef;
}
h1{font-weight:400}
.login{min-height:100vh;display:grid;place-items:center;padding:16px}
.login-card{
  width:100%;max-width:400px;display:flex;flex-direction:column;
  padding:28px 28px 22px;border-radius:18px;background:linear-gradient(165deg,#fff 0%,#fbfdff 55%,#f4f8fd 100%);
  border:1px solid #e6ecf5;box-shadow:0 14px 36px rgba(30,58,138,.10),0 2px 6px rgba(15,23,42,.05);
}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.brand img{width:72px;height:auto;flex:0 0 auto}
.brand h1{font-size:18px;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}
.brand p{margin-top:2px;font-size:11px;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}
label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
input[type=text],input[type=password]{
  font:inherit;width:100%;padding:11px 14px;border-radius:12px;border:1px solid #cfe0ea;background:#fff;color:var(--ink);
}
input[type=text]:focus,input[type=password]:focus{outline:none;border-color:#2a78d6;box-shadow:0 0 0 3px rgba(42,120,214,.18)}
.check{display:flex;align-items:center;gap:8px;margin:16px 0 4px;font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-2);cursor:pointer}
.check input{width:16px;height:16px;accent-color:#1baf7a}
button{
  margin-top:16px;font:inherit;font-size:15px;letter-spacing:.06em;cursor:pointer;
  padding:12px 16px;border:0;border-radius:12px;color:#fff;
  background:linear-gradient(175deg,#1e3a8a 0%,#2a78d6 70%,#3f8fe4 100%);
  box-shadow:0 6px 16px rgba(42,120,214,.28);
}
button:hover{filter:brightness(1.06)}
button:focus-visible{outline:2px solid #1e3a8a;outline-offset:3px}
.msg{margin-bottom:6px;padding:10px 12px;border-radius:10px;font-size:14px}
.msg.err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.msg.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.fine{margin-top:16px;text-align:center;font-size:11px;color:var(--muted)}
