:root{
  --blue:#155FC4;--blue-dark:#0F4FAD;--blue-light:#EEF5FF;--bg:#F8FAFF;--text:#0F172A;
  --muted:#475569;--green:#137A3A;--green-light:#F0FDF4;--gold:#F59E0B;--gold-light:#FFFBEB;
  --red:#E11D48;--red-light:#FFF1F2;--border:#E2E8F4;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Plus Jakarta Sans','Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
.container{max-width:1000px;margin:0 auto;padding:0 16px}
.container-sm{max-width:520px;margin:0 auto;padding:0 16px}
.grad{background:linear-gradient(135deg,#0F4FAD 0%,#155FC4 55%,#2b7fe0 100%);color:#fff}
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:38px}
.brand .bn{font-weight:800;line-height:1;color:var(--blue-dark)}
.brand .bn span{color:var(--blue)}
.brand .bt{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.card{background:#fff;color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px rgba(21,95,196,.07)}
.card .h1,.card .h2,.card .label,.card .v,.card td{color:var(--text)}
.p20{padding:20px}.p24{padding:24px}
.btn,.btn:visited{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font-weight:700;border-radius:999px;padding:11px 20px;font-size:15px;background:var(--blue);color:#fff;transition:background .2s,transform .1s}
.btn:hover{background:var(--blue-dark);color:#fff}
.btn:active{transform:translateY(1px)}
.btn-block{width:100%}
.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--border)}
.btn-ghost:visited{background:#fff;color:var(--text)}
.btn-ghost:hover{background:#eef5ff;color:var(--blue-dark);border-color:#b9d0ef}
.btn-green{background:var(--green)}
.btn-red{background:var(--red)}
.btn-sm{padding:7px 14px;font-size:13px}
.input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:15px;font-family:inherit;outline:none;background:#fff;color:var(--text)}
.input::placeholder,textarea::placeholder{color:#64748b;opacity:1}
.input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,95,196,.15)}
.label{font-size:13px;font-weight:700;margin-bottom:6px;display:block}
.row{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.g2,.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.g3,.g4{grid-template-columns:1fr 1fr}}
.h1{font-family:'Plus Jakarta Sans','Aptos Display','Segoe UI Variable Display','Segoe UI',sans-serif;font-size:clamp(26px,2.6vw,30px);font-weight:800;line-height:1.12;letter-spacing:-.035em;margin:0}
.h2{font-family:'Plus Jakarta Sans','Aptos Display','Segoe UI Variable Display','Segoe UI',sans-serif;font-size:clamp(18px,1.8vw,21px);font-weight:800;line-height:1.22;letter-spacing:-.022em;margin:0}
.muted{color:var(--muted)!important}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}
.b-green{color:var(--green);background:var(--green-light)}
.b-gold{color:#B45309;background:var(--gold-light)}
.b-red{color:var(--red);background:var(--red-light)}
.b-blue{color:var(--blue);background:var(--blue-light)}
.b-grey{color:#64748b;background:#f1f5f9}
table{width:100%;border-collapse:collapse;font-size:14px}
th{background:var(--blue-light);color:var(--blue-dark);text-align:left;padding:12px;font-weight:800;white-space:nowrap}
td{padding:12px;border-top:1px solid var(--border);white-space:nowrap}
.table-wrap{overflow-x:auto}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:14px;font-weight:600;font-size:14px}
.flash.ok{background:var(--green-light);color:var(--green)}
.flash.err{background:var(--red-light);color:var(--red)}
.flash.info{background:var(--gold-light);color:#B45309}
.notice{border-radius:16px;padding:16px 18px;margin-bottom:16px}
.notice.red{background:var(--red-light)}.notice.gold{background:var(--gold-light)}
.footer{margin-top:40px}.footer .grad{padding:28px 0}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:640px){.info-grid{grid-template-columns:1fr 1fr}}
.info-grid .info .k{font-size:12px;font-weight:700;color:var(--muted)!important}
.info-grid .info .v{font-weight:800;margin-top:2px;color:var(--text)!important}
.router-security-card{border-color:#b7e3c5;background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%)}
.router-security-amount{font-size:30px;font-weight:800;color:var(--green);letter-spacing:-.04em;margin:12px 0 6px}.router-security-note{font-size:12px;margin:12px 0 0;max-width:680px}
.tab{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;font-weight:800;font-size:14px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}
.tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.dur{border:2px solid var(--border);border-radius:16px;padding:14px;text-align:left;background:#fff;color:var(--text);cursor:pointer;position:relative;width:100%}
.dur:hover{box-shadow:0 4px 14px rgba(21,95,196,.12)}
.dur .price{font-size:22px;font-weight:800;color:var(--blue-dark);margin-top:4px}
.tag{position:absolute;top:-10px;right:12px;font-size:10px;font-weight:800;color:#fff;padding:2px 8px;border-radius:999px}
/* Admin */
.admin{display:flex;min-height:100vh}
.side{width:240px;flex-shrink:0}
.side .grad{min-height:100vh;padding:0}
.side a{display:flex;align-items:center;gap:10px;padding:11px 16px;color:#eaf1ff;font-weight:600;font-size:14px;border-radius:10px;margin:2px 8px}
.side a.active,.side a:hover{background:#fff;color:var(--blue-dark)}
.side .stitle{color:#fff;font-weight:800;padding:18px 16px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.15)}
.main{flex:1;min-width:0;padding:22px}
.topbar{display:none}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}}
.stat{font-size:26px;font-weight:800}
@media(max-width:820px){
  .admin{display:block}.side{width:auto}.side .grad{min-height:auto}
  .side nav{display:flex;flex-wrap:wrap;gap:4px;padding:8px}
  .side a{margin:0}
}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:22px}

/* Typography refinement */
body{line-height:1.65;letter-spacing:-.006em;font-kerning:normal;font-optical-sizing:auto;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}
p,.muted,.notice,.flash{line-height:1.65}
.brand .bn{font-family:'Plus Jakarta Sans','Aptos Display','Segoe UI Variable Display','Segoe UI',sans-serif;font-weight:800;letter-spacing:-.025em}
.brand .bt{letter-spacing:.14em}
.btn,.tab,.label,.badge{letter-spacing:.005em}
.stat,.dur .price,table{font-variant-numeric:tabular-nums lining-nums}
.stat,.dur .price{font-family:'Plus Jakarta Sans','Aptos Display','Segoe UI Variable Display','Segoe UI',sans-serif;letter-spacing:-.04em}

/* Customer dashboard refresh: scoped to keep other pages unchanged. */
.customer-dashboard{font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;--border:#e0e7ef;--muted:#526277;--blue:#185bd7;--blue-dark:#1246ab}
.customer-dashboard .eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;color:#66758a;margin:0 0 7px;line-height:1.5}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.customer-dashboard .h1{font-family:inherit;font-size:clamp(26px,3vw,36px);font-weight:750;letter-spacing:-.04em;line-height:1.2}
.customer-dashboard .h2{font-family:inherit;font-size:22px;font-weight:720;line-height:1.3;letter-spacing:-.025em}
.dashboard-welcome p.muted{font-size:15px;margin-bottom:0}
.dashboard-history-link{font-size:14px;font-weight:650;white-space:nowrap}
.connection-hero{position:relative;overflow:hidden;padding:30px 32px;border-radius:24px;background:radial-gradient(ellipse at 100% 0%,#2659a5 0%,transparent 62%),linear-gradient(120deg,#101f3c,#142f57);color:#fff;box-shadow:0 12px 30px #182d5018;margin-bottom:24px}
.connection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.connection-heading .eyebrow{color:#adcaee}.connection-heading h2{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin:0;font-weight:750}.connection-heading p:not(.eyebrow){font-size:14px;color:#bfcee3;margin:9px 0 0}
.connection-heading .badge{padding:7px 13px;font-size:12px;flex-shrink:0}
.connection-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;padding-top:24px;border-top:1px solid #ffffff24;gap:26px}
.connection-stats>div+div{border-left:1px solid #ffffff24;padding-left:26px}.stat-label{display:block;color:#bfd0e7;font-size:13px;margin-bottom:5px}.connection-stats strong{display:block;font-size:28px;line-height:1.4;letter-spacing:-.03em;font-weight:700}.connection-stats small{font-size:13px;font-weight:450;letter-spacing:0;color:#d3e0f2}.stat-note{font-size:12px;color:#bfd0e7;display:block;margin-top:4px}
.customer-dashboard .card{border-radius:20px;box-shadow:0 3px 16px #17385e05;border-color:var(--border)}
.customer-dashboard .p24,.account-panel{padding:28px!important;margin-bottom:24px!important}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.account-group+ .account-group{border-left:1px solid var(--border);padding-left:36px}.account-group h3{font-size:14px;font-weight:700;margin:0 0 12px;color:#33465e}.account-group dl{margin:0}.detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:14px}.detail-row:last-child{border-bottom:0}.detail-row dt{color:#526277;flex:1}.detail-row dd{margin:0;text-align:right;font-weight:650;max-width:60%;overflow-wrap:anywhere;color:#16263e}
.assigned-offer{display:flex;align-items:center;gap:12px;background:#eff5ff;border:1px solid #dbe8ff;padding:14px 18px;border-radius:12px;margin-top:22px}.offer-symbol{display:grid;place-items:center;background:#dce9ff;color:#185bd7;width:36px;height:36px;border-radius:10px;font-size:23px;flex-shrink:0}.assigned-offer span:not(.offer-symbol){display:block;color:#526277;font-size:12px}.assigned-offer strong{display:block;font-size:15px;color:#194a94}
.plan-tabs{display:inline-flex;gap:5px;padding:5px;background:#e9eef5;border-radius:12px;margin:8px 0 20px;scroll-margin-top:20px}.customer-dashboard .tab{border:0;border-radius:9px;background:transparent;padding:10px 20px;color:#4c5e75;font-size:14px;font-weight:650}.customer-dashboard .tab.active{background:#fff;color:#174caa;box-shadow:0 2px 5px #12284812}
.customer-dashboard .row{gap:16px}.customer-dashboard .dur{font-family:inherit;border-width:1px;border-radius:15px;min-height:205px;height:100%;padding:22px 18px;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .18s,transform .18s,background .18s}.customer-dashboard .dur:hover{transform:translateY(-3px);box-shadow:0 9px 22px #185bd719;background:#f8fbff}.duration-name{font-size:16px;font-weight:700;color:#24364e}.duration-validity{font-size:12px;color:#526277;margin-top:4px}.customer-dashboard .dur .price{font-family:inherit;font-size:30px;letter-spacing:-.035em;margin:17px 0 10px;color:#143f84}.duration-action{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:15px;font-size:12px;font-weight:650;color:#185bd7}.customer-dashboard .tag{font-size:11px;right:14px;padding:4px 10px}.renewal-note{font-size:12px;color:#526277;margin:20px 0 0;padding-top:16px;border-top:1px solid #edf1f6}.customer-dashboard .notice{padding:20px 24px;border:1px solid #f3ddb2}.customer-dashboard .notice.red{border-color:#facbd4}.customer-dashboard .btn{border-radius:10px;min-height:44px}.customer-dashboard .input{min-height:46px}
#payment-history{margin-top:32px;scroll-margin-top:24px}.history-count{font-size:12px;color:#526277;background:#eaf0f7;padding:5px 11px;border-radius:30px}.customer-dashboard th{background:#f2f5fa;color:#526277;font-size:12px;font-weight:650;padding:16px}.customer-dashboard td{font-size:13px;padding:18px 16px}.customer-dashboard tbody tr:hover{background:#f8faff}.receipt-link{font-size:12px;font-weight:650;white-space:nowrap}.customer-dashboard .badge{font-weight:650}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.customer-dashboard :is(a,button,select):focus-visible{outline:3px solid #4f91f1;outline-offset:4px}.customer-dashboard .price{font-weight:750;font-variant-numeric:tabular-nums}
@media(max-width:900px){.customer-dashboard .g4{grid-template-columns:repeat(2,minmax(0,1fr))}.account-columns{gap:24px}.account-group+.account-group{padding-left:24px}.detail-row{display:block}.detail-row dd{text-align:left;max-width:100%;margin-top:3px}.connection-stats strong{font-size:24px}}
@media(max-width:600px){.dashboard-welcome{align-items:flex-start;margin-bottom:22px}.dashboard-history-link{display:none}.connection-hero{padding:24px 20px;border-radius:20px}.connection-heading h2{font-size:28px}.connection-heading p:not(.eyebrow){max-width:210px}.connection-stats{gap:18px;grid-template-columns:1fr 1fr;padding-top:20px}.connection-stats>div+div{padding-left:0;border-left:0}.connection-stats>div:last-child{grid-column:1/-1;padding-top:16px;border-top:1px solid #ffffff24}.customer-dashboard .p24,.account-panel{padding:22px 18px!important}.account-columns{grid-template-columns:1fr;gap:20px}.account-group+.account-group{padding:20px 0 0;border-left:0;border-top:1px solid var(--border)}.detail-row{display:flex;gap:12px}.detail-row dd{text-align:right;max-width:55%;margin:0}.customer-dashboard .h2{font-size:20px}.customer-dashboard .dur{padding:18px 14px;min-height:190px}.customer-dashboard .dur .price{font-size:27px}.customer-dashboard .row{gap:12px}.customer-dashboard .g3{grid-template-columns:1fr}.customer-dashboard .payment-table,.customer-dashboard .payment-table tbody{display:block}.payment-table thead{display:none}.customer-dashboard .payment-table tr{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;border-bottom:1px solid var(--border)}.customer-dashboard .payment-table tr:last-child{border-bottom:0}.customer-dashboard .payment-table td{display:block;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}.payment-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:#526277;margin-bottom:4px}.payment-table td[colspan]{grid-column:1/-1}.customer-dashboard .payment-table td[colspan]:before{display:none}.history-count{white-space:nowrap}.plan-tabs{display:flex}.customer-dashboard .tab{flex:1;justify-content:center}.customer-dashboard .notice{padding:18px}}
@media(prefers-reduced-motion:reduce){.customer-dashboard *{transition:none!important;scroll-behavior:auto!important}.customer-dashboard .dur:hover{transform:none}}

/* Matching renewal and upgrade storefront. */
.customer-dashboard{--blue:#0a3a7d;--blue-dark:#072a5c;--blue-light:#e9eef6;--border:#dde2e8;--muted:#4d5b6f;color:#18212e;font-family:'Segoe UI',system-ui,sans-serif}
.customer-dashboard .eyebrow{color:#5b6c84;letter-spacing:.16em;font-size:10px}.customer-dashboard .h1{font-size:34px;font-weight:700}.dashboard-welcome{margin-bottom:30px}.dashboard-history-link{background:#fff;border:1px solid #dbe0e6;border-radius:10px;padding:10px 15px;color:#344256}
.dashboard-summary{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:24px;margin-bottom:32px;align-items:stretch}.dashboard-summary .connection-hero,.dashboard-summary .account-panel{margin-bottom:0!important}
.connection-hero{background:radial-gradient(ellipse at 110% 90%,#1d4174,transparent 68%),linear-gradient(145deg,#111d2f,#15263e);border-radius:22px;padding:28px;box-shadow:0 14px 35px #15263e14}.connection-heading{position:relative}.connection-heading h2{font-size:32px}.connection-heading .eyebrow{color:#bac7da}.connection-heading p:not(.eyebrow){color:#b6c0cf;font-size:12px}.connection-heading .badge{position:absolute;right:0;top:3px;background:#ccdbef;color:#162d4e;border-radius:7px}.connection-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #a6b4c84d;border-radius:14px;color:#b9cfed;margin-bottom:28px;background:#ffffff09}.connection-icon svg{width:29px;height:29px}.connection-stats{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;padding-top:22px}.connection-stats>div+div{padding-left:0;border-left:0}.connection-stats>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:18px}.connection-stats strong{font-size:26px}.connection-stats .stat-label,.connection-stats .stat-note{color:#bcc6d4}.connection-stats small{color:#d2dae6}.account-panel{padding:26px!important;border-radius:22px!important}.account-panel .h2{font-size:21px}.account-panel .account-columns{gap:20px}.account-panel .account-group+.account-group{padding-left:20px}.account-panel .detail-row{display:block;padding:9px 0;border:0}.account-panel .detail-row dt{font-size:11px;color:#5a6b82}.account-panel .detail-row dd{font-size:14px;text-align:left;margin-top:2px;max-width:100%;font-weight:600}.account-panel .account-group h3{font-size:12px;color:#263448}.assigned-offer{background:#f0f3f7;border-color:#dfe4ec;border-radius:10px;margin-top:16px;padding:10px 14px}.assigned-offer strong{color:#213a5c}.offer-symbol{background:#dbe3ee;color:#314867}.assigned-offer span:not(.offer-symbol){font-size:11px}
.plan-shop{scroll-margin-top:24px;margin-bottom:32px}.shop-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px}.shop-heading h2{font-size:clamp(24px,2.5vw,29px);font-weight:650;letter-spacing:-.04em;line-height:1.2;margin:0;color:#192536}.shop-heading p.muted{font-size:14px;margin:9px 0 0}.plan-tabs{margin:0;padding:5px;border:1px solid #dfe3e8;background:#eaecf0;flex-shrink:0;border-radius:12px}.customer-dashboard .tab{white-space:nowrap;font-size:13px;padding:10px 16px;color:#526177}.customer-dashboard .tab.active{background:#15263f;color:#fff;box-shadow:0 3px 8px #15263f20}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.product-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:23px 20px;border:1px solid #dce1e7;border-radius:18px;background:#fff;box-shadow:0 3px 9px #16243804;transition:border-color .2s,box-shadow .2s,transform .2s}.product-card:hover,.product-card:focus-within{border-color:#819abd;box-shadow:0 12px 26px #13253e10;transform:translateY(-3px)}.product-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:12px}.product-icon{display:grid;place-items:center;width:38px;height:38px;background:#edf1f6;color:#344f75;border:1px solid #dfe5ed;border-radius:11px}.product-icon svg{width:21px;height:21px}.product-type{font-size:9px;letter-spacing:.11em;font-weight:650;color:#63758f}.product-card h3{font-size:22px;line-height:1.2;font-weight:650;letter-spacing:-.035em;margin:0;color:#192639}.product-description{font-size:12px;color:#596980;margin:7px 0 0;min-height:38px}.product-amount{padding:20px 0 10px}.product-amount strong{font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-.05em;color:#15202f;display:block;font-variant-numeric:tabular-nums}.product-amount>span{font-size:11px;color:#60718a;display:block;margin-top:5px}.product-saving{color:#247943;font-size:11px;padding-bottom:10px;font-weight:650}.product-saving[hidden]{display:none}.product-saving s{font-weight:400;color:#73847a;margin-left:3px}.product-facts{display:grid;gap:9px;border-top:1px solid #eaecf0;padding-top:17px;margin:4px 0 24px;font-size:11px;color:#536278}.product-facts strong{font-weight:600;color:#333f4f}.fact-check{color:#556883;margin-right:6px}.product-duration{margin-top:auto;margin-bottom:15px}.product-duration label{display:block;font-size:11px;color:#596a81;margin-bottom:6px}.product-duration .input{padding:10px 8px;border-radius:9px;border-color:#dce0e6;min-height:42px;font-size:11px;background:#f8f9fa}.duration-fixed{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#596a81;min-height:65px}.duration-fixed strong{display:block;font-size:12px;color:#3a4759;font-weight:500;border:1px solid #e1e5ea;background:#f8f9fa;padding:10px 12px;border-radius:9px}.product-button{font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;width:100%;border:0;background:#16273f;color:white;padding:12px 14px;border-radius:9px;font-size:12px;font-weight:600;cursor:pointer}.product-button:hover{background:#0a3878}.product-button span{font-size:17px}.shop-footnote{display:flex;align-items:baseline;gap:9px;padding:16px 0 0;color:#5d6f87;font-size:12px}.shop-footnote p{margin:0}.shop-empty{padding:32px;border:1px dashed #c7ced8;border-radius:16px;background:#f4f6f8;color:#4b586b}.customer-dashboard .receipt-link{color:#234473}.customer-dashboard :is(a,button,select):focus-visible{outline-color:#3665a7}
@media(min-width:901px){.product-grid:has(>.product-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid:has(>.product-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid:has(>.product-card:only-child){grid-template-columns:minmax(0,360px)}}
@media(max-width:1000px){.dashboard-summary{grid-template-columns:1fr 1.2fr}.shop-heading{align-items:flex-start;flex-direction:column}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-panel .account-columns{grid-template-columns:1fr}.account-panel .account-group+.account-group{border-left:0;border-top:1px solid #e5e8ed;padding:14px 0 0}.account-panel .detail-row{display:flex;padding:5px 0;gap:12px}.account-panel .detail-row dd{text-align:right;max-width:60%}.account-panel .account-columns{gap:10px}.account-panel .account-group h3{margin-bottom:6px}.connection-hero{padding:24px}}
@media(max-width:680px){.dashboard-summary{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.connection-heading .badge{position:static}.connection-icon{margin-bottom:20px}.connection-stats{grid-template-columns:1fr 1fr}.account-panel{padding:22px!important}.account-panel .account-columns{gap:16px}.account-panel .detail-row{padding:6px 0}.customer-dashboard .h1{font-size:28px}.shop-heading{gap:18px}.plan-tabs{width:100%}.product-grid{gap:12px}.product-card{padding:20px 16px}.product-card h3{font-size:21px}.product-amount strong{font-size:31px}.product-description{font-size:12px}.product-facts{font-size:11px}.product-type{font-size:8px}.product-button{font-size:11px;padding:12px}.product-duration .input{font-size:11px}.customer-dashboard .product-duration .input{min-width:0}.shop-heading h2{font-size:26px}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.product-card{padding:24px}.product-description{min-height:0}.product-facts{font-size:13px}.product-duration .input{font-size:13px}.product-button{font-size:14px}.product-amount strong{font-size:36px}.product-card h3{font-size:25px}.product-type{font-size:10px}.duration-fixed{font-size:12px}.product-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}.product-card:hover,.product-card:focus-within{transform:none}}
.customer-dashboard .product-description{font-size:13px}.customer-dashboard .product-facts{font-size:12px}.customer-dashboard .product-button{font-size:13px}.customer-dashboard .product-duration .input{font-size:12px}.customer-dashboard .product-type{font-size:10px}

/* Fiber Link: readable light surfaces with Buddy blue accents. */
:root{--blue:#155fc4;--blue-dark:#0d3f84;--blue-light:#edf4ff;--bg:#f6f8fc;--text:#142b49;--muted:#52637a;--border:#dbe3ee;--buddy-navy:#071d44;--buddy-gold:#f4b429}
body{font-family:Arial,Helvetica,sans-serif;line-height:1.6}button,input,select,textarea{font-family:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #155fc4;outline-offset:4px}.btn{border-radius:10px;min-height:48px;font-size:16px}.btn-green{background:var(--green)}.btn-red{background:var(--red)}.btn-green:hover{background:#0e6130}.btn-red:hover{background:#be123c}
.customer-portal{background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text);font-size:16px}.customer-portal main{width:100%}.portal-skip{position:absolute;top:-100px;left:16px;padding:12px;background:#fff;z-index:100}.portal-skip:focus{top:8px}.portal-header>div{flex-wrap:wrap}.portal-header a{min-height:44px;display:inline-flex;align-items:center}.portal-header>div>div{flex-wrap:wrap}.portal-trustbar a{overflow-wrap:anywhere}.portal-header>div>a>div>div:first-child{color:var(--buddy-navy)!important}.portal-header a[href$="/login.php"]{background:var(--blue)!important;border-radius:9px!important}.portal-header>div>div>a{font-size:14px!important}.portal-trustbar{font-size:13px!important;color:#d4deed!important}
/* Homepage */
.portal-home{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}.portal-home h1,.portal-home h2,.portal-home h3,.portal-home p{margin:0}.renewal-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;padding:40px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 20px #071d4404}.portal-home .section-label{font-size:14px;font-weight:700;color:var(--blue);margin-bottom:14px}.renewal-copy h1{font-size:clamp(34px,4vw,46px);line-height:1.15;letter-spacing:-.035em;font-weight:700;color:var(--buddy-navy)}.portal-home .renewal-description{font-size:17px;line-height:1.7;color:#455972;max-width:480px;margin-top:20px}.renewal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}.renewal-primary{min-height:50px;padding:12px 22px;gap:28px;font-size:16px}.renewal-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 22px;border:1px solid #b9c8dc;border-radius:10px;color:var(--blue-dark);font-size:16px;font-weight:700}.renewal-secondary:hover{background:var(--blue-light);border-color:var(--blue)}.portal-home .renewal-help{margin-top:20px;font-size:14px;color:var(--muted)}.renewal-help a,.coverage-help a{text-decoration:underline;text-underline-offset:3px;font-weight:600}.renewal-steps{background:#f1f6fd;border:1px solid #e0e9f6;border-radius:14px;padding:26px}.renewal-steps h2{font-size:21px;line-height:1.3;letter-spacing:-.02em;color:var(--buddy-navy)}.renewal-steps ol{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:22px}.renewal-steps li{display:flex;align-items:flex-start;gap:14px}.step-number{display:grid;place-items:center;background:#fff;color:var(--blue);border:1px solid #d3e1f4;flex:0 0 32px;height:32px;border-radius:50%;font-weight:700;font-size:15px}.renewal-steps h3{font-size:16px;line-height:1.5;font-weight:700}.renewal-steps li p{font-size:15px;color:#4c607b;line-height:1.55;margin-top:4px}.portal-plans{scroll-margin-top:24px}.portal-section-heading{margin:38px 0 22px}.portal-section-heading h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--buddy-navy)}.portal-section-heading p{font-size:16px;color:var(--muted);margin-top:10px;max-width:780px}.portal-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-plan{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 20px}.portal-home .portal-plan-name{font-size:16px;font-weight:700;line-height:1.5;color:var(--blue-dark);overflow-wrap:anywhere}.portal-speed{font-size:40px;font-weight:700;line-height:1.2;letter-spacing:-.04em;margin-top:22px;color:var(--buddy-navy);overflow-wrap:anywhere}.portal-speed span{font-size:16px;letter-spacing:0;font-weight:500;white-space:nowrap}.portal-home .portal-plan-type{font-size:14px;color:var(--muted);margin:6px 0 24px}.portal-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;border-top:1px solid var(--border);padding-top:18px;margin-top:auto}.portal-price strong{font-size:27px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}.portal-price>span{font-size:14px;color:var(--muted)}.portal-plan-cta{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #c5d6ed;background:#f0f5fc;color:var(--blue-dark);border-radius:8px;padding:11px 12px;min-height:46px;font-weight:700;font-size:14px;margin-top:22px}.portal-plan-cta:hover{background:var(--blue);border-color:var(--blue);color:#fff}.portal-coverage{margin-top:40px;padding-top:30px;border-top:1px solid var(--border)}.portal-coverage .portal-section-heading{margin:0 0 22px}.portal-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-areas a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:84px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text)}.portal-areas strong{display:block;font-size:16px;font-weight:700;line-height:1.5}.portal-areas small{display:block;font-size:14px;color:var(--muted);margin-top:2px}.area-arrow{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:8px;background:var(--blue-light);color:var(--blue);font-size:20px}.portal-areas a:hover{border-color:var(--blue);background:#f8fbff}.portal-areas a:hover strong{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.portal-home .coverage-help{margin-top:20px;font-size:15px;color:var(--muted)}
/* Consistent account and admin presentation; semantic statuses stay distinct. */
.customer-dashboard,.admin-ui{--blue:#155fc4;--blue-dark:#0d3f84;--blue-light:#edf4ff;--border:#dce5f1;--text:#142b49;--muted:#52637a;--bg:#f6f8fc;--green:#137a3a;--green-light:#f0fdf4;font-family:Arial,Helvetica,sans-serif}.connection-hero{background:linear-gradient(125deg,#071d44,#0d3f84)}.admin-sidebar{background:#071d44}.admin-brand-mark{background:#f4b429;color:#071d44}.nav-group a.active{background:#dceaff;color:#071d44}.admin-metric-featured{background:#0d3f84!important;border-color:#0d3f84!important}.customer-dashboard .tab.active,.product-button{background:var(--blue)}.product-button:hover{background:var(--blue-dark)}.admin-ui .btn:not(.btn-ghost):not(.btn-green):not(.btn-red){background:var(--blue);color:#fff}.admin-ui .btn:not(.btn-ghost):not(.btn-green):not(.btn-red):hover{background:var(--blue-dark)}.connection-heading .badge.b-green{background:var(--green-light);color:var(--green)}.connection-heading .badge.b-red{background:var(--red-light);color:var(--red)}.connection-heading .badge.b-gold{background:var(--gold-light);color:#92400e}.product-description,.product-facts,.product-duration label,.product-duration .input,.product-button,.product-saving,.product-amount>span{font-size:14px}.product-type,.customer-dashboard .eyebrow{font-size:12px}.product-facts{line-height:1.65}.customer-dashboard .tab{font-size:15px}.account-panel .detail-row dt{font-size:13px}.account-panel .detail-row dd{font-size:15px}.nav-group a{font-size:14px}.admin-page-heading p,.admin-ui .label{font-size:14px}
/* Simple staff login */
.admin-signin{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:40px 20px;background:var(--bg);font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--text)}.signin-shell{width:100%;max-width:470px}.signin-back{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:14px;margin-bottom:12px}.signin-back:hover{text-decoration:underline}.signin-card{background:#fff;padding:36px;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px #071d4406}.signin-brand{display:flex;align-items:center;gap:12px;color:var(--buddy-navy);font-size:16px;font-weight:700;margin-bottom:30px}.signin-brand img{width:48px;height:48px;object-fit:contain}.signin-card h1{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:0;color:var(--buddy-navy)}.signin-description{color:var(--muted);font-size:16px;margin:12px 0 26px;line-height:1.6}.signin-card form{margin-top:26px}.signin-card .label{font-size:15px;margin-bottom:8px}.signin-card .input{min-height:50px;border-radius:8px;font-size:16px}.signin-password-label{margin-top:22px}.signin-password{position:relative}.signin-password input{padding-right:70px}.signin-password button{position:absolute;right:4px;top:3px;min-height:44px;min-width:58px;background:transparent;border:0;color:var(--blue-dark);font-size:14px;font-weight:700;cursor:pointer}.signin-password button[hidden]{display:none}.signin-submit{margin-top:26px;justify-content:space-between;min-height:50px;font-size:16px}.signin-help{font-size:14px;color:var(--muted);text-align:center;margin:22px 0 0}.signin-footnote{font-size:13px;color:var(--muted);text-align:center;margin:20px 0 0}
@media(max-width:1000px){.renewal-intro{padding:30px;gap:28px}.portal-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.renewal-intro{grid-template-columns:1fr;padding:26px 22px;gap:28px}.renewal-copy h1{font-size:38px}.renewal-steps{padding:22px}.renewal-actions{margin-top:22px}.portal-section-heading h2{font-size:26px}.portal-areas{grid-template-columns:1fr}.portal-trustbar>div>div:last-child{flex-wrap:wrap;gap:6px 14px!important}.portal-header>div{gap:12px!important}.portal-header>div>div{width:100%;justify-content:space-between}.portal-header>div>a>div>div:first-child{font-size:16px!important}.portal-plan{padding:22px 18px}.product-grid{grid-template-columns:1fr}.admin-signin{padding:24px 16px}.signin-card{padding:28px 24px}}
@media(max-width:440px){.portal-plan-grid{grid-template-columns:1fr}.renewal-copy h1{font-size:34px}.renewal-actions{align-items:stretch}.renewal-actions>a{flex:1;white-space:nowrap;padding:11px 15px;font-size:15px;gap:12px}.renewal-intro{padding:24px 18px}.renewal-steps{padding:20px 16px}.portal-areas a{padding:16px}.portal-header>div>div{gap:4px!important}.portal-header>div>div>a{padding:8px 10px!important;font-size:13px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Homepage services sit before the shared Buddy stage and footer. */
.computer-services{margin-top:40px;padding-top:30px;border-top:1px solid var(--border)}.computer-services .portal-section-heading{margin:0 0 22px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.service-card h3{font-size:17px;line-height:1.45;color:var(--buddy-navy);font-weight:700}.portal-home .service-card p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:10px}.service-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#edf4ff;border:1px solid #d7e4f7;border-radius:12px;padding:24px;margin-top:18px}.service-contact h3{font-size:18px;line-height:1.4}.portal-home .service-contact p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:8px;max-width:580px}.service-contact .btn{flex-shrink:0;gap:18px;white-space:nowrap}@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-contact{align-items:flex-start;flex-direction:column;gap:18px}}@media(max-width:600px){.service-grid{grid-template-columns:1fr;gap:12px}.service-card{padding:22px}.service-contact{padding:22px}.service-contact .btn{width:100%;white-space:normal}}

/* Colourful site-wide edition: blue, violet, teal and warm amber. */
:root{--fl-blue:#165ac5;--fl-violet:#683bc2;--fl-teal:#087c79;--fl-amber:#a4590b;--fl-primary:linear-gradient(115deg,#165ac5,#683bc2);--fl-shadow:0 12px 32px #253f8512}
.customer-portal,.admin-ui,.admin-signin{background:radial-gradient(ellipse at 0 0,#e0edff,transparent 48%),radial-gradient(ellipse at 100% 20%,#f0e4ff,transparent 45%),#f7f9ff}
.portal-trustbar{background:linear-gradient(100deg,#0c285a,#493085)!important;border-bottom:0!important}
.portal-header{background:linear-gradient(105deg,#fff,#f1f5ff 60%,#f6efff)!important;border-bottom-color:#d9ddf6!important;box-shadow:0 3px 18px #343d7910}
.portal-header a[href$="/login.php"]{background:var(--fl-primary)!important}
.renewal-intro{background:linear-gradient(115deg,#e9f2ff 0%,#f5edff 56%,#e7f8f6 100%);border-color:#cbd9f4;box-shadow:var(--fl-shadow);border-top:5px solid #5e52ce}
.renewal-copy h1{color:#173978}.portal-home .section-label{display:inline-block;padding:5px 12px;background:#fff;border:1px solid #d7dcf4;border-radius:7px;color:#453393}
.renewal-steps{background:linear-gradient(140deg,#ffffffed,#f8f6ff);border-color:#d3d9f1;box-shadow:0 7px 22px #49328509}
.renewal-steps li:nth-child(1) .step-number{background:#e3eeff;color:#174b9b;border-color:#c3d7f7}.renewal-steps li:nth-child(2) .step-number{background:#eee3ff;color:#6336ad;border-color:#dbc9f4}.renewal-steps li:nth-child(3) .step-number{background:#daf4ec;color:#106c51;border-color:#b9e3d3}
.renewal-secondary{background:#ffffffb3;border-color:#bbc9e8}.portal-section-heading h2{border-left:5px solid #6550c9;padding-left:14px}.computer-services .portal-section-heading h2{border-left-color:#087c79}.portal-coverage .portal-section-heading h2{border-left-color:#be7019}
/* Rotate accent families while keeping all card copy dark and legible. */
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric){--tile-bg:#eaf2ff;--tile-line:#c8dafa;--tile-accent:#164fa6;--tile-button:linear-gradient(110deg,#165ac5,#2774d4)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(4n+2){--tile-bg:#f1e9ff;--tile-line:#ddccf5;--tile-accent:#6533a7;--tile-button:linear-gradient(110deg,#6533a7,#8053bd)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(4n+3){--tile-bg:#e3f6f0;--tile-line:#bee4d6;--tile-accent:#096b55;--tile-button:linear-gradient(110deg,#096b55,#0b8274)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(4n+4){--tile-bg:#fff1de;--tile-line:#f0d7b1;--tile-accent:#954909;--tile-button:linear-gradient(110deg,#954909,#b36115)}
.portal-plan,.product-card,.service-card{background:linear-gradient(145deg,var(--tile-bg),#fff 92%);border-color:var(--tile-line);border-top:4px solid var(--tile-accent);box-shadow:0 5px 20px #233b6908}
.portal-home .portal-plan-name,.portal-speed,.service-card h3,.product-card h3{color:var(--tile-accent)}.portal-plan-cta{background:var(--tile-button);border-color:transparent;color:#fff}.portal-plan-cta:hover{background:var(--tile-accent);border-color:transparent;color:#fff}.product-icon{background:var(--tile-bg);border-color:var(--tile-line);color:var(--tile-accent)}.product-button{background:var(--tile-button)}.product-button:hover{background:var(--tile-accent)}
.portal-areas a{background:linear-gradient(110deg,var(--tile-bg),#fff);border-color:var(--tile-line);border-left:4px solid var(--tile-accent)}.portal-areas a strong{color:var(--tile-accent)}.portal-areas .area-arrow{background:#fff;color:var(--tile-accent);border:1px solid var(--tile-line)}.portal-areas a:hover{background:var(--tile-bg);border-color:var(--tile-accent)}
.service-contact{background:linear-gradient(115deg,#dff4ee,#e8eeff 75%,#eee3ff);border-color:#c4dedb;border-left:4px solid #087c79}.portal-coverage,.computer-services{border-top-color:#d0d9ed}
/* Customer account, payment and sign-in surfaces. */
.connection-hero{background:linear-gradient(125deg,#102c65,#413087 65%,#126f85);box-shadow:0 12px 34px #38377c25}.account-panel{background:linear-gradient(135deg,#fff,#edf4ff 78%,#f1ebff);border-color:#cfdcf0}.account-panel .account-group h3{color:#453393}.assigned-offer{background:linear-gradient(110deg,#f0e7ff,#e8f1ff);border-color:#d7c7ef}.assigned-offer strong{color:#573395}.offer-symbol{background:#e3d3fa;color:#573395}.customer-dashboard .tab.active{background:var(--fl-primary)}.plan-tabs{background:#e8eafa;border-color:#d7d9ef}.customer-dashboard .dashboard-history-link{background:#eee9fb;border-color:#dad0ef;color:#523894}
.customer-portal main>.container-sm>.card{background:linear-gradient(145deg,#fff,#edf4ff 75%,#f3edff);border-color:#c9d8ef;border-top:4px solid #6550c9;box-shadow:var(--fl-shadow)}
.customer-portal .login-canvas{background:transparent}.customer-portal .login-card,.signin-card{background:linear-gradient(145deg,#fff,#f0f5ff 72%,#f4ecff);border-color:#cbd8ef;border-top:5px solid #6550c9;box-shadow:0 16px 44px #473a8917}.customer-portal .brand-logo-badge{background:linear-gradient(140deg,#dfeaff,#ecdcff);border-color:#d7c9ee}.customer-portal .support-card{background:linear-gradient(110deg,#e0f2ed,#e5efff);border-color:#c5ddd7}.customer-portal .submit-btn{background:var(--fl-primary);box-shadow:0 5px 16px #4d45a725}.customer-portal .input-shell:focus-within{border-color:#7751c8;box-shadow:0 0 0 4px #7953c51c}.signin-brand{color:#513795}
:is(.customer-portal,.admin-signin) .btn:not(.btn-ghost):not(.btn-green):not(.btn-red){background:var(--fl-primary);color:#fff;box-shadow:0 4px 12px #41398e1c}.input:focus,select:focus,textarea:focus{border-color:#7150c5;box-shadow:0 0 0 3px #7150c51c}
/* Administration: accent cards, navigation and tables on every shared page. */
.admin-sidebar{background:linear-gradient(165deg,#0c285a,#352866 60%,#164866)}.nav-group a.active{background:linear-gradient(100deg,#dceaff,#e8dcff);color:#35276c;box-shadow:0 4px 14px #080e2426}.admin-topbar{background:linear-gradient(105deg,#fff,#edf3ff 65%,#f1eaff);border-bottom-color:#d6ddf0}.admin-page-heading h1{color:#35276c}.admin-eyebrow{color:#604c8d!important}.admin-ui .card{background:linear-gradient(145deg,#fff,#f1f5ff);border-color:#d5def0;box-shadow:0 5px 18px #28396509}.admin-ui .admin-metric{background:linear-gradient(135deg,var(--tile-bg),#fff);border-color:var(--tile-line);border-top:4px solid var(--tile-accent)}.admin-ui .admin-metric .stat,.admin-ui .admin-metric .metric-icon{color:var(--tile-accent)}.admin-ui .admin-metric .metric-icon{background:var(--tile-bg)}.admin-ui .admin-metric-featured{background:linear-gradient(125deg,#174c9d,#593793)!important;border-color:#3f4597!important}.admin-ui .admin-metric-featured .stat,.admin-ui .admin-metric-featured .metric-icon{color:#fff}.admin-metric-featured .metric-top{color:#e1e8ff}.admin-quicklink{background:linear-gradient(120deg,var(--tile-bg),#fff);border-color:var(--tile-line);color:var(--tile-accent)}.admin-quicklink>svg{color:var(--tile-accent)}.admin-quicklink:hover{background:var(--tile-bg);border-color:var(--tile-accent)}
.admin-ui .btn:not(.btn-ghost):not(.btn-green):not(.btn-red){background:var(--fl-primary);color:#fff}.admin-ui .tab.active{background:#ede4ff;color:#51328c;border-color:#d5c3f0}.admin-ui th,.customer-dashboard th{background:linear-gradient(110deg,#e7efff,#eee8fc);color:#374c77}.admin-ui tbody tr:nth-child(even) td{background:#f7f8fe}.admin-ui tbody tr:hover td,.customer-dashboard tbody tr:hover td{background:#eef0ff}.admin-page-footer{border-top-color:#d4d9ed;color:#555879}
.fl-site-footer{background:linear-gradient(115deg,#102853,#31235e 65%,#164758)!important;border-top-color:#42436d!important}.fl-site-footer>div>div:nth-child(2){color:#bdcce3!important}.invoice-sheet>.grad{background:var(--fl-primary)}
/* Short, finite effects: content remains visible with or without animation. */
@keyframes fl-enter{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .renewal-intro,.customer-dashboard .dashboard-summary,.customer-portal .login-card,.signin-card,.admin-page-heading,.customer-portal main>.container-sm>.card{animation:fl-enter .45s ease-out}
 .portal-plan,.service-card,.portal-areas>a,.admin-quicklink{animation:fl-enter .4s ease-out}
 :is(.btn,.submit-btn,.portal-plan-cta,.product-button,.renewal-secondary,.area-arrow,.nav-group a){transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}
 :is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink){transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 :is(.portal-plan,.product-card,.portal-areas>a,.admin-quicklink):hover{transform:translateY(-4px);box-shadow:0 12px 26px #3e40891a;border-color:var(--tile-accent)}
 .service-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #3e408913}
 :is(.btn,.submit-btn,.portal-plan-cta,.product-button,.renewal-secondary):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 18px #40368d26}
 .portal-areas a:hover .area-arrow{transform:translate(2px,-2px)}
 .nav-group a:hover{transform:translateX(3px)}
}
:is(.btn,.submit-btn,.portal-plan-cta,.product-button):not(:disabled):active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:active,.submit-btn:active,.portal-plan-cta:active,.product-button:active,.product-card:hover{transform:none!important}}
@media print{body{background:#fff!important}.invoice-sheet>.grad{background:#fff!important;color:#102747!important;border-bottom:2px solid #155fc4}.invoice-sheet>.grad *{color:#102747!important}.invoice-sheet{box-shadow:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Service icons are decorative and inherit the card's colour family. */
.service-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border:1px solid var(--tile-line);border-radius:13px;background:#ffffffd9;color:var(--tile-accent);box-shadow:0 3px 9px #21396908}.service-icon svg{display:block;width:27px;height:27px}@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-icon{transition:transform .2s ease,background .2s ease}.service-card:hover .service-icon{transform:translateY(-2px) rotate(-4deg);background:#fff}}

/* The rounded input shell provides the customer phone field's focus indicator. */
.customer-portal .input-shell .phone-field:focus,
.customer-portal .input-shell .phone-field:focus-visible {
  outline: none;
  box-shadow: none;
  min-width: 0;
}
.portal-home .portal-plan-type { margin-bottom: 16px; }
.portal-plan-details {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
}
.portal-plan-details li { display: flex; align-items: baseline; gap: 9px; }
.portal-plan-details li > span:first-child { color: var(--tile-accent); font-weight: 700; flex-shrink: 0; }
/* Keep the featured wallet legible against the collection card's gradient. */
.admin-ui .admin-metric-featured .metric-icon {
  background: #fff;
  color: #353b85;
  flex-shrink: 0;
}
.admin-ui .admin-metric-featured .metric-icon svg { width: 18px; height: 18px; }

/* New connection enquiry banner. */
.new-connection-banner {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 32px;
  padding: 28px;
  border-radius: 16px;
  background: linear-gradient(115deg, #153d86, #563494);
  color: #fff;
}
.new-connection-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex-shrink: 0;
  border-radius: 14px;
  background: #ffffff1f;
}
.new-connection-icon svg { width: 32px; height: 32px; }
.new-connection-copy { flex: 1; min-width: 0; }
.portal-home .new-connection-label { color: #e0eaff; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.new-connection-copy h2 { color: #fff; font-size: 26px; line-height: 1.3; }
.new-connection-copy h2 + p { color: #edf1ff; font-size: 15px; margin-top: 8px; max-width: 610px; }
.new-connection-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 9px;
  background: #fff;
  color: #273a7c;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.new-connection-cta:hover { background: #edf1ff; color: #273a7c; }
.new-connection-cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (max-width: 700px) {
  .new-connection-banner { flex-wrap: wrap; gap: 16px; padding: 24px 20px; }
  .new-connection-icon { width: 44px; height: 44px; }
  .new-connection-copy { flex-basis: calc(100% - 60px); }
  .new-connection-copy h2 { font-size: 23px; }
  .new-connection-cta { width: 100%; white-space: normal; }
}

/* Responsive promotional carousel below the new connection banner. */
.promo-slider {
  width: min(100%, 980px);
  margin: 24px auto 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}
.promo-slider-viewport {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: transparent;
}
.promo-slider-track {
  display: flex;
  align-items: stretch;
  transition: transform .7s cubic-bezier(.22, .75, .25, 1);
  will-change: transform;
}
.promo-slide {
  display: grid;
  place-items: center;
  flex: 0 0 100%;
  min-width: 0;
  padding: 0;
  opacity: .35;
  transform: scale(.97);
  transition: opacity .45s ease, transform .45s ease;
}
.promo-slide[aria-hidden="false"] {
  opacity: 1;
  transform: scale(1);
}
.promo-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: 0 16px 38px #0005;
}
.promo-slider-button {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background: var(--fl-primary);
  color: #fff;
  font: 500 34px/1 Arial, sans-serif;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 8px 22px #061b5040;
  transition: background .2s ease, transform .2s ease;
}
.promo-slider-button:hover { background: #007dcc; transform: translateY(-50%) scale(1.06); }
.promo-slider-button:focus-visible { outline: 3px solid #008bd5; outline-offset: 3px; }
.promo-slider-prev { left: 18px; }
.promo-slider-next { right: 18px; }
.promo-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 38px;
  padding: 10px 14px 12px;
  border-top: 1px solid var(--border);
  background: transparent;
}
.portal-home .promo-slider-status { margin: 0; color: var(--muted); font-size: 13px; font-weight: 700; }
.promo-slider-dots { display: flex; align-items: center; gap: 8px; }
.promo-slider-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #73778f;
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}
.promo-slider-dots button[aria-current="true"] { width: 27px; background: #007dcc; }
.promo-slider-dots button:focus-visible { outline: 3px solid #008bd5; outline-offset: 3px; }
@media (max-width: 700px) {
  .promo-slider { margin-top: 18px; border-radius: 14px; }
  .promo-slider-viewport { padding: 0; }
  .promo-slide { padding: 0; }
  .promo-slide img { border-radius: 9px; }
  .promo-slider-button { width: 38px; height: 38px; font-size: 28px; }
  .promo-slider-prev { left: 5px; }
  .promo-slider-next { right: 5px; }
  .promo-slider-dots { gap: 6px; }
  .promo-slider-dots button { width: 7px; height: 7px; }
  .promo-slider-dots button[aria-current="true"] { width: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .promo-slider-track, .promo-slide, .promo-slider-button, .promo-slider-dots button { transition: none; }
}

/* Logo-led brand refresh: navy, electric blue, cyan and white. */
:root, .customer-dashboard, .admin-ui, .customer-portal, .admin-signin {
 --blue:#0066ce;--blue-dark:#073471;--blue-light:#eaf6ff;--buddy-navy:#061b50;
 --bg:#f3f8fd;--text:#122d50;--muted:#50657d;--border:#cddfed;
 --fl-primary:linear-gradient(115deg,#064caa,#007dcc);--fl-shadow:0 12px 36px #063c7510;
}
body.customer-portal,body.admin-ui,body.admin-signin{background:radial-gradient(ellipse at 95% 0,#d8f4ff,transparent 48%),#f3f8fd}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(n){--tile-bg:#edf7ff;--tile-line:#c5e0f3;--tile-accent:#0758a5;--tile-button:var(--fl-primary)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(even){--tile-bg:#e9faff;--tile-accent:#006887;--tile-line:#bce5ef}
.renewal-intro{background:linear-gradient(120deg,#fff 35%,#e3f6ff);border-color:var(--border);border-top-color:#008bd5;position:relative;overflow:hidden}
.renewal-steps{background:#ffffffd9;border-color:#bfddf0}.step-number{color:#0758a5;border-color:#afd6f2}
.connection-hero,.admin-sidebar{background:linear-gradient(125deg,#061b50,#06447b 75%,#006782)}
.account-panel,.customer-portal .login-card,.signin-card,.customer-portal main>.container-sm>.card{background:linear-gradient(145deg,#fff,#edf8ff);border-color:var(--border);border-top-color:#008bd5}
.customer-portal .brand-logo-badge,.customer-portal .support-card,.assigned-offer{background:#e7f6ff;border-color:#bfddf0}
.account-panel .account-group h3,.assigned-offer strong,.signin-brand,.admin-page-heading h1{color:#073471}.offer-symbol{color:#006887;background:#ddf5ff}
.customer-dashboard .dashboard-history-link,.plan-tabs,.admin-ui .tab.active{background:#e5f3ff;border-color:#bddcf3;color:#074e94}
.nav-group a.active{background:#def4ff;color:#063971}.admin-topbar{background:linear-gradient(100deg,#fff,#eaf7ff);border-color:#cddfed}.admin-eyebrow{color:#0758a5!important}
.admin-ui .admin-metric-featured{background:linear-gradient(125deg,#062a67,#007fab)!important;border-color:#0c76ad!important}
.admin-ui th,.customer-dashboard th{background:#e6f3fc;color:#123e65}.admin-ui tbody tr:nth-child(even) td{background:#f4faff}.admin-ui tbody tr:hover td,.customer-dashboard tbody tr:hover td{background:#e8f6ff}
.fl-site-footer{background:linear-gradient(115deg,#061b50,#073c68)!important;border-top-color:#12598a!important}
.customer-portal .input-shell:focus-within,.input:focus,select:focus,textarea:focus{border-color:#007dcc;box-shadow:0 0 0 3px #007dcc20}
.portal-header img{height:56px!important}.admin-brand-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;flex:none}
.fl-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.fl-action-card{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid #c5e0f3;border-radius:16px;padding:22px;color:#073471;box-shadow:0 6px 20px #063c7508;text-decoration:none}
.fl-action-card:hover{border-color:#007dcc;background:#f4fbff}.fl-action-card strong{display:block;font-size:20px}.fl-action-card small{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.fl-action-symbol{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:14px;background:#e5f5ff;color:#0062b7;font-size:28px}
.fl-billing-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.fl-billing-list{display:grid;gap:16px}.fl-bill{background:#fff;border:1px solid var(--border);border-left:4px solid #007dcc;border-radius:14px;padding:24px}.fl-bill-top,.fl-bill-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.fl-bill h2{font-size:20px;margin:0}.fl-bill-bottom{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.fl-bill-amount{font-size:26px;color:#073471;font-weight:800}.fl-bill p{overflow-wrap:anywhere}.fl-empty{text-align:center;padding:44px 24px}.fl-billing-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.fl-billing-tabs a{padding:10px 18px;border:1px solid var(--border);border-radius:24px;background:#fff;color:#073471}.fl-billing-tabs a[aria-current=page]{background:#064caa;color:#fff;border-color:#064caa}
.fl-payment-steps{display:flex;list-style:none;padding:0;margin:0 0 24px;gap:8px}.fl-payment-steps li{flex:1;padding:10px 8px;border-bottom:3px solid #cddfed;font-size:14px;color:#50657d}.fl-payment-steps .complete,.fl-payment-steps [aria-current=step]{border-color:#008bd5;color:#073471;font-weight:700}
.fl-submit-feedback{margin:12px 0 0;color:#073471;font-size:14px}.fl-busy-indicator{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;margin-right:8px}.fl-status-symbol{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:#def3ff;color:#0758a5;font-size:36px}
@keyframes fl-spin{to{transform:rotate(360deg)}}
@keyframes fl-confirm{from{transform:scale(.7);opacity:.2}to{transform:scale(1);opacity:1}}
@keyframes fl-quote{50%{background:#c9eeff;transform:translateY(-2px)}}
@keyframes fl-step{from{transform:translateX(-8px);opacity:.4}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .renewal-steps li{animation:fl-step .5s ease both}.renewal-steps li:nth-child(2){animation-delay:.12s}.renewal-steps li:nth-child(3){animation-delay:.24s}
 .fl-action-card{transition:transform .2s,background .2s}.fl-action-card:hover{transform:translateY(-3px)}.fl-action-card:hover .fl-renew-symbol{animation:fl-spin .8s ease}
 .fl-busy-indicator{animation:fl-spin .8s linear infinite}.fl-status-symbol{animation:fl-confirm .5s ease-out}.fl-quote-updated{animation:fl-quote .5s ease}.fl-bill{animation:fl-enter .35s ease-out}
}
@media(max-width:640px){.fl-quick-actions{grid-template-columns:1fr}.fl-action-card{padding:18px}.fl-payment-steps{gap:4px}.fl-payment-steps li{font-size:14px}.portal-header>div{gap:12px!important}.portal-header img{height:44px!important}.fl-bill{padding:18px}}
@media print{.fl-quick-actions,.fl-payment-steps,.fl-billing-tabs{display:none}}
.portal-trustbar{background:linear-gradient(100deg,#061b50,#06447b)!important}
.portal-header{background:linear-gradient(105deg,#fff,#eef9ff)!important;border-bottom-color:#cddfed!important}
.portal-home .section-label{color:#0758a5;border-color:#c5e0f3}
.renewal-steps li:nth-child(n) .step-number{background:#e7f6ff;color:#0758a5;border-color:#b4d9ee}
.portal-section-heading h2,.computer-services .portal-section-heading h2,.portal-coverage .portal-section-heading h2{border-left-color:#008bd5}
.service-contact{background:linear-gradient(115deg,#e2f6ff,#f1faff);border-color:#c5e0f3;border-left-color:#008bd5}
.admin-ui .admin-metric-featured .metric-icon{color:#073471}

/* Reference edition: midnight surfaces, periwinkle actions and vivid accents. */
:root,body.customer-portal,body.admin-ui,body.admin-signin,.customer-dashboard{
 --bg:#060711;--text:#f6f5fc;--muted:#babbd1;--border:#303044;--blue:#aabaff;--blue-dark:#dde4ff;--blue-light:#222540;
 --green:#8ae7b4;--green-light:#122e28;--red:#ff9bad;--red-light:#361c2a;--gold-light:#34291c;
 --buddy-navy:#f6f5fc;--fl-primary:linear-gradient(110deg,#466dff,#7762f3);--fl-shadow:0 20px 60px #0004;
}
body.customer-portal,body.admin-ui,body.admin-signin{background:radial-gradient(ellipse at 90% 0,#21173a 0,transparent 38%),#060711;color:var(--text)}
body{font-family:'Segoe UI',Arial,sans-serif}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aebaff;outline-offset:4px}
.customer-portal .portal-header{background:#080a15ed!important;border-color:#282a40!important;box-shadow:none}
.portal-trustbar{background:#111221!important;color:#c7c7dd!important}
.portal-header>div>a>div>div:first-child{color:#fff!important}.portal-header>div>a>div>div:last-child{color:#b7b9cf!important}
.portal-header>div>div>a{color:#d4ddff!important}.portal-header a[href$="/logout.php"]{background:#242638!important;border-color:#3c4056!important}
.portal-header img{height:58px!important;background:#fff;border-radius:50%;padding:3px}
.customer-portal main{padding-top:30px!important}.portal-home{font-family:inherit}
.renewal-intro{grid-template-columns:1.25fr 1fr;background:radial-gradient(ellipse at 95% 5%,#342347,transparent 55%),#11131f;border:1px solid #303047;border-radius:30px;padding:44px;gap:40px;box-shadow:0 22px 70px #0003}
.fl-home-brand{display:flex;gap:16px;align-items:center;margin-bottom:30px}.fl-home-brand img{width:92px;height:92px;object-fit:contain;background:white;border-radius:50%;padding:3px;box-shadow:0 0 34px #6585ff22}.fl-home-brand>span{font-size:18px;line-height:1.5;letter-spacing:.1em;font-weight:800;color:#fff}.fl-home-brand small{font-size:12px;letter-spacing:.15em;color:#b9bdd3}
.portal-home .section-label{background:#28223c;border:1px solid #44385b;color:#e2bbff;font-size:14px;padding:6px 12px;border-radius:100px}
.renewal-copy h1{color:#fff;font-size:clamp(36px,4.4vw,54px);letter-spacing:-.045em;line-height:1.12}.fl-gradient-text{color:#b8bdff;background:linear-gradient(100deg,#8eb8ff,#d98afb,#ffbd95);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.portal-home .renewal-description,.renewal-help,.renewal-steps li p{color:#c2c1d4}.renewal-primary{border-radius:12px!important;min-height:54px}.renewal-secondary{background:#242535;color:#fff;border-color:#45465f;border-radius:12px}.renewal-secondary:hover{background:#30324a;color:#fff}
.renewal-steps{background:#090c18;border:1px solid #2d2c44;border-radius:24px;padding:26px;box-shadow:0 16px 36px #0003;position:relative;overflow:hidden}.renewal-steps h2{color:#fff;font-size:22px}.renewal-steps h3{color:#f5f4ff}
.fl-renew-orbit{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 30deg,#8360ef,#e775c9,#ffac7a,#bfa0ff,#8360ef);box-shadow:0 0 48px #a459d02b,inset 0 0 24px #fff3;margin:0 auto 22px;color:#191128}.fl-renew-orbit span{font-size:78px;line-height:1;font-weight:400}
.renewal-steps li:nth-child(n) .step-number{background:#26233b;border:1px solid #655188;color:#dbb9ff}.renewal-steps li:nth-child(2) .step-number{background:#352633;color:#ffc29e;border-color:#78514a}.renewal-steps li:nth-child(3) .step-number{background:#202d47;color:#acd2ff;border-color:#405c89}
.fl-quick-actions{gap:18px;margin:24px 0 36px}.fl-action-card{background:#171824;border-color:#343349;border-radius:22px;color:#fff;padding:26px}.fl-action-card:hover{background:#202033;border-color:#8472e2}.fl-action-card strong{font-size:22px}.fl-action-card small{color:#bcbcd2}.fl-action-symbol{background:#242e52;color:#a6c2ff;border-radius:18px;width:58px;height:58px}.fl-action-card:nth-child(2) .fl-action-symbol{background:#382643;color:#f0b5e8}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(n){--tile-bg:#202239;--tile-line:#3d4265;--tile-accent:#b6c6ff;--tile-button:var(--fl-primary)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(3n+2){--tile-bg:#30213c;--tile-line:#634174;--tile-accent:#e9b4f9;--tile-button:linear-gradient(110deg,#7750c2,#8052be)}
:is(.portal-plan,.service-card,.portal-areas>a,.product-card,.admin-quicklink,.admin-metric):nth-child(3n+3){--tile-bg:#362626;--tile-line:#695048;--tile-accent:#ffc39d;--tile-button:linear-gradient(110deg,#99502f,#9c4554)}
.portal-plan,.product-card,.service-card,.admin-ui .admin-metric{background:linear-gradient(150deg,var(--tile-bg),#151622 85%);border-color:var(--tile-line);border-top:3px solid var(--tile-accent);border-radius:22px;box-shadow:0 12px 32px #0002}
.portal-section-heading h2,.computer-services .portal-section-heading h2,.portal-coverage .portal-section-heading h2{color:#f9f7ff;border-left-color:#9274e7}.portal-plan-details,.product-facts{color:#d9d9e9}.portal-price strong,.product-amount strong,.product-card h3{color:#fff}.product-description,.product-type,.product-amount>span{color:#bdbbd2}.product-icon,.service-icon,.portal-areas .area-arrow{background:var(--tile-bg);color:var(--tile-accent);border-color:var(--tile-line)}
.portal-areas a,.admin-quicklink{background:#171925;border-color:var(--tile-line)}.portal-areas a:hover,.admin-quicklink:hover{background:var(--tile-bg)}.portal-areas strong,.portal-areas a strong{color:#eeecf9}
.service-contact,.customer-portal .support-card{background:#202238;border-color:#454666;color:#e2e0f0}.service-contact strong,.service-contact h3{color:#fff}
.customer-portal .card,.admin-ui .card,.admin-ui .modal,.customer-portal .login-card,.signin-card,.customer-portal main>.container-sm>.card,.account-panel{background:#171824;border-color:#35354c;color:#f6f5fc;box-shadow:0 14px 32px #0002;border-radius:22px}
.card .h1,.card .h2,.card .label,.card .v,.card td,.dashboard-welcome h1{color:#f6f5fc}.connection-hero{background:radial-gradient(at 100% 0,#654985,transparent 60%),linear-gradient(110deg,#1b2b59,#24213e);border:1px solid #4b4671;border-radius:24px}
.account-panel .account-group h3{color:#b6c6ff}.assigned-offer{background:#2c213b;border-color:#59406b}.assigned-offer strong{color:#e9b4f9}.offer-symbol{background:#3c2c4f;color:#f3bafa}.plan-tabs{background:#171824;border-color:#38384f}.tab{background:#242537;color:#dddff2;border-color:#44465d}.customer-dashboard .tab.active,.admin-ui .tab.active{background:#536df0;color:#fff;border-color:#8998ff}
.input,select,textarea,.customer-portal .input-shell,.customer-portal .phone-field{background:#222333!important;color:#f2f1fc!important;border-color:#45465e!important}.input::placeholder,textarea::placeholder{color:#b1b2c7}.input option{background:#222333;color:#fff}.label{color:#e3e1f1}.customer-portal .brand-logo-badge{background:#fff;border-color:#9caaff}.customer-portal .login-card h1,.signin-card h1,.signin-brand{color:#fff}
.btn-ghost,.btn-ghost:visited,.customer-dashboard .dashboard-history-link{background:#27283c;color:#e8e8ff;border-color:#464862}.btn-ghost:hover{background:#36394f;color:#fff}.portal-plan-cta:hover,.product-button:hover{background:#5c62bb;color:#fff}
.admin-sidebar{background:#10111d;border-right:1px solid #2e3043}.admin-topbar{background:#151621;color:#eee;border-color:#303247}.admin-page-heading h1{color:#fff}.admin-eyebrow{color:#b7b8ef!important}.admin-brand{color:#fff}.nav-group a.active{background:#30304e;color:#e6dfff}.admin-ui .admin-metric-featured{background:linear-gradient(130deg,#323563,#623d70)!important;border-color:#726199!important}.admin-ui .admin-metric-featured .metric-icon{background:#2c2943;color:#e4d3ff}
.admin-ui th,.customer-dashboard th,th{background:#222337;color:#cbcce8}.admin-ui td,.customer-dashboard td{background:#171824;color:#eee;border-color:#33354b}.admin-ui tbody tr:nth-child(even) td{background:#1b1c2b}.admin-ui tbody tr:hover td,.customer-dashboard tbody tr:hover td{background:#25263c}
.fl-bill{background:#171824;border-color:#37394f;border-left-color:#8277e9}.fl-bill h2,.fl-bill-amount{color:#f8f6ff}.fl-billing-tabs a{background:#202132;color:#d5d6ef;border-color:#41445d}.fl-billing-tabs a[aria-current=page]{background:#536df0;color:#fff}.fl-status-symbol{background:#292c4c;color:#b4c3ff}.fl-payment-steps li{color:#b8b8ce;border-color:#38394e}.fl-payment-steps .complete,.fl-payment-steps [aria-current=step]{color:#ccd4ff;border-color:#8196ff}.fl-submit-feedback{color:#ccd4ff}
.fl-site-footer{background:#0b0c16!important;border-top:1px solid #292a3e!important}.fl-buddy-stage{background:#0d1020!important}.fl-buddy-message{color:#e6e5f6!important}
/* Legacy inline surfaces are brought into the shared dark palette. */
:is(.customer-portal,.admin-ui) main :is([style*="background:#fff"],[style*="background: #fff"],[style*="background:#f8"],[style*="background:#f1"],[style*="background:#eef"]){background:#202233!important}
:is(.customer-portal,.admin-ui) main :is([style*="color:#0f"],[style*="color:#0b"],[style*="color:#142"],[style*="color:#1e"],[style*="color:#334"],[style*="color:#475"]){color:#eeedf9!important}
@keyframes fl-orbit-turn{from{transform:rotate(-50deg) scale(.88);opacity:.2}to{transform:rotate(0) scale(1);opacity:1}}
@media(prefers-reduced-motion:no-preference){.fl-renew-orbit{animation:fl-orbit-turn 1.2s ease-out}.fl-action-card:hover .fl-action-symbol{box-shadow:0 0 24px #8183ff40}.portal-plan,.fl-action-card{transition:transform .2s,box-shadow .2s}.portal-plan:hover{box-shadow:0 14px 36px #8275f21c}.fl-quote-updated{animation:fl-dark-quote .5s ease}@keyframes fl-dark-quote{50%{background:#3c3b60;transform:translateY(-2px)}}}
@media(max-width:700px){.renewal-intro{grid-template-columns:1fr;padding:26px;gap:28px}.fl-home-brand img{width:76px;height:76px}.fl-home-brand{margin-bottom:24px}.renewal-copy h1{font-size:40px}.fl-action-card{padding:22px}.fl-renew-orbit{width:100px;height:100px}.fl-renew-orbit span{font-size:64px}.renewal-steps{padding:24px}}
/* Real invoice in a receipt-printer presentation. Paper stays readable in print. */
body.fl-invoice-page{background:radial-gradient(ellipse at 50% 0,#29213e,transparent 60%),#080a13;color:#f6f5ff;padding:36px 16px 64px;--muted:#bcbcd2}
.fl-receipt-stage{max-width:580px;margin:auto}.fl-receipt-heading{text-align:center;margin-bottom:36px}.fl-receipt-heading>a{display:block;text-align:left;color:#b5c4ff;margin-bottom:30px}.fl-receipt-heading .eyebrow{font-size:12px;letter-spacing:.16em;color:#c5b5f3}.fl-receipt-heading h1{font-size:34px;line-height:1.2;letter-spacing:-.04em;margin:10px 0}.fl-receipt-heading p:last-child{color:#bfbdd2;font-size:16px}
.fl-printer{height:64px;position:relative;z-index:2;border-radius:22px;background:linear-gradient(#51515e,#242632 28%,#10111a 76%,#353743);border:1px solid #686878;box-shadow:0 12px 30px #0009,inset 0 2px 2px #ffffff55}.fl-printer>span{position:absolute;bottom:11px;left:5%;width:90%;height:8px;border-radius:8px;background:#030407;box-shadow:0 1px 1px #ffffff55}.fl-printer>i{position:absolute;right:22px;top:15px;width:7px;height:7px;background:#a9baff;border-radius:50%;box-shadow:0 0 10px #7191ff}
.fl-receipt-window{margin:-16px 24px 0;padding-bottom:16px;overflow:hidden;position:relative;z-index:1}
.fl-paper{border:0;border-radius:0!important;padding:32px 26px 36px;background:#fff!important;color:#20232d!important;box-shadow:0 10px 24px #0003;position:relative;transform-origin:top center;clip-path:polygon(0 0,100% 0,100% 99%,98% 100%,96% 99%,94% 100%,92% 99%,90% 100%,88% 99%,86% 100%,84% 99%,82% 100%,80% 99%,78% 100%,76% 99%,74% 100%,72% 99%,70% 100%,68% 99%,66% 100%,64% 99%,62% 100%,60% 99%,58% 100%,56% 99%,54% 100%,52% 99%,50% 100%,48% 99%,46% 100%,44% 99%,42% 100%,40% 99%,38% 100%,36% 99%,34% 100%,32% 99%,30% 100%,28% 99%,26% 100%,24% 99%,22% 100%,20% 99%,18% 100%,16% 99%,14% 100%,12% 99%,10% 100%,8% 99%,6% 100%,4% 99%,2% 100%,0 99%)}
.fl-paper-header{display:flex;gap:16px;align-items:center;padding:12px 0 22px;border-bottom:1px dashed #bac0cc}.fl-paper-header img{width:88px;height:88px;object-fit:contain;flex:none}.fl-paper-header strong{display:block;font-size:19px;line-height:1.3}.fl-paper-header span,.fl-paper-header small{display:block;font-size:12px;color:#545b6c;margin-top:5px;letter-spacing:.06em}.fl-paper-header small{overflow-wrap:anywhere;letter-spacing:0}
.fl-receipt-meta{display:flex;justify-content:space-between;gap:10px;margin:20px 0;font-size:13px;color:#515868}.fl-receipt-meta strong{border:1px solid #368465;color:#21644c;border-radius:4px;padding:2px 8px}.fl-receipt-amount{padding:0 0 20px;border-bottom:1px dashed #bac0cc}.fl-receipt-amount>span{display:block;color:#545b6c;font-size:14px}.fl-receipt-amount>strong{display:block;font-size:38px;letter-spacing:-.04em;color:#111827}
.fl-paper .fl-receipt-table{font-size:13px;margin-top:8px;table-layout:fixed}.fl-paper .fl-receipt-table th,.fl-paper .fl-receipt-table td{background:#fff!important;color:#303847!important;border:0;border-bottom:1px dashed #e0e3e8;padding:9px 0;white-space:normal;overflow-wrap:anywhere;vertical-align:top;line-height:1.4}.fl-paper .fl-receipt-table th{width:43%;text-align:left;font-weight:500;padding-right:12px}.fl-paper .fl-receipt-table td{text-align:right;font-weight:600}
.fl-receipt-totals{margin-top:20px}.fl-receipt-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:6px 0}.fl-receipt-totals .fl-grand-total{border-top:2px solid #252936;margin-top:10px;padding-top:14px;font-size:19px;color:#131824}.fl-paper-footer{text-align:center;border-top:1px dashed #bac0cc;margin-top:24px;padding-top:20px;color:#555d6e}.fl-paper-footer strong{font-size:13px;color:#242b38}.fl-paper-footer p{font-size:12px;overflow-wrap:anywhere}.fl-paper-footer small{font-size:12px;overflow-wrap:anywhere}
.fl-receipt-controls{text-align:center;margin-top:18px}.fl-receipt-controls>div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.fl-receipt-controls .btn{background:#546fff;color:#fff}.fl-receipt-controls .btn-ghost{background:#242638}.fl-receipt-controls .btn:disabled{opacity:.65;cursor:wait}.fl-receipt-controls .fl-print-help{font-size:13px;color:#b8b8cd}.fl-receipt-controls [hidden]{display:none}
@keyframes fl-paper-feed{0%{transform:translateY(-102%)}12%{transform:translateY(-92%)}35%{transform:translateY(-64%)}58%{transform:translateY(-39%)}78%{transform:translateY(-18%)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.is-printing .fl-paper{animation:fl-paper-feed 1.7s cubic-bezier(.2,.5,.3,1) both}.is-printing .fl-printer>i{animation:fl-confirm .35s alternate 5}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:480px){body.fl-invoice-page{padding:24px 10px 40px}.fl-receipt-window{margin-left:12px;margin-right:12px}.fl-paper{padding:24px 16px 32px}.fl-paper-header img{width:66px;height:66px}.fl-paper-header strong{font-size:16px}.fl-paper-header{gap:12px}.fl-receipt-heading h1{font-size:29px}.fl-receipt-meta{font-size:12px;flex-wrap:wrap}}
@media print{
 @page{size:A4 portrait;margin:10mm}
 html,body.fl-invoice-page{background:#fff!important;color:#111!important;padding:0!important;margin:0!important}
 .noprint,.fl-printer,.fl-receipt-heading,.fl-receipt-controls{display:none!important}
 /* Scale the original receipt uniformly instead of reflowing it across A4. */
 .fl-receipt-stage{width:580px;max-width:100%;margin:0 auto;zoom:.85}
 .fl-receipt-window{margin:0 24px;padding-bottom:16px;overflow:visible}
 .fl-paper{transform:none!important;animation:none!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .fl-paper *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .fl-paper-header,.fl-receipt-totals,.fl-paper-footer,tr{break-inside:avoid}
}

/* Account readability correction: override legacy light-theme text explicitly. */
.customer-portal .account-panel,
.customer-portal .account-panel :is(h2,h3,p,dt,dd,strong,small,span,a,.eyebrow,.muted){color:#fff!important}
.customer-portal .account-panel .detail-row dt,
.customer-portal .account-panel .detail-row dd,
.customer-portal .account-panel .account-group h3{font-size:14px;line-height:1.6}
.customer-portal .account-panel .eyebrow{font-size:12px;letter-spacing:.12em}
.customer-portal .account-panel .account-columns{min-width:0}
.customer-portal .account-panel .account-group{min-width:0}
.customer-portal .account-panel .detail-row dd{overflow-wrap:anywhere}
.customer-portal :is(.shop-heading h2,.product-facts strong,.duration-fixed strong,.product-duration label,.product-saving,.product-saving s,.fact-check,.shop-footnote,.history-count,.customer-dashboard .eyebrow){color:#eef0ff!important}
.customer-portal :is(.product-description,.product-type,.product-amount>span,.product-facts,.duration-fixed,.payment-table td:before){color:#d5d8ed!important}
.customer-portal .duration-fixed strong{background:#242638;border-color:#45485f}
.customer-portal .product-facts{border-top-color:#41435b}
.customer-portal .product-duration label,.customer-portal .product-facts,.customer-portal .duration-fixed,.customer-portal .product-description{font-size:14px}
.customer-portal .payment-table td:before{color:#d5d8ed!important;font-size:13px}
.customer-portal .shop-footnote{background:#1b1d2e;border-color:#373b52}
.order-expiry-note,.order-expiry-message{color:#fff;background:#282b46;border:1px solid #555d8a;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.6}
.order-expiry-message a{color:#c2d2ff;text-decoration:underline}.order-expiry-message[hidden],.order-expiry-note[hidden]{display:none}
.customer-portal form button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:600px){.customer-portal .account-panel .account-columns{grid-template-columns:1fr}.customer-portal .account-panel .account-group+.account-group{padding:20px 0 0;border-left:0;border-top:1px solid #41435b}}
/* Homepage: explicit foregrounds for every content section and interactive state. */
.customer-portal .portal-home :is(.portal-section-heading h2,.portal-plan-name,.portal-speed,.portal-price strong,.portal-areas strong,.service-card h3,.service-contact h3){color:#fff!important}
.customer-portal .portal-home :is(.renewal-description,.renewal-help,.renewal-steps li p,.portal-section-heading p,.portal-plan-type,.portal-plan-details,.portal-price>span,.portal-areas small,.coverage-help,.service-card p,.service-contact p){color:#e0e3f2!important}
.customer-portal .portal-home .portal-plan-details strong{color:#fff}
.customer-portal .portal-home :is(.renewal-help a,.coverage-help a){color:#c6d2ff!important}
.customer-portal .portal-home :is(.portal-plan-cta,.portal-plan-cta:hover,.portal-plan-cta:visited){background:#465ac9;color:#fff!important}
.customer-portal .portal-home .portal-areas a:hover strong{color:#fff!important}
.customer-portal .portal-home .service-card:hover .service-icon{background:#282b44;color:#d6ddff}
.customer-portal .portal-home .new-connection-cta{background:#fff;color:#273a7c!important}
.customer-portal .portal-home .new-connection-cta:hover{background:#e8ecff;color:#273a7c!important}
.customer-portal .history-count{background:#292d45;border:1px solid #444961}
.customer-portal .notice.gold{color:#f4e7ce}
.customer-portal .notice.gold>b{color:#ffe0a8!important}
.customer-portal .notice.red{color:#f6d7df}
.customer-portal .notice.red>b{color:#ffb4c2!important}
.customer-portal .b-gold,.customer-portal .flash.info{color:#ffe0a8;background:#34291c}

/* COMPLETE CONTRAST AUDIT — shared foreground/surface pairs, September 2026.
   Scoped to app screens. White receipt paper and printer styling are excluded. */
body.customer-portal,body.admin-ui,body.admin-signin{
 color-scheme:dark;
 --text:#f6f5fc;--muted:#d0d3e4;--blue:#c3d0ff;--blue-dark:#e0e7ff;
 --green:#9be4b9;--green-light:#153629;--red:#ffb4c2;--red-light:#3b1f2b;
 --gold-light:#3a2d1b;--fl-primary:linear-gradient(110deg,#4057c5,#6847b8);
 /* Login's embedded stylesheet resolves these on body, not its light :root. */
 --bg-page:#060711;--card-bg:#171824;--border-subtle:#3d4056;--border-input:#62677f;
 --primary:#c3d0ff;--primary-hover:#384cad;--text-heading:#fff;--text-body:#d0d3e4;
 --text-muted:#c4c9df;--success:#9be4b9;--amber-bg:#3a2d1b;--amber-border:#806339;--amber-text:#ffe0a8;
}
body.customer-portal .muted,body.admin-ui .muted,body.admin-signin .muted{color:#d0d3e4!important}
body.customer-portal .account-panel .muted{color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(input,select,textarea){color-scheme:dark}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(input,textarea)::placeholder{color:#c4c9df!important;opacity:1}
body:is(.customer-portal,.admin-ui,.admin-signin) input:-webkit-autofill{-webkit-text-fill-color:#fff!important;box-shadow:0 0 0 1000px #222333 inset!important;caret-color:#fff}
body:is(.customer-portal,.admin-ui,.admin-signin) input::file-selector-button{background:#303751!important;color:#fff!important;border:1px solid #6d7594!important;border-radius:7px;padding:8px 12px}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(.label,label,legend){color:#f6f5fc}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(.btn,.submit-btn,.product-button):not(.btn-ghost):not(.btn-green):not(.btn-red){background:var(--fl-primary)!important;color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(.btn,.submit-btn,.product-button):not(.btn-ghost):not(.btn-green):not(.btn-red):hover{background:#394eaf!important;color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-ghost{background:#292d45!important;color:#edf0ff!important;border-color:#626985}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-ghost:hover{background:#383e5a!important;color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-green{background:#17623e!important;color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-green:hover{background:#124c30!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-red{background:#992e49!important;color:#fff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .btn-red:hover{background:#7d243b!important}
body:is(.customer-portal,.admin-ui,.admin-signin) :is(button,.btn,.submit-btn,.product-button):disabled{background:#303349!important;color:#d2d6e8!important;opacity:1!important;box-shadow:none;cursor:not-allowed}
body:is(.customer-portal,.admin-ui,.admin-signin) .b-green,body:is(.customer-portal,.admin-ui,.admin-signin) .flash.ok{background:#153629!important;color:#9be4b9!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .b-gold,body:is(.customer-portal,.admin-ui,.admin-signin) .flash.info{background:#3a2d1b!important;color:#ffe0a8!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .b-red,body:is(.customer-portal,.admin-ui,.admin-signin) .flash.err{background:#3b1f2b!important;color:#ffb4c2!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .b-blue{background:#263252!important;color:#c3d0ff!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .b-grey{background:#303349!important;color:#d2d6e8!important}
body:is(.customer-portal,.admin-ui,.admin-signin) .badge :is(span,b,strong){color:inherit!important}
body.customer-portal :is(.portal-skip,.admin-skip),body.admin-ui .admin-skip{background:#fff;color:#263a75!important}
body.customer-portal .portal-header a[href$="/login.php"]{background:#4057c5!important;color:#fff!important}
/* Customer login: title, helper copy, number prefix, readiness and support. */
body.customer-portal .login-canvas{background:#060711}
body.customer-portal .login-card :is(.title,.label-text,.support-title){color:#fff!important}
body.customer-portal .login-card :is(.subtitle,.security-footer){color:#d0d3e4!important}
body.customer-portal .login-card .prefix{background:#303349;color:#fff!important;border-color:#62677f}
body.customer-portal .login-card .counter-pill{background:#303349;color:#d2d6e8!important}
body.customer-portal .login-card .counter-pill.ready{background:#153629;color:#9be4b9!important}
body.customer-portal .login-card .brand-logo-badge{color:#263a75;background:#fff}
body.customer-portal .login-card .notice-icon{color:#ffe0a8}
body.customer-portal .login-card .support-card:hover{background:#2c3049;border-color:#626985}
body.customer-portal .login-card .support-sub{color:#c3d0ff!important}
body.admin-signin :is(.signin-brand,.signin-card h1,.signin-card .label){color:#fff!important}
body.admin-signin :is(.signin-description,.signin-help,.signin-footnote,.signin-back){color:#d0d3e4!important}
body.admin-signin .signin-password button{color:#dce4ff!important;background:#222333}
/* Operations: shared by all admin routes, including generated table controls. */
body.admin-ui :is(.admin-topbar span,.admin-page-heading p,.admin-page-footer,.nav-group p,.admin-brand small,.sidebar-footer small){color:#c6cbdf!important}
body.admin-ui .topbar-actions a{background:#292d45;color:#edf0ff!important}
body.admin-ui :is(.label,.info .v,.stat,.admin-quicklink strong,td b,td strong){color:#fff!important}
body.admin-ui .info .k{color:#d0d3e4!important}
body.admin-ui :is(.metric-top,.admin-quicklink small,.admin-table-count,.admin-pagination,.admin-table-search){color:#d0d3e4!important}
body.admin-ui td{color:#f6f5fc!important}
body.admin-ui td a:not(.btn){color:#c3d0ff!important}
body.admin-ui td:last-child a:not(.btn){background:#292d45!important;color:#dce4ff!important;border-color:#555c79}
body.admin-ui td:last-child a:not(.btn):hover{background:#383e5a!important;color:#fff!important}
body.admin-ui :is(.admin-table-tools,.admin-pagination){background:#171824;border-color:#41465f}
body.admin-ui .admin-table-search input{background:#222333!important;color:#fff!important;border-color:#62677f}
body.admin-ui .admin-pagination button{background:#292d45;color:#fff;border-color:#626985}
body.admin-ui .admin-pagination button:hover:not(:disabled){background:#383e5a;color:#fff}
body.admin-ui .admin-pagination button:disabled{background:#303349!important;color:#d2d6e8!important}
body.admin-ui .admin-page-body .tab{background:#292d45!important;color:#edf0ff!important;border-color:#626985}
body.admin-ui .admin-page-body .tab.active{background:#4057c5!important;color:#fff!important}
body.admin-ui .admin-quicklink:hover{background:#292d45!important}
body.admin-ui input[readonly]{background:#303349!important;color:#d2d6e8!important}
body.admin-ui [style*="#B45309"],body.admin-ui [style*="#16a34a"]{color:#ffe0a8!important}
body.admin-ui a[style*="#16a34a"]{color:#9be4b9!important}
/* Remaining customer facts and hover surfaces. */
body.customer-portal :is(.info .k,.info .v){color:#fff!important}
body.customer-portal :is(.product-saving,.product-saving s){color:#9be4b9!important}
body.customer-portal .product-card:hover{background:linear-gradient(150deg,var(--tile-bg),#151622 85%)}
body.customer-portal .portal-areas a:hover{background:#292d45!important}
body.customer-portal .renewal-secondary:hover{background:#383e5a;color:#fff}
/* Buddy styles are inserted late with !important: override the actual surfaces. */
body.customer-portal .fl-buddy-stage{background:#0d1020!important;border-color:#34394f!important}
body.customer-portal .fl-buddy-message{background:#24283d!important;color:#fff!important;border-color:#687294!important}
body.customer-portal :is(.fl-buddy-quick-menu,.fl-buddy-guide-panel){background:#171824!important;border-color:#626985!important}
body.customer-portal .fl-buddy-quick-menu :is(strong,a,button){color:#f6f5fc!important}
body.customer-portal .fl-buddy-quick-menu :is(a,button):hover{background:#303751!important;color:#fff!important}
body.customer-portal .fl-buddy-quick-menu :is(a,button) span{background:#303751!important;color:#edf0ff!important}
body.customer-portal .fl-buddy-guide-content{background:#171824!important;color:#f6f5fc!important}
body.customer-portal .fl-buddy-guide-content :is(h3,li,li b,li span){color:#e0e3f2!important}
body.customer-portal .fl-buddy-safe-note{background:#3a2d1b!important;color:#ffe0a8!important;border-color:#806339!important}
body.customer-portal .fl-buddy-guide-panel footer{background:#22263b!important;border-color:#41465f!important}
body.customer-portal .fl-buddy-guide-panel footer a{color:#c3d0ff!important;border-color:#41465f!important}
body.customer-portal .fl-buddy-guide-panel footer a+a{color:#9be4b9!important}
/* Paper intentionally uses dark ink. Its controls still need readable blue. */
body.fl-invoice-page{color-scheme:light}
body.fl-invoice-page .fl-receipt-controls .btn:not(.btn-ghost){background:#4057c5;color:#fff}
body.fl-invoice-page .fl-receipt-controls .btn-ghost{background:#292d45;color:#edf0ff}
body.fl-invoice-page .fl-receipt-controls .btn:disabled{opacity:1;background:#303349;color:#d2d6e8}

/* Screenshot follow-up: headings outside cards, inactive plan tabs, receipts. */
body.customer-portal main :is(h1,h2,h3,.h1,.h2),
body.customer-portal .fl-billing-heading .h1,
body.customer-portal #payment-history .h2{color:#fff!important}
body.customer-portal .plan-tabs .tab,
body.customer-portal .plan-tabs .tab:visited{background:#292d45!important;color:#edf0ff!important;border-color:#626985}
body.customer-portal .plan-tabs .tab:hover,
body.customer-portal .plan-tabs .tab:focus-visible{background:#383e5a!important;color:#fff!important}
body.customer-portal .plan-tabs .tab.active,
body.customer-portal .plan-tabs .tab[aria-current="page"]{background:#4057c5!important;color:#fff!important;border-color:#8998ff}
body.customer-portal .payment-table .receipt-link,
body.customer-portal .payment-table .receipt-link:visited{color:#c3d0ff!important;text-decoration:underline;text-underline-offset:3px}
body.customer-portal .payment-table .receipt-link:hover,
body.customer-portal .payment-table .receipt-link:focus-visible{color:#fff!important}

/* Local coverage directory: scoped to the home page. */
.portal-home .coverage-directory {
  margin-top: 42px;
  padding: clamp(20px, 3.5vw, 38px);
  border: 1px solid #34334e;
  border-radius: 26px;
  background: radial-gradient(ellipse at 100% 0, #30244866, transparent 55%), #10111e;
}
.coverage-directory .coverage-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 26px; }
.portal-home .coverage-directory .coverage-eyebrow { margin: 0 0 10px; color: #b5adf4; font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.portal-home .coverage-directory h2 { border: 0; padding: 0; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.portal-home .coverage-directory .coverage-heading p:not(.coverage-eyebrow) { max-width: 540px; margin-top: 12px; color: #b9b9cd; font-size: 14px; line-height: 1.65; }
.coverage-directory .coverage-count { flex-shrink: 0; padding: 7px 12px; border: 1px solid #484061; border-radius: 100px; background: #242035; color: #ded8ff; font-size: 12px; font-weight: 600; white-space: nowrap; }
.coverage-directory .portal-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.coverage-directory .portal-areas .coverage-location { min-height: 88px; gap: 14px; padding: 17px; border: 1px solid #303147; border-radius: 14px; background: #191a29; color: #f3f2fc; text-decoration: none; transition: background .2s, border-color .2s; }
.coverage-directory .coverage-pin { display: grid; place-items: center; flex: 0 0 40px; height: 44px; border-radius: 12px; background: #26243e; color: #b8adff; }
.coverage-directory svg { display: block; width: 21px; height: 21px; }
.coverage-directory .coverage-location-copy { min-width: 0; flex: 1; }
.coverage-directory .portal-areas strong { color: #f3f2fc; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.coverage-directory .portal-areas small { margin-top: 5px; color: #b5b5cc; font-size: 12px; line-height: 1.5; }
.coverage-directory .portal-areas .area-arrow { flex: 0 0 28px; height: 28px; border: 0; background: transparent; color: #b8adff; font-size: 21px; }
.coverage-directory .area-arrow svg { width: 18px; height: 18px; }
.coverage-directory .portal-areas a:hover { background: #232237; border-color: #8f80d1; }
.coverage-directory .portal-areas a:hover strong { color: #fff; text-decoration: none; }
.coverage-directory .portal-areas a:focus-visible,.coverage-directory .coverage-call:focus-visible { outline: 3px solid #c1b6ff; outline-offset: 3px; }
.coverage-directory .coverage-contact { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #303047; }
.portal-home .coverage-directory .coverage-contact h3 { font-size: 15px; color: #eeeafa; }
.portal-home .coverage-directory .coverage-contact p { font-size: 13px; color: #b5b5cc; margin-top: 5px; }
.coverage-directory .coverage-call { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding: 11px 17px; border: 1px solid #9b8ce2; border-radius: 10px; background: #b8a9f4; color: #191329; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.coverage-directory .coverage-call:hover { background: #c9bdf9; }
@media (max-width: 700px) {
  .coverage-directory .coverage-heading { flex-wrap: wrap; gap: 14px; }
  .coverage-directory .portal-areas { grid-template-columns: 1fr; }
  .coverage-directory .coverage-contact { align-items: stretch; flex-direction: column; gap: 16px; }
  .coverage-directory .coverage-call { align-self: flex-start; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .coverage-directory .portal-areas .coverage-location,.coverage-directory .area-arrow { transition: none; }
  .coverage-directory .portal-areas a:hover .area-arrow { transform: none; }
}

/* Long-term plan promotion. */
.portal-home .long-plan-banner { position: relative; display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px 36px; align-items: center; margin-top: 36px; padding: clamp(22px, 3.5vw, 38px); border: 1px solid #645288; border-radius: 26px; background: radial-gradient(ellipse at 100% 0, #7457a047, transparent 65%), linear-gradient(120deg, #211b38, #141828); }
.portal-home .long-plan-eyebrow { color: #d0bcff; font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-bottom: 14px; }
.portal-home .long-plan-copy h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.16; letter-spacing: -.035em; color: #fff; }
.long-plan-copy h2 span { color: #c5b0ff; }
.portal-home .long-plan-copy > p:not(.long-plan-eyebrow) { margin-top: 16px; max-width: 400px; font-size: 14px; line-height: 1.7; color: #cbc6dd; }
.long-plan-cta { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 46px; margin-top: 22px; padding: 12px 17px; border-radius: 10px; background: #d1baff; color: #201432; font-size: 13px; font-weight: 700; text-decoration: none; }
.long-plan-cta:hover { background: #e0d0ff; color: #201432; }
.long-plan-cta:focus-visible { outline: 3px solid #eee5ff; outline-offset: 4px; }
.long-plan-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.long-plan-term { min-width: 0; padding: 24px 16px; border: 1px solid #635078; border-radius: 16px; background: #ffffff08; }
.long-plan-term:nth-child(2) { border-color: #5a628a; background: #758be00c; }
.long-plan-term:nth-child(3) { border-color: #8a6b5d; background: #e6a3770c; }
.long-plan-term-label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .07em; color: #cec0e6; }
.long-plan-term strong { display: block; margin-top: 19px; font-size: 44px; line-height: 1.1; letter-spacing: -.04em; color: #f3eaff; }
.long-plan-term:nth-child(2) strong { color: #becaff; }
.long-plan-term:nth-child(3) strong { color: #ffd0ab; }
.long-plan-term strong span { display: block; margin-top: 6px; font-size: 14px; font-weight: 500; letter-spacing: 0; }
.portal-home .long-plan-term p { margin-top: 18px; color: #c0bbcf; font-size: 12px; line-height: 1.5; }
.portal-home .long-plan-note { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid #ffffff1f; font-size: 12px; line-height: 1.6; color: #bdb6d0; }
@media (max-width: 900px) { .portal-home .long-plan-banner { grid-template-columns: 1fr; } }
@media (max-width: 420px) {
  .long-plan-options { gap: 7px; }
  .long-plan-term { padding: 18px 9px; border-radius: 12px; }
  .long-plan-term strong { font-size: 34px; }
  .long-plan-term-label { font-size: 9px; letter-spacing: 0; }
  .long-plan-term strong span { font-size: 12px; }
  .portal-home .long-plan-term p { font-size: 11px; }
}

.portal-home .long-plan-term .long-plan-saving { margin-top: 20px; color: #dccaff; font-size: 13px; font-weight: 600; }
.long-plan-saving b { display: block; margin-top: 5px; font-size: clamp(18px, 2.4vw, 25px); line-height: 1.2; overflow-wrap: anywhere; }
.portal-home .long-plan-term .long-plan-saving-empty { color: #c0bbcf; font-size: 12px; font-weight: 400; }

/* Homepage UPI acceptance banner. */
.portal-home .accepted-upi { margin: 30px 0; padding: clamp(20px, 3vw, 32px); border: 1px solid #414d6d; border-radius: 24px; background: radial-gradient(ellipse at 100% 0,#24505155,transparent 60%),linear-gradient(120deg,#1b2036,#131522); }
.accepted-upi-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.portal-home .accepted-upi-eyebrow { margin-bottom: 10px; color: #9ae4cf; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.portal-home .accepted-upi h2 { color: #fff; font-size: clamp(25px,3vw,34px); line-height: 1.2; letter-spacing: -.03em; }
.portal-home .accepted-upi-heading p:not(.accepted-upi-eyebrow) { margin-top: 12px; max-width: 570px; color: #c1c7da; font-size: 14px; line-height: 1.65; }
.accepted-upi-cta { display: inline-flex; align-items: center; justify-content: center; gap: 22px; flex-shrink: 0; min-height: 46px; padding: 12px 18px; border-radius: 10px; background: #b6f0d9; color: #122c26; font-weight: 700; font-size: 14px; text-decoration: none; }
.accepted-upi-cta:hover { background: #d0fae9; color: #122c26; }
.accepted-upi-apps { list-style: none; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; padding: 0; margin: 25px 0 0; }
.accepted-upi-apps li { min-width: 0; min-height: 65px; display: flex; align-items: center; justify-content: center; padding: 12px; background: #fff; border: 1px solid #e7e8ed; border-radius: 12px; }
.accepted-upi-apps img { display: block; width: 100%; max-width: 145px; height: 42px; object-fit: contain; }
.accepted-upi-apps .accepted-upi-other { flex-direction: column; gap: 2px; background: #232e3e; color: #d4e9e2; border-color: #48675d; font-size: 11px; text-align: center; }
.accepted-upi-other span { font-size: 22px; line-height: 1; }
.portal-home .accepted-upi-note { color: #bec9d5; font-size: 12px; line-height: 1.7; margin-top: 18px; }
@media(max-width:900px) { .accepted-upi-apps { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .accepted-upi-heading { align-items: flex-start; flex-direction: column; gap: 18px; } .accepted-upi-apps { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Keep the mobile payment history as one continuous card surface. */
@media (max-width: 600px) {
  body.customer-portal .customer-dashboard .payment-history-card {
    background: #1b1c27;
    border: 1px solid #38394c;
    border-radius: 22px;
    overflow: hidden;
  }
  /* Touch browsers can retain :hover after a tap. Keep rows dark too. */
  body.customer-portal .customer-dashboard .payment-history-card .payment-table tr,
  body.customer-portal .customer-dashboard .payment-history-card .payment-table tr:hover {
    background: transparent;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 20px;
    padding: 20px;
  }
  body.customer-portal .customer-dashboard .payment-history-card .payment-table td,
  body.customer-portal .customer-dashboard .payment-history-card .payment-table tr:hover td {
    background: transparent;
    min-width: 0;
  }
}

/* Connection checkout: contrasting plan and payment surfaces. */
.customer-dashboard .first-payment-card{padding:0;margin:0 0 28px;border:1px solid #354574!important;border-radius:24px;background:#16284b!important;overflow:hidden;box-shadow:0 20px 56px #0003}
.first-payment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.68fr);gap:0}
.first-payment-details{min-width:0;padding:32px;background:radial-gradient(ellipse at 0 0,#31599666,transparent 70%),linear-gradient(130deg,#172c51,#19263f)}
.first-payment-heading{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:30px}
.first-payment-intro{display:flex;align-items:center;gap:13px;min-width:0}
.first-payment-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #7895cc55;border-radius:13px;background:#94b9ff16;color:#bbd5ff}
.first-payment-icon svg{width:25px;height:25px}
.first-payment-card h2{margin:0;font-size:20px;font-weight:650;letter-spacing:-.4px;line-height:1.3}
.first-payment-intro p{font-size:11px;line-height:1.5;color:#b3c5e5;margin:6px 0 0}
.first-payment-status{display:inline-flex;align-items:center;gap:7px;border:1px solid #b8cbea26;border-radius:7px;padding:6px 9px;background:#ffffff08;color:#edcd92;font-size:10px;font-weight:600;line-height:1.4}
.first-payment-status>span{width:5px;height:5px;border-radius:50%;background:#ebc17d;flex:none}
.first-payment-label{display:block;font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.5;color:#b0c5e9}
.first-payment-plan h3{font-size:clamp(29px,3.7vw,40px);font-weight:700;line-height:1.15;letter-spacing:-1.2px;margin:9px 0 16px;overflow-wrap:anywhere}
.first-payment-plan-meta{display:flex;flex-wrap:wrap;gap:8px}
.first-payment-plan-meta>span{font-size:11px;font-weight:500;line-height:1.4;color:#d8e5ff;border:1px solid #bfd4ff25;background:#a7caff0c;border-radius:7px;padding:6px 9px}
.first-payment-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0 0}
.first-payment-breakdown>div{min-width:0;padding:16px;border:1px solid #bad2ff20;background:#060f231f;border-radius:12px}
.first-payment-breakdown dt{font-size:11px;line-height:1.5;color:#b9cbea;margin:0 0 9px}
.first-payment-breakdown dd{font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.5px;color:#fff;margin:0;overflow-wrap:anywhere}
.first-payment-breakdown .first-payment-cost-note{font-size:9px;font-weight:400;line-height:1.6;letter-spacing:0;color:#afc1e0;margin-top:8px}
.first-payment-refund{color:#a4e8cb}
.first-payment-checkout{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#f3f6ff;color:#192b50;padding:34px;position:relative;border-left:1px solid #ffffff55}
.first-payment-receipt{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;color:#425675;margin-bottom:28px}
.first-payment-receipt>span{width:30px;height:30px;display:grid;place-items:center;background:#e2e9f9;border-radius:9px;color:#4863a3}.first-payment-receipt svg{width:18px;height:18px}
.first-payment-checkout .first-payment-label{color:#576b89;font-size:9px;letter-spacing:1.4px}
.first-payment-checkout .first-payment-amount{font-size:clamp(40px,4.8vw,55px);font-weight:750;line-height:1.1;letter-spacing:-2px;color:#16294c;margin:10px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.first-payment-included{font-size:11px;color:#62728d;line-height:1.6;margin:0}
.first-payment-divider{border-top:1px dashed #cbd5e8;margin:25px 0}
.first-payment-actions form{margin:0}
body.customer-portal .first-payment-card .first-payment-actions .btn{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:50px;box-sizing:border-box;padding:13px 18px;border:1px solid #3556cd!important;border-radius:11px;background:linear-gradient(105deg,#254ccd,#4267e0)!important;box-shadow:0 7px 16px #254ccd24;color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer;transition:background .15s,box-shadow .15s}
body.customer-portal .first-payment-card .first-payment-actions .btn:hover{background:#2043b7!important;box-shadow:0 9px 22px #254ccd35}
.first-payment-actions .btn span{font-size:21px;line-height:1}
.first-payment-checkout .first-payment-change{display:block;text-align:center;color:#375391;font-size:11px;font-weight:600;line-height:1.6;text-decoration:underline;text-underline-offset:3px;margin-top:14px}
.first-payment-checkout .first-payment-note{font-size:10px;line-height:1.7;color:#64748c;text-align:center;margin:22px 0 0}
.first-payment-checkout :is(a,button):focus-visible{outline:3px solid #254ccd;outline-offset:4px}
.first-payment-empty{padding:30px}.first-payment-empty p{color:#b9cbea;font-size:14px;line-height:1.6;margin:14px 0 22px}
@media(max-width:900px){.first-payment-details{padding:26px}.first-payment-checkout{padding:26px}.first-payment-breakdown{gap:9px}.first-payment-breakdown>div{padding:13px}.first-payment-card h2{font-size:19px}.first-payment-icon{width:38px;height:38px}}
@media(max-width:700px){.first-payment-layout{grid-template-columns:1fr}.first-payment-details{padding:25px}.first-payment-checkout{padding:27px 25px;border-left:0;border-top:1px solid #ffffff55}.first-payment-heading{margin-bottom:25px}.first-payment-plan h3{font-size:34px}.first-payment-receipt{margin-bottom:21px}.first-payment-checkout .first-payment-amount{font-size:48px}.first-payment-divider{margin:21px 0}.first-payment-checkout .first-payment-note{margin-top:18px}.first-payment-breakdown{gap:12px}.first-payment-breakdown>div{padding:15px}}
@media(max-width:380px){.first-payment-details,.first-payment-checkout{padding:20px}.first-payment-card h2{font-size:17px}.first-payment-intro{gap:10px}.first-payment-icon{width:34px;height:34px;border-radius:10px}.first-payment-intro p{font-size:10px}.first-payment-breakdown{gap:8px}.first-payment-breakdown>div{padding:11px}.first-payment-breakdown dd{font-size:22px}.first-payment-plan h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){body.customer-portal .first-payment-card .first-payment-actions .btn{transition:none}}

/* Offers: speed-led cards with an itemized checkout area. */
.customer-dashboard .offer-collection{margin:30px 0 34px;padding:0;background:transparent}
.offer-collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.offer-collection .offer-eyebrow{color:#a5b6ff;font-size:10px;line-height:1.5;letter-spacing:2px;font-weight:750;margin:0 0 9px}
.offer-collection-heading h2{font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.2;letter-spacing:-.8px;margin:0}
.offer-collection-heading p:not(.offer-eyebrow){font-size:14px;line-height:1.6;color:#aeb5ce;margin:10px 0 0}
.offer-collection-note{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:11px;color:#b5bdd5;padding-bottom:3px}
.offer-collection-note svg,.offer-validity svg,.offer-collection-footer svg{width:17px;height:17px;flex:none}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.offer-card{--offer-accent:#aebfff;--offer-glow:#354b882e;display:flex;flex-direction:column;min-width:0;margin:0;padding:26px 24px 24px;position:relative;overflow:hidden;border:1px solid #343c59;border-radius:22px;background:radial-gradient(ellipse at 100% 0,var(--offer-glow),transparent 65%),linear-gradient(155deg,#192139,#121726);box-shadow:0 12px 30px #0002;transition:border-color .18s,box-shadow .18s}
.offer-card:nth-child(3n+2){--offer-accent:#cfbbff;--offer-glow:#68519335}
.offer-card:nth-child(3n+3){--offer-accent:#9de1e1;--offer-glow:#377d7d30}
.offer-card:hover,.offer-card:focus-within{border-color:var(--offer-accent);box-shadow:0 16px 38px #0003}
.offer-card-assigned{border-color:#9faeff;box-shadow:0 0 0 1px #9faeff40}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:25px}
.offer-duration{border:1px solid #ffffff22;background:#ffffff08;border-radius:100px;padding:5px 11px;font-size:11px;line-height:1.4;font-weight:650;color:#e7ecff;white-space:nowrap}
.offer-assigned{font-size:10px;font-weight:650;line-height:1.4;color:#c6d0ff;text-align:right}
.offer-signal{display:flex;align-items:flex-end;gap:3px;height:20px;padding-right:2px}
.offer-signal i{width:4px;border-radius:2px;background:var(--offer-accent);height:5px}.offer-signal i:nth-child(2){height:10px}.offer-signal i:nth-child(3){height:15px}.offer-signal i:nth-child(4){height:20px}
.offer-speed{display:flex;align-items:baseline;gap:8px;color:var(--offer-accent);margin-bottom:12px;line-height:1}
.offer-speed strong{font-size:clamp(42px,4.3vw,56px);font-weight:750;letter-spacing:-2.5px}
.offer-speed>span{font-size:16px;font-weight:500}
.offer-card h3{font-size:17px;font-weight:650;line-height:1.45;letter-spacing:-.2px;margin:0;overflow-wrap:anywhere}
.offer-description{font-size:12px;line-height:1.65;color:#aeb8d0;margin:8px 0 0;overflow-wrap:anywhere}
.offer-validity{display:flex;align-items:center;gap:8px;color:#c1cbe2;font-size:12px;line-height:1.5;padding:18px 0 23px}
.offer-validity svg{color:var(--offer-accent)}
.offer-purchase{border-top:1px solid #ffffff16;margin-top:auto;padding-top:22px}
.offer-price-label{font-size:11px;letter-spacing:.25px;color:#b5bfd6;margin:0 0 7px}
.offer-price{font-size:36px;line-height:1.15;font-weight:750;letter-spacing:-1px;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.offer-costs{margin:19px 0 20px;padding:14px;border-radius:10px;background:#080d1c55;border:1px solid #ffffff0b}
.offer-costs>div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:11px;line-height:1.5;color:#c1c9dc}
.offer-costs>div+div{margin-top:11px;padding-top:11px;border-top:1px solid #ffffff0d}
.offer-costs dt{margin:0}.offer-costs dd{margin:0;white-space:nowrap;font-weight:650;color:#ecf0ff}
.offer-costs dt span{display:block;color:#96d3bb;font-size:9px;margin-top:3px}
.offer-savings{font-size:11px;color:#9fdfc3;margin:0 0 16px;line-height:1.6}
.offer-card .offer-select{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:1px solid #8b9fff;border-radius:11px;padding:12px 16px;background:#dce4ff;color:#17244b;font:700 13px/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer;transition:background .15s,box-shadow .15s;text-align:left}
.offer-card .offer-select>span{font-size:20px;line-height:1}.offer-card .offer-select:hover{background:#fff;box-shadow:0 5px 18px #98afff20}.offer-card .offer-select:focus-visible{outline:3px solid #b5c5ff;outline-offset:4px}
.offer-collection-footer{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:19px 0 0;color:#a9b4ce;font-size:11px;line-height:1.6;text-align:center}
.offer-collection-footer svg{color:#91c6ae}
@media(max-width:1000px){.offer-grid{gap:14px}.offer-card{padding:22px 18px 18px}.offer-collection-note{display:none}.offer-costs{padding:11px}.offer-price{font-size:32px}}
@media(max-width:760px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.offer-collection-heading{margin-bottom:20px}.offer-collection-heading h2{font-size:26px}.offer-collection-heading p:not(.offer-eyebrow){font-size:13px}.offer-speed strong{font-size:46px}}
@media(max-width:540px){.offer-grid{grid-template-columns:1fr}.offer-card{padding:24px}.offer-card-top{margin-bottom:22px}.offer-speed strong{font-size:52px}.offer-purchase{padding-top:20px}.offer-price{font-size:36px}.offer-costs{padding:14px}.offer-costs>div{font-size:12px}.offer-collection-footer{text-align:left;justify-content:flex-start}.offer-collection-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.offer-card,.offer-card .offer-select{transition:none}}

/* Homepage: balanced UPI showcase and consistent broadband comparisons. */
.portal-home .upi-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:30px 44px;padding:36px;border:1px solid #35445e;border-radius:24px;background:radial-gradient(ellipse at 0 0,#284f6c44,transparent 60%),#141d2c;margin:32px 0 42px}
.upi-showcase .accepted-upi-heading{flex-direction:column;align-items:flex-start;justify-content:center;gap:23px}
.portal-home .upi-showcase .accepted-upi-eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.8px;color:#8de1d0;margin:0 0 15px}
.accepted-upi-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#8de1d0;box-shadow:0 0 0 4px #8de1d014}
.portal-home .upi-showcase h2{font-size:clamp(28px,3.4vw,39px);font-weight:700;letter-spacing:-1.1px;line-height:1.15;margin:0}
.upi-showcase h2>span{color:#9cded5}
.portal-home .upi-showcase .accepted-upi-heading p:not(.accepted-upi-eyebrow){color:#b5c3d8;font-size:13px;line-height:1.75;margin-top:15px;max-width:370px}
.upi-showcase .accepted-upi-cta{min-height:48px;padding:12px 18px;gap:35px;border:1px solid #bceee3;border-radius:10px;background:#bceee3;color:#123c37;font-size:13px;line-height:1.5;box-shadow:0 6px 20px #0002}
.upi-showcase .accepted-upi-cta:hover{background:#ddfff7;color:#123c37}
.upi-app-panel{min-width:0;align-self:center;padding:22px;border:1px solid #e0e7ee;border-radius:18px;background:#f1f5f9;box-shadow:0 12px 30px #0002}
.portal-home .upi-app-panel-label{margin:0 0 17px;color:#52617a;font-size:11px;line-height:1.5;font-weight:650;letter-spacing:.2px}
.upi-showcase .accepted-upi-apps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.upi-showcase .accepted-upi-apps li{height:72px;min-height:0;box-sizing:border-box;background:#fff;border:1px solid #dee5ef;border-radius:10px;padding:12px;box-shadow:0 2px 5px #0d1d3a03}
.upi-showcase .accepted-upi-apps img{height:34px;max-width:112px;object-fit:contain}
.upi-showcase .accepted-upi-apps .accepted-upi-other{background:#e7eef5;color:#445878;border:1px dashed #c1cddd;font-size:9px;gap:4px}
.upi-showcase .accepted-upi-other span{font-size:23px;color:#536d96}
.upi-payment-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-top:1px solid #acbdd322;list-style:none;padding:24px 0 0;margin:0}
.upi-payment-steps li{display:flex;align-items:center;gap:11px;min-width:0}
.upi-payment-steps li>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;border:1px solid #a9c5e22b;background:#a9c5e208;color:#93b4d3;font-size:10px;font-weight:650}
.upi-payment-steps strong{display:block;font-size:12px;font-weight:600;color:#e5edf7;line-height:1.5}
.upi-payment-steps small{display:block;font-size:10px;color:#99acc5;line-height:1.5;margin-top:2px}
.home-plan-collection .home-plan-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.portal-home .home-plan-heading .home-plan-eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;color:#a9baff!important;margin:0 0 10px}
.portal-home .home-plan-heading h2{border:0;padding:0;margin:0;font-size:clamp(25px,3vw,33px);letter-spacing:-.85px;line-height:1.2}
.portal-home .home-plan-heading p:not(.home-plan-eyebrow){font-size:13px;color:#adb9ce;margin-top:11px;line-height:1.7}
.home-plan-term{font-size:10px;line-height:1.5;white-space:nowrap;color:#bdc9e3;border:1px solid #39465f;background:#1c2639;border-radius:100px;padding:7px 11px;margin-bottom:3px}
.home-plan-collection .portal-plan-grid{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-home .home-plan-card:nth-child(n){--tile-accent:#b7caff;--tile-button:#d9e3ff;display:flex;flex-direction:column;border:1px solid #35435f;border-radius:18px;background:linear-gradient(150deg,#1b2942,#141c2d);padding:22px 20px;box-shadow:0 8px 24px #0002;transition:border-color .15s,box-shadow .15s}
.portal-home .home-plan-card:hover,.portal-home .home-plan-card:focus-within{border-color:#8da8e6;box-shadow:0 12px 30px #0003}
.home-plan-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px}
.portal-home .home-plan-card .portal-plan-name{font-size:13px;line-height:1.5;font-weight:650;margin:0}
.home-plan-icon{width:29px;height:29px;border-radius:9px;background:#9bbaff12;border:1px solid #9bbaff22;display:grid;place-items:center;color:#aebff0;flex:none}.home-plan-icon svg{width:19px;height:19px}
.home-plan-card .portal-speed{font-size:46px;font-weight:700;letter-spacing:-2px;line-height:1.1;margin:27px 0 0}
.home-plan-card .portal-speed span{font-size:12px;font-weight:500;letter-spacing:0;color:#b6c8e8}
.portal-home .home-plan-card .portal-plan-type{font-size:10px;letter-spacing:.3px;color:#a8b9d4;margin:7px 0 20px;line-height:1.5}
.home-plan-card .portal-price{border-top:0;margin:0;padding:0 0 22px;gap:5px;align-items:baseline;min-height:0}
.home-plan-card .portal-price strong{font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.6px}
.home-plan-card .portal-price>span{font-size:10px;color:#a6b5d0}
.home-plan-card .portal-plan-details{border-top:1px solid #abc5ef20;padding:19px 0 0;margin:0 0 23px;gap:11px;list-style:none}
.home-plan-card .portal-plan-details li{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;color:#c7d3e8}
.home-plan-card .portal-plan-details li>span:first-child{font-size:10px;width:16px;height:16px;background:#9dcdbf10;color:#98d5be;display:grid;place-items:center;flex:none;border-radius:50%}
.home-plan-card .portal-plan-details strong{font-weight:500}
.portal-home .home-plan-card .portal-plan-cta{display:flex;justify-content:space-between;align-items:center;gap:9px;background:#dbe5ff;color:#172c55;border:1px solid #dbe5ff;border-radius:10px;min-height:46px;padding:11px 12px;font-size:11px;font-weight:700;line-height:1.5;text-decoration:none;margin-top:auto}
.portal-home .home-plan-card .portal-plan-cta:hover{background:#fff;color:#172c55;border-color:#fff}
.home-plan-card .portal-plan-cta>span{font-size:18px}
@media(max-width:1000px){.portal-home .upi-showcase{padding:28px;gap:26px}.upi-app-panel{padding:17px}.upi-showcase .accepted-upi-apps li{padding:9px;height:66px}.home-plan-collection .portal-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-home .home-plan-card:nth-child(n){padding:24px}.home-plan-card .portal-speed{font-size:48px}.upi-payment-steps{gap:14px}.upi-payment-steps li{gap:8px}}
@media(max-width:720px){.portal-home .upi-showcase{grid-template-columns:1fr;padding:25px;gap:26px}.upi-showcase .accepted-upi-heading{gap:20px}.portal-home .upi-showcase h2{font-size:33px}.upi-showcase .accepted-upi-cta{width:100%;justify-content:space-between;box-sizing:border-box}.upi-payment-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px}.upi-showcase .accepted-upi-apps li{height:68px}.home-plan-term{display:none}.home-plan-collection .home-plan-heading{margin-bottom:20px}.home-plan-collection .portal-plan-grid{gap:13px}.portal-home .home-plan-card:nth-child(n){padding:20px 17px}.home-plan-card .portal-speed{font-size:43px}}
@media(max-width:460px){.portal-home .upi-showcase{padding:22px 18px;border-radius:19px}.portal-home .upi-showcase h2{font-size:29px}.upi-app-panel{padding:15px}.upi-showcase .accepted-upi-apps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.upi-showcase .accepted-upi-apps li{height:63px}.upi-payment-steps li>span{width:26px;height:26px}.upi-payment-steps strong{font-size:11px}.upi-payment-steps small{font-size:9px}.home-plan-collection .portal-plan-grid{grid-template-columns:1fr}.portal-home .home-plan-card:nth-child(n){padding:24px}.home-plan-card .portal-speed{font-size:50px}.home-plan-card .portal-plan-cta{font-size:13px}.home-plan-card .portal-plan-details li{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portal-home .home-plan-card:nth-child(n){transition:none}}

/* Accessible offer controls; keep the visible indicator compact. */
.customer-portal .promo-slider-dots{flex-wrap:wrap;gap:2px}
.customer-portal .promo-slider-dots button{position:relative;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;background:transparent;transition:none}
.customer-portal .promo-slider-dots button::before{content:"";position:absolute;inset:8px;border-radius:999px;background:#a7acc5}
.customer-portal .promo-slider-dots button[aria-current="true"]::before{inset:8px 3px;background:#7dccff}
.customer-portal .promo-slider-controls{flex-wrap:wrap;gap:8px}

/* Keep plan actions legible on hover and keyboard focus. */
.customer-portal .portal-home .home-plan-card .portal-plan-cta:hover,
.customer-portal .portal-home .home-plan-card .portal-plan-cta:focus-visible {
  background: #3547ad;
  color: #fff !important;
  border-color: #aabaff;
}
