:root{--ink:#172c3c;--muted:#6c7a86;--accent:#245ddb;--bs-primary:#245ddb;--bs-primary-rgb:36,93,219}
*{box-sizing:border-box}
body{min-height:100svh;display:flex;flex-direction:column;color:var(--ink);background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:3px}
.site-header,.site-footer{width:min(1120px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 40px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:23px;font-weight:650;letter-spacing:-.8px;text-decoration:none}
.login-link{font-size:14px;font-weight:550;text-decoration:none}.login-link span{margin-left:7px}
.form-signin{max-width:438px;padding:60px 24px 72px}
.mail-symbol{width:82px;height:82px;border-radius:23px;background:#f0f5ff;display:grid;place-items:center;margin-bottom:30px}
h1{font-size:34px;line-height:1.18;font-weight:650;letter-spacing:-1.2px;margin-bottom:16px}
.intro{font-size:17px;line-height:1.6;color:var(--muted);margin-bottom:36px}
.form-label{font-size:14px;font-weight:550;margin-bottom:10px}.address-group{border:1px solid #d4dce5;border-radius:10px;overflow:hidden;flex-wrap:nowrap}
.address-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #245ddb14}.address-group.is-invalid{border-color:#be3542}
.address-group .form-control{min-width:0;padding:15px 14px;border:0;box-shadow:none!important;font-size:16px;color:var(--ink)}
.address-group .input-group-text{padding:15px 12px;background:#f8fafc;border:0;border-left:1px solid #e4e9f0;font-size:14px;color:#607387;white-space:nowrap}
.form-text{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}.error-message{font-size:13px;color:#b02a37;margin:10px 0 0;line-height:1.5}
.register-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-radius:10px;background:var(--accent);border-color:var(--accent);font-weight:550;font-size:15px;margin-top:26px}
.register-button:hover{background:#184cc1;border-color:#184cc1}.register-button:disabled{background:#245ddb;border-color:#245ddb;opacity:.55}
.consent{font-size:12px;line-height:1.7;text-align:center;color:var(--muted);margin:17px 0 0}.consent a{color:inherit}
.pending{margin-top:28px;padding:24px 20px;border:1px solid #dfe7f6;border-radius:12px;background:#f8faff;text-align:center;outline:none}.pending .spinner-border{color:var(--accent);width:22px;height:22px;border-width:2px;margin-bottom:13px}
.pending h2{font-size:18px;letter-spacing:-.3px;font-weight:600;margin-bottom:10px}.requested-address{font-size:14px;color:var(--accent);font-weight:550;margin:0;overflow-wrap:anywhere}.pending-note{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.site-footer{padding-block:28px;font-size:12px;color:#87929d}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.terms{width:min(680px,100%);padding:50px 24px 80px;margin:auto}.terms h1{font-size:30px;margin-bottom:30px}.terms h2{font-size:18px;font-weight:600;margin:28px 0 12px}.terms p{font-size:15px;line-height:1.8;color:#536473}.terms .back-link{display:inline-block;margin-top:25px;font-size:14px}
@media(max-width:480px){.site-header{padding:24px}.brand{font-size:21px}.login-link{font-size:12px}.form-signin{padding-top:36px;padding-bottom:45px;max-width:420px}h1{font-size:31px}.intro{font-size:16px;margin-bottom:30px}.mail-symbol{margin-bottom:27px}.site-footer{padding:24px;gap:16px}.address-group .input-group-text{font-size:12px;padding-inline:9px}.address-group .form-control{padding-inline:12px}.register-button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.spinner-border{animation:none}}
