.auth-shell { min-height: 100vh; }
.back-link { color: #68746d; font-size: 13px; text-decoration: none; }
.back-link:hover, .forgot-link:hover, .form-switch a:hover { color: var(--green); }
.auth-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 460px); gap: 100px; align-items: center; min-height: calc(100vh - 180px); padding-top: 60px; padding-bottom: 70px; }
.verification-main { grid-template-columns: minmax(0, 1fr) minmax(340px, 520px); }
.verification-intro { position: relative; }
.verification-mark { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 24px; color: var(--green-dark); background: #e5f0e8; border: 1px solid #c9dfd0; border-radius: 50%; font: 600 22px "Space Grotesk"; }
.verification-mark span { transform: translateY(-1px); }
.verification-state-success .verification-mark { color: #fff; background: var(--green); border-color: var(--green); }
.verification-state-error .verification-mark { color: #934f40; background: #f9e9e4; border-color: #edcfc5; }
.verification-email { margin: 0 0 25px; color: var(--ink); font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }.verification-email strong { font-weight: 600; }
.verification-label { margin: 0 0 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.verification-link { display: flex; align-items: center; justify-content: center; text-decoration: none; }.verification-link span { padding-left: 8px; font-size: 17px; }.verification-card .field-note { margin: 17px 0 0; text-align: center; }
.verification-tip { margin: 22px 0 0; padding-top: 18px; color: var(--muted); border-top: 1px solid var(--line); font-size: 11px; line-height: 1.5; text-align: center; }
.verification-error-note { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 24px; padding: 13px 14px; color: #934f40; background: #fff8f5; border: 1px solid #edcfc5; font-size: 12px; line-height: 1.45; }
.verification-error-note p { margin: 0; }
.verification-error-icon { display: grid; flex: 0 0 19px; place-items: center; width: 19px; height: 19px; color: #fff; background: #c97967; border-radius: 50%; font-size: 12px; font-weight: 700; }
.verification-sent-note { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 18px; padding: 13px 14px; color: var(--green-dark); background: #f1f8f2; border: 1px solid #d5e7d8; font-size: 12px; line-height: 1.45; }
.verification-sent-note p { margin: 0; }
.verification-sent-icon { display: grid; flex: 0 0 19px; place-items: center; width: 19px; height: 19px; color: #fff; background: var(--green); border-radius: 50%; font-size: 12px; font-weight: 700; }
.verification-manual-link { margin: 16px 0 0; padding: 12px; color: var(--ink); background: #faf8f2; border: 1px dashed #d8d2c7; }
.verification-manual-title { margin: 0 0 8px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.verification-manual-link a { color: var(--green-dark); font-size: 12px; line-height: 1.5; word-break: break-all; }
.verification-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.verification-secondary-link { flex: 1 1 200px; display: inline-flex; justify-content: center; align-items: center; height: 40px; color: var(--ink); border: 1px solid var(--line); text-decoration: none; font-size: 12px; font-weight: 600; background: #fff; }
.verification-secondary-link:hover { border-color: var(--green); color: var(--green); }
.private-archi-main { display: grid; place-items: center; min-height: calc(100vh - 180px); padding: 60px 32px 80px; }
.private-archi-card { width: min(100%, 560px); padding: 48px; text-align: center; background: rgba(255,255,255,.82); border: 1px solid var(--line); border-top: 3px solid var(--green); box-shadow: 0 18px 50px rgba(36,48,44,.06); }
.private-archi-card .verification-mark { margin: 0 auto 24px; }
.private-archi-card h1 { max-width: none; font-size: clamp(38px, 6vw, 64px); }
.private-archi-card .intro-copy { margin-right: auto; margin-left: auto; }
.private-archi-host { margin: 24px 0; color: var(--muted); font: 12px "DM Mono", monospace; }
.private-archi-card .form-submit { display: flex; align-items: center; justify-content: center; text-decoration: none; }
@media (max-width: 760px) { .private-archi-main { padding: 40px 20px 60px; }.private-archi-card { padding: 34px 24px; } }
.auth-intro h1 { max-width: 600px; font-size: clamp(44px, 6vw, 72px); }
.auth-form { padding: 30px; background: rgba(255,255,255,.78); border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(36,48,44,.06); }
.verification-card { position: relative; padding: 36px; border-top: 3px solid var(--green); }
.verification-state-error .verification-card { border-top-color: #c97967; }
.auth-form label { display: block; margin: 0 0 7px; color: #66736a; font-size: 12px; font-weight: 600; }
.auth-form input:not([type="hidden"]) { width: 100%; height: 43px; margin: 0 0 18px; padding: 0 12px; color: var(--ink); background: #fff; border: 1px solid #dfe5e0; border-radius: 4px; outline: 0; }
.auth-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(68,119,98,.12); }
.field-note { margin: -8px 0 18px; color: var(--muted); font-size: 11px; }
.form-submit { width: 100%; height: 45px; margin-top: 4px; color: #fff; background: var(--green); border: 0; border-radius: 4px; cursor: pointer; font-weight: 600; }
.form-submit span { padding-left: 8px; font-size: 17px; }
.form-error { margin-bottom: 20px; padding: 11px 12px; color: #934f40; background: #f9e9e4; border: 1px solid #edcfc5; font-size: 12px; line-height: 1.4; }
.forgot-link, .form-switch { display: block; color: #7c8580; font-size: 12px; text-align: center; text-decoration: none; }
.forgot-link { margin-top: 18px; }.form-switch { margin: 25px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }.form-switch a { color: var(--green-dark); font-weight: 600; text-decoration: none; }
@media (max-width: 760px) { .auth-main { display: block; min-height: auto; padding-top: 40px; }.auth-intro { margin-bottom: 35px; }.auth-form { max-width: 520px; }.auth-intro h1 { font-size: 48px; }.verification-mark { margin-bottom: 18px; }.verification-card { padding: 26px 22px; } }
