/* ETPR 12.4.0 — Login visual is a bounded element. No body, footer or global background images. */
:root{--etpr124-ink:#073d34;--etpr124-gold:#efc66a}
body.etpr124-office .etpr-access-shell,body.etpr124-office .etpr-shell{background-image:none!important;background-attachment:scroll!important}
body.etpr124-office .etpr124-stage{isolation:isolate;position:relative;overflow:hidden;box-sizing:border-box;width:min(1370px,calc(100% - 22px));max-width:1370px;min-height:640px;margin:20px auto 42px;padding:clamp(22px,3.3vw,45px);background:linear-gradient(115deg,#073c34 0%,#055847 75%,#084c3d 100%);border:2px solid #d4aa55;border-radius:24px;box-shadow:0 18px 50px #04282038;color:#fff}
body.etpr124-office .etpr124-stage .etpr124-door{position:absolute;inset:0 0 0 auto;width:46%;height:100%;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#075042 0%,rgba(7,70,57,.55) 25%,rgba(3,40,32,.08) 100%),url('etpr-office-door-122.webp') center / cover no-repeat;opacity:.92}
body.etpr124-office .etpr124-stage:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(2,45,37,.35) 0%,transparent 70%)}
body.etpr124-office .etpr124-intro{max-width:850px;padding:0 0 23px;position:relative;z-index:1}
body.etpr124-office .etpr124-intro .etpr124-kicker{color:#ffde8c!important;-webkit-text-fill-color:#ffde8c!important;font:800 11px system-ui,sans-serif!important;letter-spacing:.13em}
body.etpr124-office .etpr124-intro h1{font:700 clamp(31px,4vw,49px)/1.15 Georgia,serif!important;color:#fffbef!important;-webkit-text-fill-color:#fffbef!important;margin:8px 0 12px!important}
body.etpr124-office .etpr124-intro p{font:400 16px/1.55 system-ui,sans-serif!important;color:#f0fbf5!important;-webkit-text-fill-color:#f0fbf5!important;max-width:630px;margin:0!important}
body.etpr124-office .etpr124-stage>.etpr-login{position:relative;z-index:2;width:min(920px,100%)!important;max-width:920px!important;margin:0!important;display:block;box-sizing:border-box}
body.etpr124-office .etpr124-stage>.etpr-login>.etpr-panel{box-sizing:border-box;width:100%!important;max-width:none!important;border-radius:22px!important;border:2px solid #e9c575!important;background:#fffdf9!important;color:#143e34!important;box-shadow:0 17px 45px #00251e88!important;padding:clamp(18px,2.3vw,34px)!important}
body.etpr124-office .etpr124-stage>.etpr-login .etpr-grid.two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important;width:100%;box-sizing:border-box}
body.etpr124-office .etpr124-stage>.etpr-login .etpr-grid.two>div{min-width:0!important;max-width:100%!important;border:1px solid #c9ddcf!important;border-radius:14px!important;background:#f5f9f5!important;padding:clamp(14px,1.9vw,22px)!important;box-sizing:border-box}
body.etpr124-office .etpr124-stage>.etpr-login h2,body.etpr124-office .etpr124-stage>.etpr-login h3{color:#073c33!important;-webkit-text-fill-color:#073c33!important;font-weight:800!important;text-shadow:none!important}
body.etpr124-office .etpr124-stage>.etpr-login h2{font-size:clamp(22px,2.5vw,31px)!important;line-height:1.2!important}
body.etpr124-office .etpr124-stage>.etpr-login h3{font-size:clamp(17px,1.9vw,21px)!important;line-height:1.3!important}
body.etpr124-office .etpr124-stage>.etpr-login label,body.etpr124-office .etpr124-stage>.etpr-login p,body.etpr124-office .etpr124-stage>.etpr-login small{color:#244b41!important;-webkit-text-fill-color:#244b41!important;line-height:1.5!important}
body.etpr124-office .etpr124-stage>.etpr-login label{font-weight:700!important}
body.etpr124-office .etpr124-stage>.etpr-login input:not([type=hidden]):not([type=checkbox]),body.etpr124-office .etpr124-stage>.etpr-login select{box-sizing:border-box!important;display:block;max-width:100%!important;width:100%!important;min-height:46px!important;background:#fff!important;color:#103d35!important;-webkit-text-fill-color:#103d35!important;border:1px solid #a7c2b4!important;border-radius:9px!important;padding:10px 12px!important;font-size:16px!important}
body.etpr124-office .etpr124-stage>.etpr-login :is(button[type=submit],input[type=submit],.etpr-btn){background:#075d4c!important;border:1px solid #075d4c!important;border-radius:10px!important;min-height:46px!important;color:white!important;-webkit-text-fill-color:white!important;font-weight:800!important;box-shadow:0 3px 0 #e5bb57!important}
body.etpr124-office .etpr124-stage>.etpr-login a{color:#075a49!important;-webkit-text-fill-color:#075a49!important;text-decoration:underline!important;text-underline-offset:3px!important}
body.etpr124-office .etpr124-stage>.etpr-login :focus-visible{outline:3px solid #bd902a!important;outline-offset:3px!important}
/* The theme's footer remains outside the visual container, untouched. */
body.etpr124-office footer,body.etpr124-office .site-footer,body.etpr124-office #colophon{background-image:none!important}
@media(max-width:850px){body.etpr124-office .etpr124-stage{width:calc(100% - 18px);margin:10px auto 25px;padding:20px;border-radius:18px}body.etpr124-office .etpr124-stage .etpr124-door{width:100%;opacity:.26}body.etpr124-office .etpr124-stage>.etpr-login{width:100%!important;max-width:none!important}body.etpr124-office .etpr124-stage>.etpr-login .etpr-grid.two{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:540px){body.etpr124-office .etpr124-stage{padding:13px}body.etpr124-office .etpr124-stage>.etpr-login>.etpr-panel{padding:16px!important}body.etpr124-office .etpr124-intro h1{font-size:30px!important}}
@media(prefers-reduced-motion:reduce){body.etpr124-office .etpr124-stage *{animation:none!important;transition:none!important}}

/* Replace only the actual right-hand notifications card in Mi Portal. */
#etpr-client-notifications.etpr123-notifications-host{padding:0!important;overflow:hidden!important;min-width:0!important;background:#fff!important;border-radius:17px!important}
#etpr-client-notifications.etpr123-notifications-host>.etpr123-notices{width:100%;max-width:100%;box-sizing:border-box;color:#103e33;background:#fff}
.etpr123-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(120deg,#053f35,#08705a);color:#fff;padding:17px 18px}
.etpr123-head h2{color:#fff!important;-webkit-text-fill-color:#fff!important;font:700 clamp(19px,2vw,26px)/1.2 Georgia,serif!important;margin:5px 0!important}
.etpr123-head p{color:#ebf6ec!important;-webkit-text-fill-color:#ebf6ec!important;margin:0!important;font-size:13px!important;line-height:1.4}
.etpr123-head .etpr123-eyebrow{font-size:9px;color:#f4d285!important;font-weight:800;letter-spacing:.09em}
.etpr123-counter{color:#063c34;background:#f6d37c;border-radius:50%;min-width:27px;height:27px;display:grid;place-items:center;font-weight:800}
.etpr123-feed{padding:4px 14px;max-height:410px;overflow-y:auto}
.etpr123-item{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;gap:10px;align-items:center;border-bottom:1px solid #e1eae4;padding:11px 0;min-width:0}
.etpr123-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e7f1eb;color:#087058;font-size:18px}
.etpr123-item-body{min-width:0}.etpr123-item-body strong{font-size:13px;line-height:1.35;color:#083d34!important;-webkit-text-fill-color:#083d34!important;display:block}.etpr123-item-body p{font-size:12px!important;color:#48645a!important;-webkit-text-fill-color:#48645a!important;line-height:1.42!important;margin:3px 0!important;overflow-wrap:anywhere}.etpr123-item-body small{font-size:11px;color:#56746a}
.etpr123-visit{font-size:26px!important;font-weight:800;color:#805600!important;-webkit-text-fill-color:#805600!important;text-decoration:none!important;min-width:25px;min-height:36px;display:grid;place-items:center}.etpr123-visit:hover{background:#f8ebc5;border-radius:8px}
.etpr123-all{display:flex!important;align-items:center;justify-content:center;gap:9px;text-align:center;margin:13px 16px 16px;padding:12px 14px;background:#f4cc72!important;color:#063d35!important;-webkit-text-fill-color:#063d35!important;border:1px solid #d3a74b!important;border-radius:11px;text-decoration:none!important;font-weight:850!important}
.etpr123-all:hover{background:#e7b852!important}

/* Dedicated notifications: improve old source module without changing the underlying data, permissions or dismissal logic. */
body .etpr570-notifications{border:1px solid #c9ddce!important;background:#fffdfb!important;border-radius:18px!important;padding:clamp(18px,2.8vw,30px)!important;box-shadow:0 8px 26px #062a1d0e!important}
body .etpr570-notifications h2{color:#074638!important;-webkit-text-fill-color:#074638!important;font-size:clamp(24px,3vw,34px)!important}
body .etpr570-notifications table{width:100%!important;border-collapse:collapse!important}
body .etpr570-notifications thead th{background:#e7f1ea!important;color:#103d32!important;-webkit-text-fill-color:#103d32!important;padding:14px!important}
body .etpr570-notifications td{color:#19453d!important;border-bottom:1px solid #e0e9e3!important;padding:15px!important;vertical-align:middle}
body .etpr570-notifications tr:nth-child(even){background:#f6faf7}
body .etpr570-notifications a.etpr560-doc-link,body .etpr570-notifications .etpr1150-notice-dismiss{display:inline-flex!important;background:#075c4e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:10px!important;padding:10px 14px!important;font-weight:800!important;text-decoration:none!important}
/* Unified session modals – preserves the original state machine and valid links. */
body .etpr107-session .etpr107-dialog-body{background:#fffcf7!important;color:#133e34!important;border:2px solid #e7b758!important;border-radius:26px!important;box-shadow:0 30px 100px #001e19a8!important;padding:clamp(22px,4vw,46px)!important;max-width:min(850px,96vw)!important}
body .etpr107-session h2{color:#083f34!important;-webkit-text-fill-color:#083f34!important;font:700 clamp(26px,4vw,43px)/1.18 Georgia,serif!important}
body .etpr107-session .etpr107-mark{background:#0b5949!important;color:#fff!important;box-shadow:0 5px 0 #d4af55!important;border-radius:20px!important}
body .etpr107-session .etpr107-continue{background:#08614f!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:12px!important;min-height:54px!important;font-weight:800!important}
body .etpr107-session .etpr107-tiles a{border:1px solid #c9ddcf!important;background:#f7faf6!important;border-radius:15px!important;box-shadow:0 7px 17px #052e2111!important;text-decoration:none!important}
body .etpr107-session .etpr107-tiles a:hover{border-color:#0c6c56!important;background:#eef6ed!important}
body .etpr107-session .etpr107-close{border:1px solid #c4d7cd!important;color:#0e5448!important;background:#fff!important}
/* Native wp-login and reset, still uses WordPress native auth */
body.login{background:linear-gradient(112deg,#062b27,#064638 69%,#0e5744)!important}
body.login #loginform,body.login #lostpasswordform,body.login #resetpassform,body.login #registerform{border:2px solid #e2bd6b!important;border-radius:22px!important;box-shadow:0 24px 70px #001e188a!important}
body.login .button-primary{background:#075d4d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:11px!important}

/* ETPR 12.5 - Full width access and portal; visual only, no auth handlers changed. */
@media(min-width:769px){
body.etpr124-office .etpr124-stage{width:calc(100% - 24px)!important;max-width:none!important;margin:12px auto 30px!important;min-height:calc(100vh - 265px)!important;padding:clamp(24px,3vw,52px)!important}
body.etpr124-office .etpr124-stage>.etpr-login{width:min(1240px,calc(100% - 12px))!important;max-width:1240px!important}
body.etpr124-office .etpr124-stage .etpr124-door{width:43%!important}
body.etpr124-office .etpr124-stage>.etpr-login .etpr-grid.two{gap:clamp(16px,2vw,32px)!important}
}
body.etpr124-office .etpr124-intro h1{color:#fff8e6!important;-webkit-text-fill-color:#fff8e6!important;text-shadow:0 2px 15px rgba(0,0,0,.28)!important}
body.etpr124-office .etpr124-stage>.etpr-login input,body.etpr124-office .etpr124-stage>.etpr-login button{min-height:46px}
body.etpr124-office .etpr124-stage>.etpr-login :focus-visible{outline:3px solid #d8a94a!important;outline-offset:3px}
@media(max-width:768px){body.etpr124-office .etpr124-stage{width:calc(100% - 16px)!important;margin:10px auto 22px!important;padding:20px 14px!important;min-height:auto!important}body.etpr124-office .etpr124-stage>.etpr-login{width:100%!important;max-width:none!important}body.etpr124-office .etpr124-stage>.etpr-login .etpr-grid.two{grid-template-columns:minmax(0,1fr)!important}body.etpr124-office .etpr124-stage .etpr124-door{opacity:.22!important;width:100%!important}}
/* Portal containers only: never override admin, cart, or public site-wide layouts. */
body:is(.etpr-portal,.etpr-portal-page,.page-template-portal,.etpr-my-portal) :is(.etpr-portal-shell,.etpr-portal-wrap,.etpr-portal-container,.etpr-client-portal){width:calc(100% - 24px)!important;max-width:none!important;margin-inline:auto!important;box-sizing:border-box!important}
body:is(.etpr-portal,.etpr-portal-page,.page-template-portal,.etpr-my-portal) :is(.etpr-portal-grid,.etpr-dashboard-grid){width:100%!important;max-width:none!important}
@media(max-width:768px){body:is(.etpr-portal,.etpr-portal-page,.page-template-portal,.etpr-my-portal) :is(.etpr-portal-shell,.etpr-portal-wrap,.etpr-portal-container,.etpr-client-portal){width:calc(100% - 16px)!important;overflow-wrap:anywhere!important}}
