body.auth-page{min-height:100vh;background:#f7faf8;display:flex;flex-direction:column}
.auth-brand{display:block!important;color:#175f50!important;text-decoration:none}
.auth-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:38px 20px}
.auth-card{width:min(100%,450px);border:1px solid #dee9e3;background:white;border-radius:16px;padding:40px 30px;text-align:center;box-shadow:0 14px 42px rgba(14,70,54,.04)}
.auth-logo{height:90px;width:90px;object-fit:contain;margin:0 auto 10px;display:block}
.auth-card h1{font-size:24px;color:#134e40;margin:0 0 10px}.auth-card p{font-size:14px;color:#647b70;line-height:2;margin:0 0 24px}
.google-button{display:flex;justify-content:center;min-height:45px}
.auth-fine{border-top:1px solid #e7efeb;margin-top:28px;padding-top:17px;color:#819188;font-size:11px;line-height:2}
.auth-error{font-size:13px;margin-top:14px;padding:11px;border:1px solid #e8b1a9;border-radius:8px;background:#fff6f4;color:#a24337}
.nav-account{display:flex;align-items:center;gap:8px}.nav-username{font-size:12px;color:#547469;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-account .nav-btn{min-width:0;text-decoration:none;display:inline-block;font:inherit;font-size:12px;padding:8px 12px;border:1px solid var(--green);background:white;color:var(--green);border-radius:8px;cursor:pointer}
.nav-account .logout-btn{border-color:#d8e3dd;color:#71877c}
@media(max-width:650px){.auth-shell{padding:20px 15px}.auth-card{padding:30px 15px}.auth-card h1{font-size:21px}.nav-account{gap:4px}.nav-username{display:none}.nav-account .nav-btn{font-size:10px;padding:6px 8px}}

/* v1.9 — quietly interactive, official login background */
body.auth-page{position:relative;overflow-x:hidden;isolation:isolate;background:#f7faf8}
.auth-page > .nav,.auth-page > .auth-shell,.auth-page > .footer{position:relative;z-index:2}
.auth-effects{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;--pointer-x:50%;--pointer-y:50%;--move-x:0px;--move-y:0px}
.auth-effect{position:absolute;display:block;border-radius:50%;filter:blur(8px);transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}
.auth-effect-one{width:min(62vw,630px);height:min(62vw,630px);top:-28%;right:-11%;background:radial-gradient(circle,rgba(41,137,97,.13),rgba(67,160,126,.07) 40%,transparent 70%);transform:translate(calc(var(--move-x)*.35),calc(var(--move-y)*.35))}
.auth-effect-two{width:min(65vw,780px);height:min(65vw,780px);bottom:-43%;left:-13%;background:radial-gradient(circle,rgba(13,91,64,.12),rgba(113,176,145,.05) 48%,transparent 72%);transform:translate(calc(var(--move-x)*-.3),calc(var(--move-y)*-.3))}
.auth-grid{position:absolute;inset:0;opacity:.27;background-image:linear-gradient(rgba(31,111,82,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,111,82,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent 3%,#000 55%,transparent 100%)}
.auth-pointer{position:absolute;inset:0;background:radial-gradient(260px circle at var(--pointer-x) var(--pointer-y),rgba(45,160,110,.10),transparent 70%)}
.auth-card{box-shadow:0 24px 60px rgba(14,70,54,.085);backdrop-filter:blur(3px)}
.auth-ripple{position:absolute;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(29,116,83,.24);transform:translate(-50%,-50%) scale(.2);animation:authRipple .85s ease-out forwards;pointer-events:none}
@keyframes authRipple{to{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@media(max-width:650px){.auth-effect-one{width:105vw;height:105vw;top:-15%;right:-40%}.auth-effect-two{width:120vw;height:120vw;bottom:-30%;left:-35%}.auth-card{box-shadow:0 14px 38px rgba(14,70,54,.08)}}
@media(prefers-reduced-motion:reduce){.auth-effect{transition:none;transform:none!important}.auth-pointer,.auth-ripple{display:none!important}}

/* v1.9.1 — original full wordmark on Google login */
.auth-logo{width:168px;height:152px;object-fit:contain;margin:0 auto 8px}
@media(max-width:650px){.auth-logo{width:145px;height:132px}}
