/* Scoped to My Lawn only; the public marketing stylesheet is unchanged. */
body.portal-body{--green:#344b68;--green-dark:#263b55;--mint:#edf1f6;--text:#20252d;--muted:#626975;--line:#e0e3e7;background:#f7f7f5!important;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.portal-body .portal-main{background:#f7f7f5!important}
.portal-body :is(.portal-hero-lines,.portal-grass-art){display:none!important}
.portal-body .portal-auth-section{background:transparent!important;min-height:0!important;padding-top:48px!important}
.portal-body .portal-login-heading h1{font-size:40px!important;letter-spacing:-.045em;font-weight:600;color:#20252d!important}
.portal-body .portal-login-heading p{color:#626975!important}
.portal-body :is(.portal-auth-card,.portal-card,.portal-balance-card,.portal-next-card,.portal-modal-card,.portal-setup-welcome,.portal-retry-card){background:#fff!important;border:1px solid #e0e3e7!important;border-radius:16px!important;box-shadow:0 4px 20px #20252d05!important;color:#20252d!important}
.portal-body .portal-auth-card{padding:28px!important}
.portal-body :is(.portal-login-icon,.portal-strip-icon){background:#edf1f6!important;color:#344b68!important;box-shadow:none!important}
.portal-body :is(.portal-primary-btn,.portal-open-btn){background:#272d36!important;color:#fff!important;border:1px solid #272d36!important;border-radius:9px!important;box-shadow:none!important;min-height:48px;font-weight:600!important}
.portal-body :is(input:not([type='checkbox']),select,textarea){font-size:16px!important;color:#20252d!important;background:#fff!important;border-color:#d5d9df!important;min-height:48px;box-shadow:none!important}
.portal-body :is(.portal-input-wrap,.portal-input-icon){color:#626975!important}
.portal-body :is(.portal-eyebrow,.portal-card-label,.portal-forgot-link,.portal-activate-link,.portal-switch-login,.portal-text-action,.portal-request-item>a){color:#344b68!important}
.portal-body :is(.portal-next-date,.portal-balance-amount){color:#20252d!important;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.portal-body :is(.portal-card-head,.portal-history-item,.portal-request-item){border-color:#e0e3e7!important}
.portal-body :is(.portal-mini-btn,.portal-inline-btn,.portal-eye-btn,.portal-modal-close){min-width:44px;min-height:44px;border-radius:8px}
.portal-body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #3c78bd!important;outline-offset:3px!important}
.portal-body #notificationPreferences summary{color:#344b68!important}
.portal-body .portal-feature-strip{background:#fff!important;border:1px solid #e0e3e7!important;border-radius:12px!important;box-shadow:none!important}
.portal-body .portal-site-header{background:#fff!important;border-bottom:1px solid #e0e3e7!important;box-shadow:none!important}
.portal-body [hidden]{display:none!important}
@media(max-width:600px){.portal-body .portal-auth-section{padding-top:28px!important}.portal-body .portal-auth-card{padding:22px!important}.portal-body .portal-login-heading h1{font-size:34px!important}.portal-body .portal-modal-card{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.portal-body .portal-feature-strip{gap:18px!important}.portal-body .portal-card{padding:20px!important}}
@media(prefers-reduced-motion:reduce){.portal-body *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.portal-body .portal-workspace-nav{display:flex;gap:6px;border-bottom:1px solid #e0e3e7;padding-bottom:12px;margin-bottom:20px;flex-wrap:wrap}
.portal-body .portal-workspace-nav>button{flex:1;background:transparent;border:1px solid transparent;border-radius:8px;min-height:46px;padding:11px 12px;font-size:13px;font-weight:600;color:#626975}
.portal-body .portal-workspace-nav>button[aria-pressed="true"]{background:#fff;border-color:#d5d9df;color:#20252d;box-shadow:0 1px 4px #20252d05}
.portal-body .portal-workspace-pane{display:flex;flex-direction:column;gap:20px;min-width:0}
.portal-body .portal-workspace-pane>*{margin:0!important}
.portal-body .portal-workspace-pane[hidden]{display:none!important}
.portal-body .portal-customer-hero{background:#272d36!important;background-image:none!important;border:1px solid #272d36!important;border-radius:15px!important;box-shadow:none!important;color:#fff!important}
.portal-body .portal-customer-next :is(.portal-next-date,.portal-card-label,p,.portal-next-footer){color:#fff!important}
.portal-body .portal-customer-next>p{opacity:.8}
.portal-body .portal-service-summary-grid{grid-template-columns:1fr!important}
.portal-body .portal-summary-card,.portal-body .portal-quick-actions>button{border:1px solid #e0e3e7!important;border-radius:13px!important;background:#fff!important;background-image:none!important;box-shadow:none!important;color:#20252d!important}
.portal-body .portal-balance-card{padding:24px!important}
.portal-body .portal-balance-main>strong{font-size:32px!important;color:#20252d!important;letter-spacing:-.04em}
.portal-body .portal-credit-amount{font-size:34px!important;color:#20252d!important}
.portal-body .portal-card-head h2{font-size:20px!important;letter-spacing:-.025em;font-weight:600}
.portal-body .portal-quick-actions button,.portal-body .portal-balance-actions :is(a,button){min-height:48px!important;font-size:14px!important}
.portal-body .portal-pay-text-btn{background:#272d36!important;color:#fff!important;box-shadow:none!important;border-radius:8px!important}
@media(max-width:600px){
.portal-body .portal-top h1{font-size:28px!important;letter-spacing:-.04em;font-weight:600}
.portal-body .portal-workspace-nav{gap:4px;margin-bottom:16px}
.portal-body .portal-workspace-nav>button{font-size:12px;padding:11px 8px}
.portal-body .portal-workspace-pane{gap:16px}
.portal-body .portal-customer-hero{padding:22px!important}
.portal-body .portal-next-date{font-size:30px!important;line-height:1.2!important}
.portal-body .portal-balance-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:17px;padding:20px!important}
.portal-body .portal-balance-actions{display:flex!important;gap:8px;width:100%;flex-wrap:wrap}
.portal-body .portal-balance-actions>*{flex:1}
.portal-body .portal-notification-toggles>label{min-height:72px;padding:16px 0!important}
.portal-body .portal-notification-toggles input{width:24px!important;height:24px!important}
.portal-body.portal-session-open .nav-cta{display:none!important}
}
