
:root{--brand-primary:#df0e0e;--portal-bg:#efefef;--portal-panel:#ffffff;--portal-line:#dddddd;--portal-text:#3f3f3f;--portal-muted:#8d8d8d;--portal-soft:#f6f6f6}
html,body{min-height:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--portal-text);background:var(--portal-bg);margin:0}
a{text-decoration:none}

/* Client area redesign */
.client-app{background:var(--portal-bg)}
.portal-topbar{background:var(--brand-primary);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.portal-topbar-inner{max-width:1600px;margin:0 auto;min-height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.portal-topbar-left,.portal-topbar-right{display:flex;align-items:center;gap:18px}
.portal-brand{display:flex;align-items:center;color:#fff}.portal-brand img{max-height:42px;max-width:180px;object-fit:contain}.portal-brand-text{font-size:1.2rem;font-weight:700;color:#fff}
.portal-top-icons{display:flex;align-items:center;gap:10px}.portal-top-icons a,.portal-top-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#fff;font-size:1rem;border-radius:4px}.portal-top-icons a:hover,.portal-top-action:hover{background:rgba(255,255,255,.12);color:#fff}.portal-bell{position:relative}.portal-bell em{position:absolute;top:-5px;right:-4px;background:#b81212;color:#fff;border-radius:999px;padding:1px 5px;font-style:normal;font-size:.65rem;font-weight:700}.portal-user-chip{display:flex;align-items:center;gap:8px;color:#fff;font-size:.95rem;white-space:nowrap}.portal-user-avatar{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.25);font-size:.8rem}.portal-user-caret{font-size:.8rem;opacity:.9}
.portal-shell{max-width:1600px;margin:0 auto;padding:18px;display:grid;grid-template-columns:212px minmax(0,1fr) 276px;gap:18px;align-items:start}
.portal-side-card,.portal-widget,.portal-panel{background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.portal-side-card{overflow:hidden}.portal-side-title{padding:16px 18px;font-size:.88rem;text-transform:uppercase;color:var(--brand-primary);border-top:2px solid var(--brand-primary);background:#fafafa}.portal-side-nav{display:flex;flex-direction:column}.portal-side-link{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;color:#222;border-top:1px solid #ececec;font-size:.97rem}.portal-side-link:hover,.portal-side-link.active{background:#f5f5f5;color:#111}.portal-side-caret{font-size:.86rem;color:#444}
.portal-content-area{min-width:0}.portal-content{min-height:calc(100vh - 130px)}
.portal-pagebar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.portal-pagebar h1{margin:0;color:var(--brand-primary);font-size:1.05rem}.portal-breadcrumb{font-size:.82rem;color:#a0a0a0}.portal-breadcrumb span{padding:0 8px;color:#c9c9c9}.portal-breadcrumb strong{color:var(--brand-primary);font-weight:600}
.portal-notice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:4px;margin-bottom:16px}.portal-notice-warning{background:#fff3cd;border:1px solid #ffe69c;color:#664d03}
.portal-dashboard .alert{border-radius:4px}
.portal-welcome{font-size:2.2rem;line-height:1.15;color:var(--brand-primary);margin:8px 0 22px;font-weight:300}
.portal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:18px}.portal-stat-card{position:relative;display:block;background:var(--brand-primary);color:#fff;padding:18px 18px 16px;border-radius:4px;min-height:92px;box-shadow:0 1px 4px rgba(0,0,0,.14);overflow:hidden}.portal-stat-card:hover{color:#fff;filter:brightness(1.03)}.portal-stat-number{font-size:2.25rem;font-weight:600;line-height:1}.portal-stat-label{margin-top:6px;font-size:1.05rem;text-transform:uppercase}.portal-stat-icon{position:absolute;right:16px;top:8px;font-size:4rem;line-height:1;opacity:.13;font-weight:700}
.portal-searchbar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--portal-line);border-radius:4px;padding:12px 16px;margin-bottom:18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.portal-search-icon{font-size:1.4rem;color:#9c9c9c}.portal-searchbar input{border:0;outline:0;width:100%;font-size:1.1rem;color:#666;background:transparent}
.portal-panel{overflow:hidden}.portal-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:3px solid var(--brand-primary);border-bottom:1px solid var(--portal-line);background:#fdfdfd}.portal-panel-title{font-size:1rem;color:#333}.portal-panel-action{display:inline-flex;align-items:center;justify-content:center;background:#efefef;color:var(--brand-primary);padding:4px 10px;border-radius:3px;font-size:.82rem;font-weight:700;text-transform:uppercase}.portal-panel-body{padding:18px 16px;color:#555;line-height:1.45}
.portal-service-list{display:flex;flex-direction:column}.portal-service-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid #eee}.portal-service-row:first-child{border-top:0}.portal-service-main{display:flex;align-items:center;gap:14px;min-width:0}.portal-service-name{font-weight:500;color:#333}.portal-service-sub{font-size:.82rem;color:#959595}.portal-small-btn{display:inline-flex;align-items:center;justify-content:center;background:#efefef;color:var(--brand-primary);padding:6px 12px;border-radius:3px;font-size:.82rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.portal-status-badge{display:inline-flex;padding:4px 8px;border-radius:3px;font-size:.78rem;font-weight:700;text-transform:capitalize;color:#fff;background:#8b8b8b}.portal-status-badge.active{background:#3a8f3a}.portal-status-badge.suspended{background:#cf3f31}.portal-status-badge.pending{background:#e19000}.portal-status-badge.cancelled{background:#666}
.portal-empty{padding:20px 16px;color:#8e8e8e}
.portal-ticket-list{display:flex;flex-direction:column;gap:10px}.portal-ticket-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #efefef;color:#444}.portal-ticket-row:last-child{border-bottom:0}.portal-ticket-row span{font-size:.88rem;color:#8b8b8b}
.portal-widget{margin-bottom:16px}.portal-widget-head{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:1rem;color:#555;border-bottom:1px solid var(--portal-line)}.portal-widget-toggle{margin-left:auto;color:#666;font-size:.88rem}.portal-widget-body{padding:14px 16px}.portal-widget-actions{padding:0 16px 16px}.portal-account-company{font-weight:700;color:#444}.portal-account-name{font-style:italic;color:#555;margin-bottom:4px}.portal-account-line{color:#555;line-height:1.35}.portal-widget-copy{color:#666}.portal-btn-fill,.portal-btn-muted{display:block;width:100%;text-align:center;border-radius:3px;padding:7px 10px;font-size:.86rem;font-weight:700;text-transform:uppercase}.portal-btn-fill{background:var(--brand-primary);border:1px solid var(--brand-primary);color:#fff}.portal-btn-fill:hover{color:#fff;filter:brightness(1.03)}.portal-btn-muted{background:#e9e9e9;border:1px solid #dddddd;color:var(--brand-primary)}.portal-shortcuts{display:flex;flex-direction:column}.portal-shortcuts a{padding:14px 16px;color:#555;border-top:1px solid #ececec}.portal-shortcuts a:first-child{border-top:0}.portal-shortcuts a:hover{background:#fafafa}
.portal-page-footer{padding:26px 2px 10px;color:#7f7f7f;font-size:.95rem}
.client-footer{background:#fff;border-top:1px solid var(--portal-line);padding:14px 0;color:#7b8797;font-size:.72rem}
.portal-public-nav{background:var(--brand-primary);padding:12px 0}

.client-main .btn-primary,.portal-content .btn-primary{background:var(--brand-primary);border-color:var(--brand-primary)}
.client-main .form-control,.client-main .form-select,.portal-content .form-control,.portal-content .form-select{border-color:#d6dde7;border-radius:6px}
.portal-content .card{border:1px solid var(--portal-line);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08)!important}
.portal-content .card-header{background:#fff;border-bottom-color:var(--portal-line);font-weight:700}
.portal-content table thead th{background:#fafafa;color:#565656;font-weight:600}
.portal-content .table> :not(caption)>*>*{padding:.9rem .85rem}

/* Auth pages */
.client-auth-page{margin:0;min-height:100vh;background:#050608;color:#fff;position:relative;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.client-auth-shell{min-height:100vh;position:relative;background-image:var(--auth-bg,linear-gradient(135deg,#0e0f12,#14161c));background-size:cover;background-position:center;background-repeat:no-repeat}.client-auth-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,8,.28),rgba(5,6,8,.42));backdrop-filter:blur(.5px)}.client-auth-stage{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px 32px}.client-auth-branding{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px}.client-auth-logo{width:auto;max-width:min(340px,72vw);max-height:110px;object-fit:contain}.client-auth-wordmark{font-size:2.2rem;font-weight:300;letter-spacing:.01em;color:#fff}.client-auth-copy{margin-top:12px;max-width:560px;color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.6}.client-auth-card-wrap{width:min(520px,calc(100% - 32px))}.client-auth-card{background:#fff;color:#2a2e36;border-radius:3px;box-shadow:0 22px 55px rgba(0,0,0,.38);padding:38px 36px 32px}.client-auth-card.compact-login-card{padding-top:30px}.client-auth-card h2{font-size:1.45rem;font-weight:500;letter-spacing:.01em;margin:0 0 28px;color:var(--brand-primary)}.client-auth-card .auth-kicker,.client-auth-card .auth-subtitle,.client-auth-security,.client-auth-visual,.client-auth-panel,.client-auth-eyebrow{display:none}.client-auth-card .alert{font-size:.82rem;padding:.7rem .85rem;border-radius:0}.client-auth-card .form-control{height:52px;border:1px solid #ccd2da;border-radius:2px;font-size:.9rem;padding:.5rem .8rem;color:#2f3441;background:#fff}.client-auth-card .form-control::placeholder{color:#9ba2ad}.client-auth-card .form-control:focus{border-color:color-mix(in srgb,var(--brand-primary) 45%,#fff);box-shadow:0 0 0 .17rem color-mix(in srgb,var(--brand-primary) 12%,transparent)}.client-input-wrap{position:relative}.client-input-icon{position:absolute;left:0;top:0;bottom:0;width:48px;display:flex;align-items:center;justify-content:center;background:#f0f2f5;border:1px solid #ccd2da;border-right:0;border-radius:2px 0 0 2px;color:#555c67;font-size:.9rem;line-height:1}.client-auth-card .form-control.with-icon{padding-left:61px}.client-auth-card .form-check{font-size:.86rem;color:#4b5058}.client-auth-card .form-check-input{border-radius:2px}.client-auth-card .btn-primary{min-height:48px;border:0;border-radius:2px;background:var(--brand-primary);font-weight:700;font-size:.85rem;letter-spacing:.04em;box-shadow:none}.client-auth-card .btn-primary:hover,.client-auth-card .btn-primary:focus{background:color-mix(in srgb,var(--brand-primary) 88%,#000)}.client-auth-card .btn-outline-secondary{border-radius:2px}.client-auth-card a{color:#222;text-decoration:none}.client-auth-card a:hover{text-decoration:underline}.client-auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem;margin-top:18px}.client-auth-links.center{justify-content:center}.client-auth-links.stacked{flex-direction:column;gap:6px}.client-auth-divider{display:flex;align-items:center;gap:10px;color:#9ba5b2;font-size:.72rem;margin:20px 0}.client-auth-divider:before,.client-auth-divider:after{content:'';display:block;height:1px;background:#e5e9ef;flex:1}.client-auth-footer{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center;padding:18px 24px 0;color:rgba(255,255,255,.72);font-size:.86rem;text-align:center}.client-auth-footer a{color:rgba(255,255,255,.88);text-decoration:none}.client-auth-footer a:hover{color:#fff;text-decoration:underline}.client-auth-language{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:3px;background:var(--brand-primary);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.02em}

@media (max-width: 1279px){.portal-shell{grid-template-columns:212px minmax(0,1fr)}.portal-rightbar{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-widget{margin-bottom:0}}
@media (max-width: 991px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{order:2}.portal-rightbar{grid-template-columns:1fr;order:3}.portal-pagebar{flex-direction:column;align-items:flex-start}.portal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-topbar-inner{padding:0 12px}.portal-user-chip span:nth-child(2){display:none}}
@media (max-width: 575px){.portal-shell{padding:12px}.portal-stat-grid{grid-template-columns:1fr;gap:12px}.portal-welcome{font-size:1.7rem}.portal-topbar-left,.portal-topbar-right{gap:10px}.portal-top-icons{gap:4px}.portal-brand img{max-width:140px;max-height:34px}.client-auth-stage{padding:30px 14px 24px}.client-auth-card{padding:28px 22px 24px}.client-auth-logo{max-width:min(280px,80vw);max-height:92px}.client-auth-copy{font-size:.88rem}.client-auth-footer{font-size:.78rem;gap:10px}}

/* v1.11.2 Bank Transfer */
.bank-transfer-instructions{white-space:normal;padding:14px 16px;border:1px solid #eadede;border-radius:10px;background:#fff8f8;color:#493838;line-height:1.65}.bank-transfer-payment{padding-top:2px}

/* ETDC Portal v1.11.6 Webmin / Virtualmin customer hosting view */
.hosting-control-panel{background:#fff;border:1px solid #eadede;border-radius:14px;padding:18px;box-shadow:0 7px 24px rgba(69,26,26,.05)}.hosting-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.hosting-control-head h2{margin:0;font-size:1.15rem;font-weight:800;color:#2e2424}.hosting-control-head p{margin:5px 0 0;color:#837373;font-size:.82rem}.hosting-control-actions{display:flex;gap:9px;flex-wrap:wrap}.hosting-usage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.hosting-usage-card{border:1px solid #eadede;border-radius:11px;padding:14px;background:#fffafa;min-width:0}.hosting-usage-card>span{display:block;color:#8b7777;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.hosting-usage-card>strong{display:block;margin-top:6px;font-size:1.15rem;color:#2d2323;overflow:hidden;text-overflow:ellipsis}.hosting-usage-card>small{display:block;color:#887777;margin-top:4px}.hosting-meter{height:6px;border-radius:99px;background:#eedddd;overflow:hidden;margin-top:10px}.hosting-meter>span{display:block;height:100%;background:#df0e0e;border-radius:99px}.hosting-overview-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px}.hosting-data-accordion .accordion-button:not(.collapsed){background:#fff1f1;color:#b20b0b}.hosting-data-accordion .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(223,14,14,.08);border-color:#eabcbc}.hosting-data-accordion .table th{color:#5a4848}.hosting-control-panel a{color:#df0e0e}.hosting-control-panel .btn-primary{color:#fff}.hosting-control-panel .btn-outline-secondary{color:#5f5151}@media(max-width:1300px){.hosting-usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.hosting-control-head{flex-direction:column}.hosting-overview-grid{grid-template-columns:1fr}.hosting-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hosting-usage-grid{grid-template-columns:1fr}.hosting-control-actions{width:100%}.hosting-control-actions .btn{width:100%}}

/* ETDC Portal v1.11.7 multi-brand designer variable bridge */
:root{
  --secondary-color:#8d0909;--accent-color:#df0e0e;--topbar-color:var(--brand-primary);
  --sidebar-color:#fff;--page-background-color:#f7f3f3;--surface-color:#fff;
  --text-color:#2f2525;--muted-text-color:#7e7070;--link-color:var(--brand-primary);
  --button-text-color:#fff;--border-color:#eadede;--portal-radius:6px;
}
body.client-app{color:var(--text-color);background-color:var(--page-background-color)}
.client-app a{color:var(--link-color)}
.portal-topbar,.portal-public-nav{background:var(--topbar-color)}
.portal-side-card,.portal-widget,.portal-panel,.portal-searchbar,.portal-content .card{background:var(--surface-color);border-color:var(--border-color);border-radius:var(--portal-radius)}
.portal-side-card{background:var(--sidebar-color)}
.portal-side-title{background:var(--sidebar-color);border-top-color:var(--brand-primary)}
.portal-side-link{background:var(--sidebar-color);color:var(--text-color);border-top-color:var(--border-color)}
.portal-side-link:hover,.portal-side-link.active{background:color-mix(in srgb,var(--sidebar-color) 90%,var(--brand-primary));color:var(--text-color)}
.portal-pagebar h1,.portal-breadcrumb strong,.portal-side-title,.portal-panel-action,.portal-small-btn,.portal-btn-muted{color:var(--link-color)}
.portal-stat-card,.portal-btn-fill,.client-main .btn-primary,.portal-content .btn-primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--button-text-color)}
.portal-panel-head{border-top-color:var(--brand-primary)}
.portal-page-footer,.portal-widget-copy,.portal-account-line,.portal-breadcrumb{color:var(--muted-text-color)}
.portal-content .form-control,.portal-content .form-select,.client-main .form-control,.client-main .form-select{border-color:var(--border-color);border-radius:var(--portal-radius)}
.client-auth-card,.client-auth-card .form-control,.client-auth-card .btn-primary,.client-auth-language{border-radius:var(--portal-radius)}

/* v1.12.13 authenticated client-area colour parity with AdminCP.
   Colour-only overrides: no layout, spacing, radius, navigation or auth-page changes. */
body.client-app{
  --brand-primary:#df0e0e;
  --secondary-color:#8f0707;
  --accent-color:#df0e0e;
  --topbar-color:#df0e0e;
  --sidebar-color:#ffffff;
  --page-background-color:#f8f5f5;
  --surface-color:#ffffff;
  --text-color:#2b2020;
  --muted-text-color:#817171;
  --link-color:#c90b0b;
  --button-text-color:#ffffff;
  --border-color:#eadede;
  --portal-bg:#f8f5f5;
  --portal-panel:#ffffff;
  --portal-line:#eadede;
  --portal-text:#2b2020;
  --portal-muted:#817171;
  --portal-soft:#fff1f1;
}
.client-app .portal-side-title{color:#c90b0b;background:#fbf8f8}
.client-app .portal-side-link{color:#2b2020;border-top-color:#eadede}
.client-app .portal-side-link:hover,.client-app .portal-side-link.active{background:#fff1f1;color:#bd0808}
.client-app .portal-side-caret{color:#817171}
.client-app .portal-pagebar h1,.client-app .portal-breadcrumb strong{color:#c90b0b}
.client-app .portal-breadcrumb{color:#817171}.client-app .portal-breadcrumb span{color:#cdbebe}
.client-app .portal-welcome{color:#c90b0b}
.client-app .portal-searchbar{background:#fff;border-color:#eadede}
.client-app .portal-search-icon{color:#9a8787}.client-app .portal-searchbar input{color:#2b2020}
.client-app .portal-panel-head{background:#fbf8f8;border-bottom-color:#eadede}
.client-app .portal-panel-title{color:#354044}
.client-app .portal-panel-action,.client-app .portal-small-btn{background:#fff1f1;color:#bd0808}
.client-app .portal-panel-body{color:#4f4040}
.client-app .portal-service-row{border-top-color:#eee5e5}.client-app .portal-service-name{color:#3c3030}.client-app .portal-service-sub{color:#817171}
.client-app .portal-ticket-row{border-bottom-color:#eee5e5;color:#4f4040}.client-app .portal-ticket-row span{color:#817171}
.client-app .portal-widget-head{color:#5b4949;border-bottom-color:#eadede}.client-app .portal-widget-toggle{color:#817171}
.client-app .portal-account-company{color:#3f3030}.client-app .portal-account-name,.client-app .portal-account-line,.client-app .portal-widget-copy{color:#6f5e5e}
.client-app .portal-btn-muted{background:#fff1f1;border-color:#efcaca;color:#bd0808}
.client-app .portal-shortcuts a{color:#5b4949;border-top-color:#eee5e5}.client-app .portal-shortcuts a:hover{background:#fff8f8;color:#bd0808}
.client-app .portal-page-footer,.client-app .client-footer{color:#817171}.client-app .client-footer{border-top-color:#eadede}
.client-app .portal-content .card-header{background:#fbf8f8;border-bottom-color:#eadede;color:#354044}
.client-app .portal-content table thead th{background:#fbf8f8;color:#6f5e5e}
.client-app .portal-content .form-control,.client-app .portal-content .form-select,.client-app .client-main .form-control,.client-app .client-main .form-select{border-color:#d9cccc}
.client-app .portal-content .form-control:focus,.client-app .portal-content .form-select:focus,.client-app .client-main .form-control:focus,.client-app .client-main .form-select:focus{border-color:#df0e0e;box-shadow:0 0 0 .18rem rgba(223,14,14,.12)}
.client-app .btn-primary,.client-app .portal-btn-fill{background:#df0e0e;border-color:#df0e0e;color:#fff}
.client-app .btn-primary:hover,.client-app .portal-btn-fill:hover{background:#bd0a0a;border-color:#b00808;color:#fff}
.client-app .btn-outline-primary{color:#df0e0e;border-color:#df0e0e}.client-app .btn-outline-primary:hover{background:#df0e0e;border-color:#df0e0e;color:#fff}
.client-app .text-primary{color:#df0e0e!important}.client-app .bg-primary{background-color:#df0e0e!important}.client-app .border-primary{border-color:#df0e0e!important}
.client-app .nav-pills .nav-link.active,.client-app .nav-pills .show>.nav-link{background-color:#df0e0e}.client-app .nav-tabs .nav-link.active{color:#b90a0a}
.client-app .pagination{--bs-pagination-color:#c20a0a;--bs-pagination-hover-color:#990707;--bs-pagination-active-bg:#df0e0e;--bs-pagination-active-border-color:#df0e0e}

/* v1.12.14 dashboard summary tile colour adjustment.
   Authenticated client area only; layout and auth pages are unchanged. */
.client-app .portal-stat-card{background:#fff;color:#2b2020}
.client-app .portal-stat-card:hover{background:#fff;color:#2b2020;filter:brightness(1.01)}
.client-app .portal-stat-number{color:#2c3f52}
.client-app .portal-stat-label{color:#5b4949}
.client-app .portal-stat-icon{color:#df0e0e}

/* v1.12.15 authenticated client header icon visibility.
   Monochrome SVG icons inherit white from the red client header. */
.client-app .portal-top-icons a,
.client-app .portal-top-action,
.client-app .portal-top-action span,
.client-app .portal-user-avatar,
.client-app .portal-user-caret{color:#fff!important}
.client-app .portal-top-icons svg,
.client-app .portal-top-action svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:#fff}
.client-app .portal-top-action span{display:inline-flex;align-items:center;justify-content:center}

/* v1.12.15: authenticated client header icon and store improvements. */
.client-app .portal-top-icons svg,
.client-app .portal-top-action svg,
.client-app .portal-user-chip svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#fff}
.client-app .portal-top-icons a,
.client-app .portal-top-action,
.client-app .portal-user-chip,
.client-app .portal-user-avatar,
.client-app .portal-user-caret{color:#fff!important}
.client-app .portal-user-avatar{background:rgba(255,255,255,.18)}
.client-app .portal-user-avatar svg{width:16px;height:16px}
.client-app .portal-user-caret svg{width:14px;height:14px}
.client-app .portal-bell>span{display:flex;align-items:center;justify-content:center;color:#fff}

.client-app .store-page{--store-red:#df0e0e;--store-red-dark:#b60909;--store-ink:#282020;--store-muted:#766767;--store-line:#eadede;--store-soft:#fff6f6;display:block}
.client-app .store-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid var(--store-line);border-top:4px solid var(--store-red);border-radius:6px;padding:28px 30px;box-shadow:0 2px 8px rgba(58,20,20,.07);margin-bottom:18px}
.client-app .store-hero-copy{max-width:720px}.client-app .store-eyebrow{font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;color:var(--store-red);font-weight:800;margin-bottom:9px}.client-app .store-hero h1{font-size:1.8rem;line-height:1.15;color:var(--store-ink);margin:0 0 9px;font-weight:720}.client-app .store-hero p{color:var(--store-muted);font-size:.95rem;line-height:1.55;margin:0;max-width:650px}
.client-app .store-hero-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.client-app .store-secondary-action,.client-app .store-cart-action{display:inline-flex;align-items:center;gap:8px;min-height:42px;border-radius:5px;padding:9px 13px;font-size:.82rem;font-weight:750;text-decoration:none;white-space:nowrap}.client-app .store-secondary-action{background:#fff;border:1px solid #dfcaca;color:#5d4848}.client-app .store-secondary-action:hover{background:#fff8f8;color:var(--store-red-dark);border-color:#e7b7b7}.client-app .store-cart-action{background:var(--store-red);border:1px solid var(--store-red);color:#fff}.client-app .store-cart-action:hover{background:var(--store-red-dark);border-color:var(--store-red-dark);color:#fff}.client-app .store-hero-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.client-app .store-cart-action strong{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:#fff;color:var(--store-red);border-radius:999px;font-size:.7rem}
.client-app .store-category-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;background:#fff;border:1px solid var(--store-line);border-radius:6px;padding:10px;margin-bottom:22px;scrollbar-width:thin}.client-app .store-category{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:4px;color:#5e4b4b;background:#fff;font-size:.8rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.client-app .store-category:hover{background:var(--store-soft);color:var(--store-red-dark)}.client-app .store-category.active{background:var(--store-red);color:#fff;border-color:var(--store-red)}
.client-app .store-results-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 2px 14px}.client-app .store-results-head h2{font-size:1.05rem;color:var(--store-ink);margin:0 0 3px;font-weight:760}.client-app .store-results-head p{font-size:.78rem;color:var(--store-muted);margin:0}
.client-app .store-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.client-app .store-product-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--store-line);border-radius:6px;box-shadow:0 2px 7px rgba(58,20,20,.06);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.client-app .store-product-card:hover{transform:translateY(-2px);border-color:#e3bebe;box-shadow:0 6px 18px rgba(58,20,20,.1)}.client-app .store-product-accent{height:3px;background:var(--store-red)}.client-app .store-product-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 17px}.client-app .store-product-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.client-app .store-product-category{display:inline-flex;padding:4px 7px;border-radius:3px;background:var(--store-soft);color:var(--store-red-dark);font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.client-app .store-stock{font-size:.66rem;font-weight:750;color:#6f6262}.client-app .store-stock.in-stock{color:#397d3d}.client-app .store-stock.out-stock{color:#b20b0b}.client-app .store-product-card h3{font-size:1.12rem;line-height:1.3;color:var(--store-ink);font-weight:760;margin:0 0 9px}.client-app .store-product-description{color:#716161;font-size:.84rem;line-height:1.55;flex:1;margin-bottom:20px;overflow-wrap:anywhere}.client-app .store-product-pricing{border-top:1px solid #f0e8e8;padding-top:15px}.client-app .store-price-main{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.client-app .store-price{font-size:1.65rem;line-height:1;color:#302626;font-weight:780}.client-app .store-cycle{font-size:.75rem;color:#857373}.client-app .store-setup-fee{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.72rem;color:#806f6f}.client-app .store-setup-fee strong{color:#514242}.client-app .store-setup-fee.no-fee{color:#6f7d6f}.client-app .store-product-footer{padding:0 20px 20px}.client-app .store-order-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;background:var(--store-red);color:#fff;border:1px solid var(--store-red);border-radius:4px;padding:9px 12px;font-size:.8rem;font-weight:800;text-decoration:none}.client-app .store-order-button:hover{background:var(--store-red-dark);border-color:var(--store-red-dark);color:#fff}.client-app .store-order-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.client-app .store-empty-state{background:#fff;border:1px dashed #dfcccc;border-radius:6px;padding:48px 24px;text-align:center;color:#786868}.client-app .store-empty-state>svg{width:44px;height:44px;fill:none;stroke:var(--store-red);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}.client-app .store-empty-state h2{font-size:1.15rem;color:#372d2d;margin:0 0 6px}.client-app .store-empty-state p{margin:0 0 16px;font-size:.84rem}
@media(max-width:1180px){.client-app .store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-app .store-hero{align-items:flex-start}.client-app .store-hero-actions{flex-direction:column;align-items:stretch}}
@media(max-width:720px){.client-app .store-hero{padding:22px;flex-direction:column}.client-app .store-hero-actions{width:100%;flex-direction:row}.client-app .store-secondary-action,.client-app .store-cart-action{flex:1;justify-content:center}.client-app .store-product-grid{grid-template-columns:1fr}.client-app .store-hero h1{font-size:1.5rem}}
@media(max-width:480px){.client-app .store-hero-actions{flex-direction:column}.client-app .store-secondary-action,.client-app .store-cart-action{width:100%}.client-app .store-category-bar{margin-left:-2px;margin-right:-2px}}
.client-app .portal-top-icons svg,.client-app .portal-top-action svg{stroke:#fff!important}

/* v1.12.17 authenticated client navigation dropdowns. */
.client-app .portal-side-group{margin:0;padding:0;border:0}
.client-app .portal-side-group>summary{list-style:none;cursor:pointer;user-select:none}
.client-app .portal-side-group>summary::-webkit-details-marker{display:none}
.client-app .portal-side-group[open]>summary,.client-app .portal-side-group.active>summary{background:#fff1f1;color:#bd0808}
.client-app .portal-side-group[open] .portal-side-caret{transform:rotate(180deg)}
.client-app .portal-side-caret{transition:transform .14s ease}
.client-app .portal-side-subnav{display:flex;flex-direction:column;background:#fff}
.client-app .portal-side-sublink{display:block;padding:10px 18px 10px 30px;border-top:1px solid #f0e6e6;color:#5d4a4a;font-size:.88rem;text-decoration:none}
.client-app .portal-side-sublink:hover,.client-app .portal-side-sublink.active{background:#fff6f6;color:#bd0808}
.client-app .portal-side-sublink.active{font-weight:700;border-left:3px solid #df0e0e;padding-left:27px}

/* My Profile address autocomplete (authenticated client area only). */
.client-app .client-address-autocomplete{position:relative}
.client-app .client-address-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:1080;background:#fff;border:1px solid #e2d5d5;border-radius:6px;box-shadow:0 12px 30px rgba(40,16,16,.16);max-height:280px;overflow:auto}
.client-app .client-address-results.show{display:block}
.client-app .client-address-result{display:block;width:100%;border:0;border-bottom:1px solid #f1e7e7;background:#fff;text-align:left;padding:10px 12px;color:#2f2525}
.client-app .client-address-result:last-child{border-bottom:0}
.client-app .client-address-result:hover{background:#fff3f3;color:#b80a0a}
.client-app .client-address-result strong,.client-app .client-address-result small{display:block}
.client-app .client-address-result small{margin-top:2px;color:#817171;font-size:.76rem}
.client-app .client-address-status{min-height:1.1em;margin-top:5px;font-size:.74rem;color:#817171}


/* v1.12.28 support reply WYSIWYG */
.client-app .ticket-wysiwyg{border:1px solid #d8cccc;border-radius:9px;overflow:hidden;background:#fff}.client-app .ticket-editor-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:7px 8px;border-bottom:1px solid #eadfdf;background:#faf6f6}.client-app .ticket-editor-toolbar button{min-width:34px;min-height:32px;padding:4px 9px;border:1px solid #ddd0d0;border-radius:6px;background:#fff;color:#493b3b;font-size:.76rem;font-weight:700}.client-app .ticket-editor-toolbar button:hover{border-color:#df0e0e;color:#b80b0b;background:#fff5f5}.client-app .ticket-editor-surface{min-height:150px;padding:12px 13px;outline:0;line-height:1.5;color:#2f2727}.client-app .ticket-editor-surface:focus{box-shadow:inset 0 0 0 2px rgba(223,14,14,.10)}.client-app .ticket-message-body blockquote{margin:.65rem 0;padding:.45rem .8rem;border-left:3px solid #df0e0e;background:#fff6f6;color:#665353}.client-app .ticket-message-body a{color:#df0e0e}
