/* Scoped to the public sign-in page; management screens keep their existing styles. */
.login-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 20px;background:radial-gradient(ellipse at 50% 0%,#eaf2ed 0%,#f6f8f6 58%);color:#202e27}
.login-layout{width:100%;max-width:456px}
.login-identity{text-align:center;margin-bottom:30px}
.login-logo{display:flex;justify-content:center;align-items:center;gap:10px;font-size:36px;font-weight:750;letter-spacing:-1.5px;line-height:1.1}
.login-logo-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:#176b4c;color:#fff;font-size:30px;letter-spacing:-1px}
.login-logo-dot{color:#176b4c}
.login-identity>p{margin-top:10px;font-size:13px;color:#63736a;letter-spacing:.25px}
.login-card{padding:36px 36px 28px;background:#fff;border:1px solid #dfe7e1;border-radius:20px;box-shadow:0 12px 40px #25473508;text-align:center}
.login-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#176b4c;margin-bottom:13px}
.login-intro h1{font-size:30px;line-height:1.2;letter-spacing:-.9px;font-weight:650}
.login-intro>p:last-child{font-size:14px;line-height:1.7;color:#607067;margin:16px 0 28px}
.login-google{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}
.login-google:hover{background:#f5f8f6;border-color:#176b4c}
.login-page a:focus-visible{outline:3px solid #246fbd;outline-offset:4px}
.login-account-hint{margin-top:14px;color:#63736a;font-size:12px;line-height:1.6}
.login-access{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid #e7ece8;padding-top:23px;margin-top:26px;color:#607067;font-size:12px;line-height:1.6}
.login-access svg{color:#176b4c;flex-shrink:0}
.login-help{margin-top:22px;font-size:12px;line-height:1.7;color:#63736a}
.login-help a{display:inline-block;color:#176b4c;font-weight:600;text-underline-offset:4px;min-height:32px;padding:5px 0}
.login-help a:hover{text-decoration:underline}
.login-footer{display:block;text-align:center;border:0;margin:22px 0 0;padding:0;font-size:11px;line-height:1.6;color:#63736a}
.login-footer span{padding:0 6px}
.login-alert{padding:14px 16px;margin:0 0 22px;border:1px solid #efd8c2;border-radius:8px;background:#fff9f2;text-align:left;color:#744b20}
.login-alert h2{font-size:14px;letter-spacing:0;margin:0 0 6px}
.login-alert p,.login-unavailable{font-size:13px;line-height:1.6}
.login-unavailable{padding:16px;border-radius:8px;background:#f1f5f2;color:#52645a}
@media(max-width:480px){.login-page{padding:28px 16px}.login-identity{margin-bottom:24px}.login-card{padding:28px 22px 22px;border-radius:16px}.login-intro h1{font-size:28px}.login-desktop-break{display:none}.login-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.login-google{transition:none}}
