:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#10213f;
  background:#f4f7fb;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}
body{margin:0;background:#f4f7fb;color:#10213f;line-height:1.65}
a{color:#174ea6;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.public-shell{min-height:100vh;padding:32px 18px 48px}
.public-wrap{width:min(920px,100%);margin:0 auto}
.public-head,.public-card{background:#fff;border:1px solid #e1e7f0;border-radius:22px;box-shadow:0 10px 28px rgba(23,43,82,.06)}
.public-head{padding:28px;margin-bottom:18px;display:flex;gap:22px;align-items:center}
.public-logo{width:86px;height:86px;object-fit:contain;border-radius:18px;background:#172b52;padding:8px}
.public-kicker{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#526580}
h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:0 0 8px;color:#0d1d38}
.public-subtitle{margin:0;color:#5c6c82}
.public-card{padding:30px;margin-bottom:18px}
.public-card h2{font-size:1.25rem;margin:28px 0 8px;color:#10213f}
.public-card h2:first-child{margin-top:0}
.public-card h3{font-size:1rem;margin:20px 0 6px}
.public-card p,.public-card li{color:#33465f}
.public-card ul{padding-left:22px}
.public-callout{border-left:4px solid #ffb83e;background:#fff8e9;padding:14px 16px;border-radius:0 14px 14px 0;margin:18px 0}
.public-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.public-links a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #d9e1ec;border-radius:12px;text-decoration:none;font-weight:700;background:#fff}
.public-footer{padding:8px 4px;text-align:center;color:#6d7a8c;font-size:.9rem}
.public-footer a{margin:0 7px}
.login-public-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:.88rem}
.login-public-links a{color:#526580}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f1f4f8;border-radius:6px;padding:2px 5px}
@media(max-width:640px){
  .public-shell{padding:16px 12px 32px}
  .public-head{padding:20px;align-items:flex-start;gap:14px;border-radius:18px}
  .public-logo{width:64px;height:64px;border-radius:14px}
  .public-card{padding:22px 18px;border-radius:18px}
  .public-links{display:grid;grid-template-columns:1fr}
  .public-links a{justify-content:center}
}
