/* Login premium — scoped only to the resident login card */
.login-page{position:relative;max-width:620px;min-height:calc(100vh - 135px);padding:32px 0 48px;display:flex;flex-direction:column;justify-content:center}.login-page .back-link{position:relative;z-index:2;margin:0 0 18px 4px}.login-card{position:relative;z-index:1;overflow:hidden;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.92);border-radius:30px;padding:33px 38px 29px;box-shadow:0 24px 70px rgba(13,79,66,.15),0 3px 0 rgba(255,255,255,.8) inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.login-card:before{content:"";position:absolute;left:-90px;top:-95px;width:245px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(22,168,137,.16),transparent 68%);pointer-events:none}.login-brand{display:flex;align-items:center;justify-content:center;gap:9px;position:relative}.login-brand .auth-logo{width:48px;height:48px;margin:0;object-fit:contain}.login-brand span{font-size:17px;font-weight:850;letter-spacing:-.03em;color:var(--deep)}.login-card .kicker{display:block;text-align:center;margin:16px 0 7px;color:var(--teal);font-size:10px;letter-spacing:.18em;font-weight:850}.login-card h1{font-size:clamp(28px,5vw,39px);margin:0 0 10px;text-align:center;letter-spacing:-.045em}.login-card .lead{max-width:390px;text-align:center;margin:0 auto 24px;font-size:13px;line-height:1.55}.login-card .auth-form{gap:14px;padding:21px;border-radius:20px;background:rgba(247,252,250,.86);box-shadow:0 9px 25px rgba(13,107,88,.07);border:1px solid rgba(210,235,228,.85)}.login-card label{font-size:11px;color:#39645a;gap:7px}.login-card input{background:#fff;border-radius:12px;padding:13px 14px;font-size:13px}.login-card .btn-primary{min-height:47px;border-radius:12px;background:linear-gradient(120deg,#0d6b58,#16a889);box-shadow:0 10px 20px rgba(13,107,88,.2)}.login-forgot{margin:14px 0 20px;text-align:right}.login-forgot a{font-size:11px}.auth-divider{display:flex;align-items:center;gap:12px;color:#8aa09b;font-size:10px;margin:0 0 14px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line))}.auth-divider:after{background:linear-gradient(90deg,var(--line),transparent)}.google-btn{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d7e4e0;background:#fff;color:#29443e;border-radius:12px;font:750 12px inherit;cursor:pointer;box-shadow:0 5px 14px rgba(29,67,60,.06);transition:.2s}.google-btn:hover{border-color:#a7c9be;background:#fbfffd;transform:translateY(-1px);box-shadow:0 8px 18px rgba(29,67,60,.11)}.google-logo{width:19px;height:19px;display:block}.login-card>.auth-switch:last-child{margin:22px 0 0;font-size:11px}.login-orbit{position:absolute;border-radius:50%;pointer-events:none;filter:blur(.2px)}.login-orbit-one{width:170px;height:170px;right:-75px;top:17%;background:radial-gradient(circle at 32% 28%,rgba(22,168,137,.17),rgba(22,168,137,0) 68%);border:1px solid rgba(22,168,137,.12)}.login-orbit-two{width:110px;height:110px;left:-53px;bottom:11%;background:radial-gradient(circle,rgba(240,183,75,.14),transparent 70%)}
@media(max-width:700px){.login-page{padding:22px 4px 35px;min-height:calc(100vh - 110px)}.login-card{padding:28px 18px 24px;border-radius:25px}.login-card .auth-form{padding:17px}.login-card h1{font-size:29px}.login-page .back-link{margin-left:2px}.login-orbit-one{right:-105px}}

/* Login refinement: horizontal colored logo, compact welcome heading */
.login-brand{min-height:44px}.login-brand .auth-logo{width:min(210px,72vw);height:auto;object-fit:contain;filter:none}.login-brand span{display:none}.login-card h1{font-size:clamp(23px,4.2vw,31px);margin-bottom:7px}.login-card .lead{font-size:11px;max-width:340px;line-height:1.45;margin-bottom:21px}
@media(max-width:700px){.login-brand .auth-logo{width:190px}.login-card h1{font-size:25px}.login-card .lead{font-size:10.5px}}

/* Fixed footer on login: keep it anchored to the viewport, independent of auth-page height. */
.resident-login-page .bottom-nav{position:fixed!important;left:0!important;right:0!important;bottom:-2px!important;z-index:50!important}

@media(max-width:700px){html body.resident-login-page .bottom-nav{position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;z-index:2147483000!important;transform:none!important}}

/* Login as premium bottom-sheet modal */
body.resident-login-page{background:linear-gradient(145deg,#063f35 0%,#0b705c 55%,#16a889 100%);min-height:100vh;overflow:hidden}
body.resident-login-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 20%,rgba(171,246,222,.16),transparent 28%),radial-gradient(circle at 90% 80%,rgba(240,183,75,.14),transparent 25%);pointer-events:none}
body.resident-login-page main.main-content{padding:0;max-width:none}
body.resident-login-page .login-page{position:fixed;z-index:100;inset:0;max-width:none;width:100%;height:100dvh;min-height:100dvh;padding:18px 18px 0;display:flex;align-items:flex-end;justify-content:center;background:rgba(1,31,26,.18)}
body.resident-login-page .login-page:before{content:"";position:absolute;inset:0;background:rgba(1,31,26,.12);pointer-events:none}
body.resident-login-page .login-page .back-link{position:absolute;z-index:3;top:22px;left:22px;color:#e2fff6;margin:0;font-weight:750;background:rgba(3,55,45,.34);border:1px solid rgba(224,255,246,.3);padding:8px 12px;border-radius:999px;backdrop-filter:blur(8px)}
body.resident-login-page .login-card{width:min(560px,100%);max-height:calc(100dvh - 70px);overflow-y:auto;border-radius:30px 30px 0 0;padding:27px 38px 28px;background:rgba(255,255,255,.97);box-shadow:0 -18px 60px rgba(1,31,26,.32),0 1px 0 rgba(255,255,255,.9) inset;animation:loginSheetUp .42s cubic-bezier(.2,.8,.2,1) both}
body.resident-login-page .login-card:after{content:"";position:absolute;top:10px;left:50%;width:42px;height:4px;border-radius:9px;background:#cfe5df;transform:translateX(-50%);pointer-events:none}
body.resident-login-page .login-orbit{display:none}
body.resident-login-page .bottom-nav{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:-2px!important;z-index:120!important}
@keyframes loginSheetUp{from{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){body.resident-login-page .login-page{padding:12px 0 0}body.resident-login-page .login-page .back-link{top:18px;left:18px;font-size:12px}body.resident-login-page .login-card{width:100%;max-height:calc(100dvh - 61px);padding:26px 18px 24px;border-radius:28px 28px 0 0}body.resident-login-page .login-card .auth-form{padding:16px}body.resident-login-page .login-card h1{font-size:24px}}
@media(min-width:701px){body.resident-login-page .login-page{padding-left:24px;padding-right:24px}body.resident-login-page .login-card{margin-bottom:0}}

/* Bottom sheet is a real modal layer; footer stays behind and is not interactive. */
body.resident-login-page .bottom-nav{display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:-2px!important;z-index:120!important}
body.resident-login-page .login-page{isolation:isolate}
body.resident-login-page .login-card{padding-bottom:30px}
@media(max-width:700px){body.resident-login-page .login-card{max-height:calc(100dvh - 58px);overflow-y:auto;padding-bottom:28px}}

/* Login sheet sits above the visible footer; close returns to the public home. */
body.resident-login-page .login-page{padding-bottom:80px!important}
body.resident-login-page .login-card{z-index:130;max-height:calc(100dvh - 105px)}
body.resident-login-page .login-card .login-close{position:absolute;z-index:5;right:20px;top:19px;width:35px;height:35px;display:grid;place-items:center;border:1px solid #cfe5df;border-radius:50%;background:#eff8f5;color:#0d6b58;text-decoration:none;font-size:25px;line-height:1;font-weight:400;box-shadow:0 4px 10px rgba(13,107,88,.1)}
body.resident-login-page .login-card .login-close:hover{background:#dff5eb;transform:rotate(90deg)}
@media(max-width:700px){body.resident-login-page .login-page{padding-bottom:78px!important}body.resident-login-page .login-card{max-height:calc(100dvh - 90px);padding-top:30px}body.resident-login-page .login-card .login-close{right:16px;top:16px;width:32px;height:32px;font-size:23px}}
