.auth-brand { text-align:center; margin:0 0 24px; }
.auth-brand img { display:inline-block; width:auto; height:auto; max-width:200px; max-height:90px; object-fit:contain; }
.guest-auth { margin:0; color:#0d2542; background:linear-gradient(145deg,#e7f3f3,#f5f8fb); font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
.guest-auth *, .guest-auth *::before, .guest-auth *::after { box-sizing:border-box; }
.guest-auth [hidden] { display:none !important; }
.guest-auth-shell { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; }
.guest-auth-card { width:100%; max-width:460px; padding:32px; border:1px solid #dae6e9; border-radius:18px; background:#fff; box-shadow:0 16px 48px rgba(13,37,66,.08); }
.guest-auth .auth-brand img { width:188px; max-width:100%; max-height:none; height:auto; }
.guest-auth h1 { margin:0; font-size:24px; line-height:1.3; font-weight:750; letter-spacing:-.025em; text-align:center; }
.guest-intro { margin:12px 0 24px; font-size:14px; line-height:1.6; color:#536879; text-align:center; }
.invitation-form { display:flex; flex-direction:column; gap:20px; }
.invitation-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.invitation-field label { margin:0; font-size:14px; font-weight:650; }
.password-control { position:relative; }
.password-control input { display:block; width:100%; min-height:48px; height:48px; padding:11px 50px 11px 13px; border:1px solid #b9cbd4; border-radius:9px; background:#fff; color:#0d2542; font:inherit; }
.password-control input:focus { outline:3px solid #c9ece9; outline-offset:1px; border-color:#008b87; }
.password-control input[aria-invalid="true"] { border-color:#b42318; }
.password-toggle { position:absolute; right:2px; top:2px; display:grid; place-items:center; width:44px; height:44px; padding:10px; border:0; border-radius:7px; background:transparent; color:#536879; cursor:pointer; }
.password-toggle:hover { background:#edf7f6; color:#0d2542; }
.password-toggle:focus-visible, .invitation-submit:focus-visible { outline:3px solid #8ed3cd; outline-offset:3px; }
.password-toggle svg, .invitation-state-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.invitation-hint, .invitation-error { margin:0; font-size:13px; line-height:1.5; }
.invitation-hint { color:#536879; }
.invitation-error { color:#a32017; }
.invitation-submit { width:100%; min-height:48px; display:flex; gap:10px; align-items:center; justify-content:center; padding:12px 16px; border:1px solid transparent; border-radius:9px; background:#007e7a; color:#fff; font:650 15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; }
.invitation-submit:hover { background:#006c69; color:#fff; }
.invitation-submit:disabled { opacity:.75; cursor:wait; }
.invitation-spinner { width:16px; height:16px; border:2px solid #ffffff66; border-top-color:#fff; border-radius:50%; animation:invitation-spin .7s linear infinite; }
.invitation-assurance { margin:0; color:#667b89; text-align:center; font-size:12px; }
.guest-auth-footer { margin:20px 0 0; max-width:460px; text-align:center; font-size:12px; color:#667b89; }
.guest-notice, .auth-notice { padding:12px 14px; border:1px solid #c6e5e1; border-radius:9px; background:#edf8f6; color:#174e50; font-size:14px; line-height:1.5; margin:0 0 20px; }
.guest-notice-error { border-color:#f4ceca; background:#fff5f3; color:#a32017; }
.invitation-state-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 20px; border-radius:50%; color:#916518; background:#fff4d9; }
.invitation-state-copy { margin:0 0 24px; text-align:center; color:#536879; font-size:14px; }
@keyframes invitation-spin { to { transform:rotate(360deg); } }
@media(max-width:520px) { .guest-auth-shell { padding:24px 16px; } .guest-auth-card { padding:20px; border-radius:14px; } }
@media(prefers-reduced-motion:reduce) { .invitation-spinner { animation:none; } }

/* The existing successful activation redirect stays /login; only its presentation changes. */
.guest-auth-activated .auth { display:flex; min-height:100vh; min-height:100svh; align-items:center; justify-content:center; padding:40px 20px; background:transparent; }
.guest-auth-activated .auth-hero { display:none; }
.guest-auth-activated .auth-panel { width:100%; max-width:460px; padding:32px; border:1px solid #dae6e9; border-radius:18px; background:#fff; box-shadow:0 16px 48px rgba(13,37,66,.08); }
.guest-auth-activated .auth-card { max-width:100%; }
.guest-auth-activated .auth-card h2 { font-size:24px; line-height:1.3; text-align:center; }
.guest-auth-activated .auth-card .sub { font-size:14px; text-align:center; margin:12px 0 24px; }
.guest-auth-activated .field label { font-size:14px; }
.guest-auth-activated .field input { height:48px; }
.guest-auth-activated .btn { background:#007e7a; }
@media(max-width:520px) { .guest-auth-activated .auth { padding:24px 16px; } .guest-auth-activated .auth-panel { padding:20px; border-radius:14px; } }
