/* Login / register / forgot / reset card (dark theme) */
.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.card{background:linear-gradient(180deg,rgba(16,40,120,.55),rgba(9,26,86,.78));border:1px solid #1d3a94;border-radius:20px;padding:24px 28px 28px;box-shadow:0 30px 80px rgba(2,8,40,.5);width:100%;max-width:520px;justify-self:end}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:#071340;border-radius:12px;padding:4px;margin-bottom:22px}
.tabs button{border:0;background:none;padding:12px;border-radius:9px;font:inherit;font-size:.9rem;font-weight:700;color:#b6c6ee;cursor:pointer}
.tabs button[aria-selected=true]{background:#1769ff;color:#fff;box-shadow:0 6px 18px rgba(23,105,255,.45)}
.card form{display:grid;gap:15px}
.field{display:grid;gap:7px;min-width:0}
.lbl{font-size:.78rem;font-weight:600;color:#dbe6ff}.lbl em{font-style:normal;font-weight:500;color:#8fa6dc}
.ctl{display:flex;align-items:center;gap:10px;background:#071340;border:1px solid #1b3689;border-radius:10px;padding:0 14px;color:#7f97d6;transition:border-color .15s;min-width:0}
.ctl:focus-within{border-color:#2f7bff;box-shadow:0 0 0 3px rgba(47,123,255,.25)}
.ctl input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:.85rem;padding:12px 0}
.ctl input::placeholder{color:#6f87c8}
.eye{border:0;background:none;color:#7f97d6;cursor:pointer;padding:4px;display:grid;place-items:center}.eye[aria-pressed=true]{color:#fff}
.field small{color:#8fa6dc;font-size:.74rem}
.radios{display:flex;gap:22px;flex-wrap:wrap}
.rad{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem;color:#e6eeff;position:relative}
.rad input{position:absolute;opacity:0;width:1px;height:1px}
.rad span:before{content:"";display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid #4d78d6;margin-right:8px;vertical-align:-3px;box-sizing:border-box;background:transparent;transition:all .15s}
.rad input:checked+span:before{border-color:#2f7bff;background:radial-gradient(circle,#2f7bff 0 38%,transparent 42%)}
.rad input:focus-visible+span:before{outline:3px solid #7fb0ff;outline-offset:2px}
.forgot{text-align:right;margin-top:-6px}
.portal{margin:0;font-weight:600;color:#b6c6ee;font-size:.9rem}
.go{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;background:#1769ff;color:#fff;font:inherit;font-weight:700;font-size:.95rem;padding:14px;cursor:pointer;box-shadow:0 10px 28px rgba(23,105,255,.45);margin-top:4px}
.go:hover{background:#2a78ff}.go:disabled{opacity:.65;cursor:wait}
.link{border:0;background:none;color:#7fb0ff;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:2px}.link:hover{text-decoration:underline}
.msg{padding:11px 13px;border-radius:10px;margin-bottom:16px;font-size:.85rem;font-weight:600;background:rgba(179,38,30,.2);border:1px solid #b3261e;color:#ffb4ab}
.msg.ok{background:rgba(18,112,74,.25);border-color:#1f9d68;color:#9be8c4}
@media(max-width:900px){
  .card{max-width:none;justify-self:stretch;padding:24px 20px 28px;border-radius:30px}
  .tabs{padding:6px;border-radius:16px;margin-bottom:28px}.tabs button{padding:16px;font-size:1.05rem;border-radius:12px}
  .card form{gap:20px}.lbl{font-size:1rem}.ctl{border-radius:16px;padding:0 18px}.ctl input{font-size:1.05rem;padding:18px 0}.ctl .i{width:22px;height:22px}
  .rad{font-size:1.05rem}.rad span:before{width:24px;height:24px;margin-right:12px;vertical-align:-6px}
  .radios{gap:30px}.forgot{margin-top:-4px}.link{font-size:1rem}
  .go{padding:20px;font-size:1.15rem;border-radius:18px}.field small{font-size:.85rem}
}
