/* Senior Protection Partner Network — Phase 1 presentation layer */
.partner-shell{--sp-paper:#f5f6f8;--sp-ink:#202b3c;--sp-muted:#687384;--sp-line:#e3e7ed;font-family:'DM Sans',Arial,sans-serif;grid-template-columns:250px minmax(0,1fr)}
.partner-shell *{box-sizing:border-box}
.partner-sidebar{background:#321b2a;padding:30px 18px;position:sticky;top:0;height:100vh;min-height:0;overflow-y:auto}
.partner-brand{flex-direction:column;align-items:flex-start;gap:10px;padding:0 12px}
.partner-brand img{max-width:180px;height:48px}
.partner-brand>span{font-size:10px;letter-spacing:.16em;color:#dac2cf}
.partner-sidebar-label{margin:44px 14px 14px;color:#bca4b2;font-size:10px}
.partner-sidebar nav{gap:7px}
.partner-sidebar nav button{min-height:48px;border-radius:11px;font-size:13px;font-family:inherit;padding:0 14px;color:#ddcfd7;cursor:pointer;transition:background .15s}
.partner-sidebar nav button.active{background:#83405e;color:#fff;box-shadow:inset 3px 0 #f5adc4}
.partner-sidebar nav button:hover{background:#ffffff16}
.partner-sidebar nav button.active:hover{background:#83405e}
.nav-glyph{width:22px;text-align:center;font-size:21px}
.partner-sidebar-bottom{padding-top:36px}
.partner-privacy{background:#ffffff05;border-color:#ffffff16;border-radius:12px;padding:15px}
.partner-profile{border-color:#ffffff16;margin-top:23px}
.network-header{height:78px;background:#ffffffd9;padding:0 38px}
.network-header-title{font-size:13px;color:#617082}
.network-user button{border:1px solid #e3e7ed;border-radius:8px;padding:9px 13px;color:#6f2c4d;cursor:pointer}
.network-avatar{background:#803454;width:36px;height:36px}
.partner-content{padding:36px 38px 64px;max-width:1560px}
.partner-page-intro{margin-bottom:30px;align-items:center}
.network-kicker{color:#903654;font-size:10px;letter-spacing:.14em}
.partner-page-intro h1{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(27px,3vw,38px);font-weight:700;letter-spacing:-1.2px;line-height:1.2;color:#202b3c}
.partner-page-intro p:not(.network-kicker){font-size:14px;line-height:1.65;color:#687384}
.network-range select{border-color:#dce2e9;border-radius:9px;min-height:44px;padding:0 14px;font-family:inherit}
.network-metric-grid.five{gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}
.network-metric{position:relative;overflow:hidden;border-radius:14px;border-color:#e3e7ed;padding:23px 20px;min-height:150px;box-shadow:0 3px 8px #202b3c03}
.network-metric:before{content:'';position:absolute;top:0;left:20px;right:20px;height:3px;background:#dcc1ce;border-radius:0 0 3px 3px}
.network-metric:last-child:before{background:#3f8c7a}
.network-metric p{font-size:12px;color:#617082}
.network-metric strong{color:#202b3c;letter-spacing:-1px;font-size:34px;margin:17px 0 10px;font-variant-numeric:tabular-nums}
.network-metric span{color:#687384;font-size:11px;line-height:1.5}
.network-card{border-color:#e3e7ed;border-radius:16px;box-shadow:0 4px 15px #202b3c04}
.network-card h2,.network-card h3,.network-section-head h2{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.4px;color:#202b3c}
.network-card h2,.network-section-head h2{font-size:21px}
.affiliate-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;margin-bottom:24px}
.network-chart-card{padding:25px}
.network-share{background:radial-gradient(ellipse at 100% 0,#ac5d7a55,transparent 65%),#652c48;border:1px solid #773c57;border-radius:16px;padding:28px;box-shadow:0 6px 18px #652c4812}
.network-share h2{font-family:'DM Sans',Arial,sans-serif;font-size:29px;font-weight:700;letter-spacing:-.7px}
.network-share p:not(.network-kicker){font-size:13px;line-height:1.7}
.network-url{padding:12px;border-radius:9px}
.network-url code{font-size:11px;max-width:100%}
.network-button,.network-outline-button{font-family:inherit;min-height:44px;border-radius:9px;font-size:12px;transition:background .15s,box-shadow .15s}
.network-button.primary{background:#873754;color:#fff}
.network-button.primary:hover{background:#6b2942;filter:none}
.network-button.pale{background:#ffffff18}
.network-button.pale:hover{background:#ffffff2c}
.network-outline-button{color:#65314a;border-color:#dce2e9}
.network-outline-button:hover{background:#fbf7f9;border-color:#ac6b86}
.network-share>.network-outline-button{width:100%}
.network-status.active,.network-status.eligible,.network-status.approved,.network-status.paid,.network-status.replied{color:#216956;background:#e9f5ef}
.network-status{padding:6px 10px;font-size:10px}
.network-link-card{padding:24px}
.network-link-card-top h3{font-size:19px;line-height:1.4}
.network-link-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.network-link-metrics b{font-size:18px;color:#202b3c}
.network-link-metrics span{font-size:10px;line-height:1.6}
.network-program-terms{background:#faf5f7;color:#67445a}
.network-responsive-table th{background:#f6f8fa;color:#687384;padding:13px 12px}
.network-responsive-table td{padding:16px 12px;color:#344254;border-color:#e9edf2}
.network-responsive-table tbody tr:hover{background:#fafbfc}
.network-resource-card{border-top-color:#873754}
.share-kit{margin-top:24px;border-color:#e3e7ed}
.share-kit h2,.share-kit h3{font-family:'DM Sans',Arial,sans-serif}
.partner-shell :is(button,a,input,select,textarea):focus-visible{outline:3px solid #cf859f;outline-offset:3px}
.partner-shell :is(input,textarea):focus-visible{outline-offset:1px}
.network-notice{line-height:1.5}
@media(min-width:1500px){.partner-content{padding-top:46px}}
@media(max-width:1200px){.partner-shell{grid-template-columns:220px minmax(0,1fr)}.partner-content{padding:30px 24px 50px}.network-header{padding:0 24px}.network-metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.affiliate-overview-grid{grid-template-columns:1fr}.network-share{min-height:0}.network-share h2 br{display:none}}
@media(max-width:800px){.partner-shell{display:block}.partner-sidebar{position:relative;height:auto;overflow:visible;padding:18px 16px;min-height:0}.partner-brand{padding:0;flex-direction:row;align-items:center;justify-content:space-between}.partner-brand img{max-width:155px;height:38px}.partner-brand>span{max-width:85px;font-size:9px;line-height:1.7}.partner-sidebar-label,.partner-sidebar-bottom{display:none}.partner-sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px;overflow:visible}.partner-sidebar nav button{justify-content:center;gap:6px;padding:8px 4px;font-size:11px;min-height:44px}.partner-sidebar nav button.active{box-shadow:none}.nav-glyph{font-size:17px;width:18px}.network-header{height:60px;padding:0 18px}.partner-content{padding:28px 18px 48px}.partner-page-intro{gap:18px;align-items:stretch}.network-range{max-width:none}.network-metric-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.network-metric{padding:20px 16px;min-height:145px}.network-metric-grid.five .network-metric:last-child{grid-column:1/-1;min-height:120px}.network-metric strong{font-size:30px}.network-link-grid,.network-two-column{grid-template-columns:1fr}.network-section-head{gap:12px}.network-chart-card,.network-table-card,.network-form-card,.network-link-card{padding:20px}.network-share{padding:25px}.network-link-actions{flex-direction:row;flex-wrap:wrap}.network-link-actions .network-text-button{width:100%;padding-top:9px}.network-share-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.partner-shell *{transition:none!important;scroll-behavior:auto!important}}
/* Professional navy / teal refinement, including the existing login view. */
.partner-sidebar{background:#142b43;position:relative;top:auto;height:auto;min-height:100vh;overflow:visible}
.partner-sidebar nav button{color:#ccd8e3}
.partner-sidebar nav button.active,.partner-sidebar nav button.active:hover{background:#28455d;box-shadow:inset 3px 0 #73bbb0}
.partner-brand img{background:#fff;border-radius:9px;padding:8px 10px;height:60px;max-width:190px}
.partner-brand>span,.partner-sidebar-label{color:#aabccc}
.network-avatar{background:#2b6370}
.network-kicker{color:#306b73}
.network-user button,.network-outline-button,.network-text-button,.network-url button{color:#25495e}
.network-metric:before{background:#a6b9cc}
.network-metric:last-child:before{background:#479384}
.network-share{background:radial-gradient(ellipse at 100% 0,#40798a44,transparent 65%),#1c3b54;border-color:#2b4a63;box-shadow:0 6px 18px #16324712}
.network-share .network-kicker{color:#a8d8d0}
.network-button.primary,.share-kit-tabs button.active{background:#255a68}
.network-button.primary:hover{background:#1b4552}
.network-outline-button:hover{background:#f1f7f8;border-color:#6e9ca5;color:#1f4e59}
.network-resource-card{border-top-color:#417a85}
.network-program-terms{background:#f1f6f8;color:#415e70}
.network-program-terms b{color:#25495e}
.network-private-note{color:#536b7c!important}
.share-kit-offer{background:#eaf4f2;color:#35695d}
.share-kit-tabs button>span:first-child{color:#346b75;background:#eef5f6}
.share-kit-tabs button:hover{border-color:#8fb2bb}
.share-kit-panel-heading>span,.share-kit-link,.share-kit-reassurance{color:#426b78}
.partner-shell :is(button,a,input,select,textarea):focus-visible{outline-color:#479caa}
.auth-shell{box-sizing:border-box;background:#f5f7fa;color:#202b3c;font-family:'DM Sans',Arial,sans-serif;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}
.auth-shell *{box-sizing:border-box}
.auth-panel.brand-panel{background:radial-gradient(ellipse at 0 100%,#337a8844,transparent 65%),#142b43;padding:clamp(40px,6vw,92px);min-height:100vh;justify-content:center}
.auth-panel.brand-panel:before{content:none}
.auth-logo{filter:none;background:#fff;border-radius:12px;max-width:260px;padding:14px 18px;margin:0 0 58px}
.auth-panel.brand-panel .eyebrow{color:#9bd0c6;font-size:11px;letter-spacing:.18em;margin:0 0 18px}
.auth-panel.brand-panel h1{font-family:'DM Sans',Arial,sans-serif;color:#fff;font-weight:700;font-size:clamp(34px,4.4vw,60px);letter-spacing:-1.8px;line-height:1.12;max-width:570px;margin:0 0 24px}
.auth-panel.brand-panel .brand-copy{color:#c8d6e3;max-width:480px;font-size:16px;line-height:1.8;margin:0}
.auth-panel.brand-panel .privacy-note{margin-top:46px;border-left:3px solid #79b5aa;padding:4px 0 4px 19px;max-width:470px}
.auth-panel.brand-panel .privacy-note span{font-size:13px;letter-spacing:.02em}
.auth-panel.brand-panel .privacy-note p{color:#adbfce;line-height:1.7;font-size:12px;margin-top:8px}
.auth-panel.login-panel{padding:clamp(32px,6vw,92px);background:#f8fafc;align-items:center;gap:26px}
.login-panel>div,.login-form,.login-panel>.help-text{width:100%;max-width:430px}
.login-panel>div>.eyebrow{color:#3d7881;font-size:10px;letter-spacing:.15em;margin:0 0 12px}
.login-panel h2{font-family:'DM Sans',Arial,sans-serif;color:#202b3c;font-size:36px;letter-spacing:-1px;margin:0 0 13px}
.login-panel .muted{color:#6b7888;font-size:14px;line-height:1.7;margin:0}
.login-form{gap:20px}
.login-form label{color:#33485d;font-size:13px;gap:9px}
.login-form input{font-family:inherit;color:#202b3c;border:1px solid #d5dfe8;border-radius:10px;min-height:52px;padding:13px 15px;background:#fff;font-size:15px}
.login-form input:focus-visible{outline:3px solid #b9dce1;outline-offset:1px;border-color:#498590}
.auth-shell .button.primary{background:#255a68;border-radius:10px;min-height:52px;font-size:14px;margin-top:4px;box-shadow:0 4px 10px #254f6012}
.auth-shell .button.primary:hover{background:#1b4552;transform:none}
.auth-shell button:focus-visible,.auth-shell a:focus-visible{outline:3px solid #64adbc;outline-offset:3px}
.auth-shell .form-error{color:#a23535;background:#fff0f0;border:1px solid #f0d3d3;border-radius:9px;padding:12px;font-size:13px}
.auth-shell .help-text{color:#6c7988;font-size:12px;line-height:1.7;border-top:1px solid #e1e7ee;padding-top:20px;margin:0}
.auth-shell .install-card{max-width:430px;width:100%;background:#fff;border:1px solid #e0e7ee;border-radius:12px;box-shadow:none;padding:18px}
.auth-shell .install-card h3{font-family:inherit;color:#33485d;font-size:14px;margin:0 0 5px}
.auth-shell .install-card p{color:#6b7888;font-size:12px;line-height:1.6}
.auth-shell .install-symbol{background:#edf4f6;color:#386b77}
.auth-shell .install-button{background:#edf4f6;color:#255a68;border:1px solid #d4e3e8;border-radius:8px;font-size:12px;min-height:38px;box-shadow:none}
.auth-shell .install-button:hover{background:#e1edf1}
@media(max-width:800px){.partner-sidebar{min-height:0}.partner-brand img{height:48px;max-width:170px}.partner-sidebar nav button.active{box-shadow:none}.auth-shell{grid-template-columns:1fr}.auth-panel.brand-panel{min-height:0;padding:30px 26px 36px}.auth-logo{max-width:205px;padding:10px 14px;margin-bottom:28px}.auth-panel.brand-panel h1{font-size:34px;letter-spacing:-1px;max-width:550px}.auth-panel.brand-panel .brand-copy{font-size:14px}.auth-panel.brand-panel .privacy-note{margin-top:24px}.auth-panel.login-panel{padding:36px 26px 42px}.login-panel h2{font-size:30px}}
/* Login composition refinement. The existing PNG retains its transparency. */
.auth-panel.login-panel>.auth-logo{background:transparent;filter:none;padding:0;border-radius:0;width:min(270px,100%);max-width:270px;height:auto;align-self:center;margin:0 0 14px;object-fit:contain}
.login-benefits{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:17px;max-width:480px}
.login-benefits li{display:flex;align-items:center;gap:13px;color:#d8e4ed;font-size:14px;line-height:1.6}
.login-benefits li:before{content:'✓';display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;color:#a9e2d4;background:#ffffff0d;border:1px solid #ffffff20;font-size:12px}
@media(max-width:800px){.auth-panel.login-panel>.auth-logo{max-width:235px;margin-bottom:10px}.login-benefits{margin-top:25px;gap:12px}.login-benefits li{font-size:13px}}
/* Explicit login layout: overrides the legacy auth layout breakpoints. */
main.auth-shell{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch;width:100%;min-height:100vh}
main.auth-shell>section.auth-panel{width:auto;min-width:0;grid-column:auto;grid-row:auto}
main.auth-shell>section.brand-panel{min-height:100vh}
main.auth-shell>section.login-panel{display:flex;flex-direction:column;justify-content:center}
@media(max-width:700px){main.auth-shell{grid-template-columns:minmax(0,1fr)!important}main.auth-shell>section.brand-panel{min-height:0}}

/* Raise the left login content after moving the logo to the right. */
main.auth-shell>section.auth-panel.brand-panel{justify-content:flex-start;padding-top:clamp(52px,7vh,90px)}
@media(max-width:700px){main.auth-shell>section.auth-panel.brand-panel{padding-top:30px}}
