:root{color-scheme:light;--ink:#142033;--muted:#5c6677;--line:#dce2ea;--paper:#fff;--soft:#f3f6fa;--brand:#0f5ca8;--brand2:#163d74;--ok:#137047;--danger:#a12626;--shadow:0 18px 50px rgba(20,32,51,.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

*{box-sizing:border-box}
body{margin:0;background:linear-gradient(145deg,#eef4fb 0,#f8fafc 48%,#eef1f6 100%);color:var(--ink);min-height:100vh}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:20}
.site-header:not(.build31-header){height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;color:var(--ink);font-weight:760;letter-spacing:.02em}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--brand),#39a6d8)}
.header-actions{display:flex;align-items:center;gap:.65rem}
.stage{font-size:.72rem;letter-spacing:.12em;color:#7a4e00;background:#fff2c7;border:1px solid #e7c97c;border-radius:999px;padding:.32rem .56rem}
.quiet,.link-button{background:transparent;border:0;color:var(--brand);font:inherit;cursor:pointer;padding:.55rem}
.auth-shell{width:min(1120px,calc(100% - 2rem));margin:clamp(2rem,8vh,6rem) auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.intro h1{font-size:clamp(2.3rem,6vw,5rem);line-height:1;letter-spacing:-.045em;margin:.4rem 0 1.25rem}
.intro>p:not(.eyebrow){font-size:1.18rem;color:var(--muted);max-width:44rem}
.eyebrow{font-weight:800;color:var(--brand);letter-spacing:.13em;font-size:.77rem}
.trust-list{list-style:none;padding:0;display:grid;gap:.75rem;margin-top:2rem;color:var(--muted)}
.trust-list li:before{content:"✓";color:var(--ok);font-weight:900;margin-right:.65rem}
.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow)}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;background:var(--soft);padding:.3rem;border-radius:13px;margin-bottom:1.5rem}
.tabs button,.nav-item{font:inherit;border:0;background:transparent;color:var(--muted);padding:.8rem;border-radius:10px;cursor:pointer}
.tabs button[aria-selected="true"],.nav-item.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(20,32,51,.08)}
.panel,.portal-section form{display:grid;gap:1rem}
.panel h2{margin:.2rem 0 0}
label{display:grid;gap:.42rem;font-weight:680;font-size:.92rem}
input,textarea,select{width:100%;border:1px solid #b9c3d0;border-radius:10px;padding:.78rem .85rem;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:150px;resize:vertical}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(15,92,168,.28);outline-offset:2px}
.check{grid-template-columns:auto 1fr;align-items:start;font-weight:450;line-height:1.45}
.check input{width:1.1rem;height:1.1rem;margin-top:.18rem}
.customer-type-choice{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.8rem}
.customer-type-choice legend{padding:0 .35rem;font-weight:700}
.customer-type-choice label{display:inline-flex;align-items:center;gap:.45rem;margin:0}
.customer-type-choice input{width:auto}
.privacy-link{font-size:.88rem;color:var(--brand)}
button.primary,button.secondary,button.danger{border:0;border-radius:10px;padding:.82rem 1rem;font:inherit;font-weight:760;cursor:pointer}
.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.secondary{background:#e6eef8;color:var(--brand2)}
.danger{background:#fae7e7;color:var(--danger)}
button:disabled{opacity:.55;cursor:not-allowed}
.status{min-height:1.5rem;color:var(--muted);margin:.9rem 0 0}
.status.error{color:var(--danger)}
.hidden{display:none!important}
.portal{width:min(1240px,calc(100% - 2rem));margin:2rem auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.25rem;align-items:start}
.portal-nav,.portal-content{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.portal-nav{padding:1.2rem;position:sticky;top:1rem}
.portal-nav h1{font-size:1.25rem;margin:.2rem .5rem 1rem}
.portal-nav nav{display:grid;gap:.35rem}
.portal-menu-groups{display:grid;gap:.5rem}
.portal-menu-group{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.portal-menu-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;padding:.65rem .75rem;color:var(--ink);font-size:.86rem;font-weight:800;cursor:pointer;list-style:none}
.portal-menu-group>summary::-webkit-details-marker{display:none}
.portal-menu-group>summary:after{content:"+";font-size:1.1rem;color:var(--brand)}
.portal-menu-group[open]>summary{background:var(--soft)}
.portal-menu-group[open]>summary:after{content:"−"}
.portal-menu-group>nav{display:grid;gap:.2rem;padding:.35rem}
.portal-menu-group .nav-item{font-size:.9rem;padding:.62rem .7rem}
.nav-item{text-align:left}
.portal-content{padding:clamp(1.1rem,2.5vw,2rem);min-height:0;min-width:0}
.portal-section h2{font-size:clamp(1.6rem,2.8vw,2.25rem);line-height:1.18;letter-spacing:-.025em;margin:.15rem 0 1.25rem}
.cards,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.cards article,.grid article,.list article{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:1rem}
.cards h3,.grid h3{margin:0 0 .45rem}
.list{display:grid;gap:.75rem}
.list article{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.action-row{display:flex;flex-wrap:wrap;gap:.75rem}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.65rem 1rem}
dt{color:var(--muted)}
dd{margin:0;font-weight:680}
footer:not(.build14-footer){display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.82rem;padding:2rem clamp(1rem,4vw,4rem)}

@media(max-width:820px){.auth-shell{grid-template-columns:1fr;margin-top:2rem}
.intro h1{font-size:clamp(2.4rem,13vw,4.4rem)}
.portal{grid-template-columns:1fr}
.portal-nav{position:static}
.portal-menu-group>nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.nav-item{text-align:center}
.cards,.grid{grid-template-columns:1fr}
}

@media(max-width:520px){.site-header{height:auto;min-height:68px;align-items:flex-start;padding-top:.85rem;padding-bottom:.85rem}
.brand span:last-child{font-size:.82rem}
.header-actions{flex-wrap:wrap;justify-content:flex-end}
.auth-shell,.portal{width:min(100% - 1rem,1240px)}
.auth-card,.portal-nav,.portal-content{border-radius:15px}
.tabs{grid-template-columns:1fr}
.portal-menu-group>nav{grid-template-columns:1fr}
.nav-item{text-align:left;font-size:.88rem}
.list article{align-items:flex-start;flex-direction:column}
footer:not(.build14-footer){flex-direction:column}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.portal-hub article{display:flex;flex-direction:column;align-items:flex-start}
.portal-hub article .portal-shortcut{margin-top:auto}
.portal-subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.portal-subnav span{background:#e8f0f8;color:#17496f;border-radius:999px;padding:.45rem .7rem;font-size:.86rem;font-weight:700}
.empty-state{border:1px dashed #aebdca;background:var(--soft);border-radius:16px;padding:clamp(1rem,4vw,2rem)}
.empty-state h3{margin-top:0}

.privacy-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.privacy-actions article{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:14px;background:var(--soft);padding:1.2rem}
.privacy-actions article p{color:var(--muted);line-height:1.55}
.privacy-actions article button{margin-top:auto}

.owner-attention{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;padding:1rem 1.1rem;border:2px solid #c77900;border-radius:14px;background:#fff7df;color:#5b3900}
.owner-attention p{margin:.25rem 0 0}
.owner-attention button{flex:none}

.main-nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.6rem)}
.main-nav a{color:var(--ink);text-decoration:none;font-weight:680}
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line);padding:.72rem clamp(1rem,4vw,4rem)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0;color:var(--muted);font-size:.9rem}
.breadcrumbs li+li:before{content:"›";margin-right:.45rem}
.breadcrumbs a{color:var(--brand);text-decoration:none}
.name-grid,.address-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.profile-roadmap{margin:1rem 0 1.5rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--muted)}

.admin-navigation{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}
.admin-navigation h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:.2rem .5rem .75rem}
.admin-groups{display:grid;gap:.45rem}
.admin-group{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.admin-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:42px;padding:.65rem .75rem;color:var(--ink);font-size:.82rem;font-weight:800;cursor:pointer;list-style:none}
.admin-group>summary::-webkit-details-marker{display:none}
.admin-group>summary:after{content:"+";font-size:1.1rem;color:var(--brand)}
.admin-group[open]>summary:after{content:"−"}
.admin-group nav{display:grid;padding:0 .35rem .4rem}
.admin-group .nav-item{font-size:.9rem;padding:.62rem .7rem}
.admin-results{display:grid;gap:.75rem;margin-top:1.25rem}
.admin-record{border:1px solid var(--line);border-radius:14px;padding:1rem;background:var(--soft);overflow-wrap:anywhere}
.admin-record dl{grid-template-columns:minmax(8rem,12rem) 1fr;font-size:.9rem}
.admin-record h3{margin:.1rem 0 .8rem}
.admin-empty{border:1px dashed #aebdca;border-radius:14px;padding:1.25rem;color:var(--muted)}

.status-shell{width:min(760px,calc(100% - 2rem));margin:clamp(2rem,8vh,5rem) auto}
.status-card{--status-accent:var(--brand);background:#fff;border:1px solid var(--line);border-top:5px solid var(--status-accent);border-radius:22px;padding:clamp(1.4rem,5vw,3rem);box-shadow:var(--shadow)}
.status-card[data-status-type="success"]{--status-accent:var(--ok)}
.status-card[data-status-type="warning"]{--status-accent:#9a6500}
.status-card[data-status-type="pending"]{--status-accent:#56667a}
.status-card[data-status-type="error"]{--status-accent:var(--danger)}
.status-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#eef3f8;color:var(--status-accent);font-size:1.45rem;font-weight:850;margin-bottom:1.1rem}
.status-card h1{font-size:clamp(2rem,6vw,3.6rem);line-height:1.04;letter-spacing:-.04em;margin:.3rem 0 1rem}
.status-message{font-size:1.12rem;line-height:1.65;margin:0;max-width:62ch}
.status-detail{color:var(--muted);line-height:1.6;margin:1rem 0 0}
.status-reference{font:600 .82rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);margin:1rem 0 0}
.status-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}
.status-support{display:inline-block;margin-top:1.25rem;color:var(--brand)}

@media(max-width:980px){.main-nav{display:none}
}

@media(max-width:520px){.name-grid{grid-template-columns:1fr}
}

@media(max-width:720px){.privacy-actions{grid-template-columns:1fr}
}

@media(max-width:620px){.owner-attention{align-items:flex-start;flex-direction:column}
}

@media(max-width:420px){.status-actions{display:grid}
.status-actions button{width:100%}
.status-card{border-radius:16px}
.status-message{font-size:1rem}
}


/* Build 51: shared SCHWENKE SYSTEMS website shell */
body{display:flex;min-height:100vh;flex-direction:column;background:linear-gradient(145deg,#eef4fb 0,#f8fafc 48%,#eef1f6 100%)}

body>main{flex:1;width:100%}
/* Build 106: hidden auth siblings must not apply public section spacing to the portal. */
body>main>#portal-view { padding-block:0!important; }
@media(min-width:821px){
  .portal-nav { top:calc(var(--site-header-height,79px) + 4rem); max-height:calc(100dvh - var(--site-header-height,79px) - 5rem); overflow-y:auto; }
}

.site-header.build31-header{height:auto;padding:0;background:#041827;border:0;color:#fff}

.site-header.build31-header .brand{color:#fff}

.site-header.build31-header .brand-image{display:block}

.site-header.build31-header .nav-actions>.account-menu>summary,
.site-header.build31-header .nav-actions>.account-menu[open]>summary,
.site-header.build31-header .nav-actions>.account-menu>summary:hover,
.site-header.build31-header .nav-actions>.account-menu>summary:focus-visible{border:1px solid rgba(89,209,237,.35)!important;background:transparent!important}

.site-header.build31-header .nav-panel{color:#142033}

.site-header.build31-header .account-panel,.site-header.build31-header .language-panel{background:#fff;border:1px solid #dce2ea;box-shadow:0 18px 50px rgba(20,32,51,.18)}

.site-header.build31-header .link-button{width:100%;text-align:left;color:#0f5ca8;text-decoration:none}

.site-header.build31-header .header-action.button.primary{width:100%;text-align:center;color:#fff}

.site-header.build31-header .account-links{display:grid;gap:.15rem}

.site-header.build31-header .account-links-signed-in{margin-top:.65rem}

.site-header.build31-header .account-panel .account-links{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
.site-header.build31-header .account-panel{background:#fff!important;color:#142033!important}
.site-header.build31-header .account-panel label{color:#142033!important}
.site-header.build31-header .account-panel>strong{display:block!important;margin:0 0 .65rem!important;color:#0b6fbe!important;font-size:.73rem!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.site-header.build31-header .account-panel p{color:#5c6677!important}
.site-header.build31-header .account-panel .account-links :is(a,button){box-sizing:border-box!important;display:block!important;width:100%!important;min-height:42px!important;margin:0!important;padding:10px 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#12354c!important;font:700 .9rem/1.35 inherit!important;text-align:left!important;text-decoration:none!important;cursor:pointer!important}

.site-header.build31-header .account-panel p{margin:.55rem 0 .8rem}

.site-header.build31-header .account-panel strong{color:#142033}

.site-header.build31-header .account-panel p{color:#5c6677}

.build28-breadcrumb{flex:none;position:sticky!important;top:79px!important;z-index:9000!important;background:linear-gradient(90deg,#061d30 0%,#0a2940 52%,#061d30 100%)!important;border-top:1px solid rgba(132,215,255,.08)!important;border-bottom:1px solid rgba(132,215,255,.16)!important;color:rgba(236,247,255,.72)!important}

/* Homepage section alternation must never leak into individual portal views. */
.portal-content .portal-section{background:transparent!important}

/* Balanced service navigation: three independent columns without grid-row gaps. */
.site-header.build31-header .mega-nav .services-menu.services-menu-balanced{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:0!important;width:min(560px,calc(100vw - 3rem))!important;min-width:0!important}
.site-header.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu){width:min(640px,calc(100vw - 3rem))!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
.site-header.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu)>.mega-group{box-sizing:border-box!important;min-width:0!important;padding:.15rem 1.2rem!important}
.site-header.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu)>.mega-group+.mega-group{border-left:1px solid #dce2ea!important}
.site-header.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu) .mega-group-title{min-height:20px!important;margin-bottom:.65rem!important}
.site-header.build31-header .mega-nav :is(.products-menu,.company-menu,.contact-menu) a{box-sizing:border-box!important;width:100%!important;min-height:44px!important;padding:10px 12px!important;border-radius:8px!important;line-height:1.35!important}
.site-header.build31-header .mega-nav .products-menu a{min-height:44px!important}
.site-header.build31-header .account-panel{width:min(340px,calc(100vw - 2rem))!important;max-width:340px!important;min-width:0!important}
.site-header.build31-header .language-panel{width:150px!important;min-width:150px!important;max-width:150px!important}
.site-header.build31-header .services-menu-column{display:grid;align-content:start;align-self:stretch;height:100%;gap:1.1rem;min-width:0;padding:0 1rem}
.site-header.build31-header .services-menu-column+.services-menu-column{border-left:1px solid #dce2ea}
.site-header.build31-header .services-menu-balanced .mega-group{border-left:0!important;border-right:0!important;padding:.15rem .35rem!important}

.portal{margin-top:clamp(1.25rem,2.5vw,2rem);margin-bottom:clamp(2rem,5vw,4rem)}
@media(max-width:520px){
  .portal-content dl,.portal-content .admin-record dl{grid-template-columns:minmax(0,1fr);gap:.2rem;}
  .portal-content dd{min-width:0;overflow-wrap:anywhere;margin-bottom:.8rem;}
}

.auth-shell{width:min(1020px,calc(100% - 2rem));grid-template-columns:minmax(0,.8fr) minmax(360px,1fr);gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(1.25rem,3vh,2.25rem);margin-bottom:clamp(1.5rem,4vh,3rem)}

.auth-shell .intro h1{font-size:clamp(2.15rem,4.3vw,3.75rem)}
.auth-shell:has(#register-panel:not(.hidden)) > .intro{align-self:start}

.auth-shell .trust-list{margin-top:1.25rem;gap:.5rem}

.status-shell{margin-top:clamp(2rem,6vh,4.5rem);margin-bottom:clamp(2rem,6vh,4.5rem)}

@media(max-width:980px){.site-header.build31-header .site-nav{display:none}
.site-header.build31-header .site-nav.is-open{display:block!important}
.site-header.build31-header .nav-actions{margin-left:auto}
.site-header.build31-header .nav-toggle{display:inline-flex}
.build28-breadcrumb{top:var(--site-header-height,78px)!important}
.site-header.build31-header .account-panel{position:fixed!important;top:var(--site-header-height,78px)!important;left:.5rem!important;right:.5rem!important;width:auto!important;max-width:none!important}
.site-header.build31-header .language-panel{position:absolute!important;top:calc(100% + .5rem)!important;right:0!important;left:auto!important;min-width:11rem!important;background:#fff!important}
.site-header.build31-header .services-menu.services-menu-balanced{grid-template-columns:1fr!important}
.site-header.build31-header .services-menu-column{height:auto;padding:0;gap:.35rem}
.site-header.build31-header .services-menu-column+.services-menu-column{border-left:0;border-top:1px solid #dce2ea;padding-top:.35rem}
}


/* Build 51 shared hover contrast and footer signet sizing. */
.site-header.build31-header{position:sticky!important;z-index:10000!important}

.site-header.build31-header details[open],.site-header.build31-header .nav-panel{z-index:10010!important}

body>main,.portal,.auth-shell,.status-shell{position:relative;z-index:1}

.portal-nav .nav-item,
.portal-nav .nav-item:hover,
.portal-nav .nav-item:focus,
.portal-nav .nav-item:focus-visible,
.portal-nav .nav-item:active,
.admin-group>summary,
.admin-group>summary:hover,
.admin-group>summary:focus,
.admin-group>summary:focus-visible,
.admin-group>summary:active,
.portal-menu-group>summary,
.portal-menu-group>summary:hover,
.portal-menu-group>summary:focus,
.portal-menu-group>summary:focus-visible,
.portal-menu-group>summary:active{text-decoration:none!important;-webkit-text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important}

.portal-nav .nav-item:hover,.portal-nav .nav-item:focus-visible,.admin-group>summary:hover,.admin-group>summary:focus-visible,.portal-menu-group>summary:hover,.portal-menu-group>summary:focus-visible{background:#eaf6fa!important;color:#075f8b!important}

.site-header.build31-header .nav-panel a:hover,
.site-header.build31-header .nav-panel a:focus-visible,
.site-header.build31-header .nav-panel .link-button:hover,
.site-header.build31-header .nav-panel .link-button:focus-visible{color:#075f8b!important;background:#eaf6fa!important;text-decoration:none!important}

.site-header.build31-header .nav-panel a:hover *,
.site-header.build31-header .nav-panel a:focus-visible *{color:inherit!important}

.site-header.build31-header .account-panel .account-links :is(a,button):hover,
.site-header.build31-header .account-panel .account-links :is(a,button):focus-visible{color:#075f8b!important;background:#eaf6fa!important;text-decoration:none!important}

.build14-footer a:hover,.build14-footer a:focus-visible,.build14-footer .link-button:hover,.build14-footer .link-button:focus-visible{color:#63daf2!important}

@media(max-width:820px){.auth-shell{grid-template-columns:minmax(0,1fr)!important;width:min(100% - 1rem,1240px)!important;gap:1rem!important}.auth-shell .intro,.auth-shell .auth-card{min-width:0!important;width:100%!important}}
@media(max-width:520px){.auth-shell .intro h1{font-size:clamp(2rem,11vw,3rem)!important}}

@media(max-width:520px){.site-header.build31-header{padding:0}
.site-header.build31-header .nav-wrap{align-items:center}
.site-header.build31-header .account-menu summary span,.site-header.build31-header .language-menu summary span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header.build31-header .nav-actions{gap:.1rem}
.site-header.build31-header .header-icon{width:23px;height:23px}
.portal-menu-group>nav{grid-template-columns:1fr}
.name-grid,.address-grid,.contact-grid{grid-template-columns:1fr}
}

/* Build 98: scalable product navigation and compact account catalogue. */
@media(min-width:981px){.site-header.build31-header .mega-nav .products-menu{width:min(520px,calc(100vw - 3rem))!important;max-width:520px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.portal-menu-groups>.nav-item{width:100%;margin:0 0 .5rem;text-align:left}
.catalog-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}
.catalog-category{min-height:5.25rem;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-weight:750;text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(13,39,64,.05)}
.catalog-category span{display:block;margin-top:.25rem;color:var(--muted);font-size:.82rem;font-weight:500}
.catalog-category.active,.catalog-category:hover,.catalog-category:focus-visible{border-color:#4fb9d3;background:#eef9fc;color:#075f8b;outline:none}
.catalog-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 1.35rem}
.catalog-card{display:flex;flex-direction:column;min-height:15rem;padding:1.15rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 9px 26px rgba(13,39,64,.06)}
.catalog-card h3{margin:.1rem 0 .55rem}.catalog-card p{color:var(--muted)}.catalog-card strong{display:block;margin-top:auto;padding-top:1rem;font-size:1.18rem}.catalog-card button{margin-top:.8rem}
.checkout-product-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.catalog-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-comparison{grid-template-columns:1fr}}
@media(max-width:520px){.catalog-categories{grid-template-columns:1fr}.catalog-category{min-height:0}}

.checkout-form,.billing-profile-form{display:grid;gap:1rem;max-width:760px}
.checkout-form label,.billing-profile-form label{display:grid;gap:.4rem;font-weight:700}
.checkout-form select,.billing-profile-form input{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:.7rem .8rem;color:#142033;font:inherit}
.checkout-form .check{grid-template-columns:auto 1fr;align-items:start;font-weight:500;line-height:1.5}
.checkout-form .check input{width:1.15rem;height:1.15rem;margin-top:.2rem}
.checkout-summary{min-height:1px;padding:1rem;border-radius:12px;background:#f3f7fa}
.checkout-summary:empty{display:none}
.checkout-summary h3,.checkout-summary p{margin-top:0}
.checkout-legal{color:#5c6677;font-size:.92rem;line-height:1.55}
.billing-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.billing-profile-form button{justify-self:start}
.billing-profile-form .invoice-logo-remove{align-self:end}
.billing-profile-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(300px,440px);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}
.invoice-preview{--invoice-accent:#14335c;position:sticky;top:155px;box-sizing:border-box;min-height:560px;padding:clamp(1.2rem,3vw,2rem);border:1px solid #dce2ea;border-top:8px solid var(--invoice-accent);border-radius:6px;background:#fff;box-shadow:0 14px 36px rgba(20,32,51,.11);color:#142033}
.invoice-preview-header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:1rem;color:var(--invoice-accent);font-size:1.1rem}
.invoice-preview-header img{display:block;width:180px;max-width:55%;height:56px;object-fit:contain;border-radius:3px;background:var(--invoice-accent)}
.invoice-preview-title{display:flex;align-items:start;justify-content:space-between;gap:1.5rem;margin-top:2rem}
.invoice-preview h3{margin:0;color:var(--invoice-accent);font-size:1.55rem;letter-spacing:.08em}
.invoice-preview-title dl{display:grid;grid-template-columns:auto auto;gap:.25rem .75rem;margin:0;font-size:.72rem}
.invoice-preview-title dt{color:#6b7280}.invoice-preview-title dd{margin:0;text-align:right;font-weight:650}
.invoice-preview-notice{margin-top:0;color:#6b7280;font-size:.83rem}
.invoice-preview-parties{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.8rem 0;white-space:pre-line;font-size:.82rem;line-height:1.5}
.invoice-preview-parties small{display:block;margin-bottom:.35rem;color:var(--invoice-accent);font-size:.65rem;font-weight:800;letter-spacing:.08em}
.invoice-preview-parties p{margin:0}
.invoice-preview-table{display:grid;grid-template-columns:1fr auto;gap:.7rem 1rem;padding:1rem 0;border-top:2px solid var(--invoice-accent);border-bottom:1px solid #dce2ea}
.invoice-preview-table :nth-child(even){text-align:right}
.invoice-preview-totals{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;width:min(100%,260px);margin:1rem 0 1rem auto;text-align:right;font-size:.82rem}
.invoice-preview-payment{margin:1.5rem 0;color:#334155;font-size:.82rem}
.invoice-preview-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #dce2ea;color:#5c6677;font-size:.8rem;white-space:pre-line}
@media(max-width:1100px){.billing-profile-layout{grid-template-columns:minmax(0,1fr)}.invoice-preview{position:static;max-width:760px}}
@media(max-width:680px){.billing-profile-form,.invoice-preview-parties{grid-template-columns:minmax(0,1fr)}}

/* Build 106: contained mobile forms and the on-screen invoice preview only. */
.portal-section form,
.portal-section form label,
.billing-profile-layout > *,
.invoice-preview > *,
.invoice-preview-title > *,
.invoice-preview-parties > * { min-width:0; }
.portal-section form :is(input,select,textarea) { min-width:0;max-width:100%; }
.billing-profile-form :is(label,button) { max-width:100%; }
.billing-profile-form label > span { overflow-wrap:break-word; }
.billing-profile-form select { min-height:46px; }
.invoice-preview { width:100%;max-width:100%; }
.invoice-preview-table { grid-template-columns:minmax(0,1fr) auto; }
.invoice-preview-table > *,
.invoice-preview-parties p { min-width:0;overflow-wrap:break-word; }
@media(max-width:680px){
  .invoice-preview { min-height:0;padding:1rem; }
  .invoice-preview-header { flex-wrap:wrap;gap:.65rem;font-size:.95rem; }
  .invoice-preview-header img { width:180px;max-width:100%; }
  .invoice-preview-title { display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1.25rem; }
  .portal-content .invoice-preview-title dl {
    width:100%;height:auto;min-height:0;grid-template-columns:minmax(0,1fr);
    grid-auto-rows:min-content;align-content:start;gap:.15rem;margin:0;font-size:.75rem;
  }
  .portal-content .invoice-preview-title dd { margin:0 0 .55rem;text-align:left;overflow-wrap:anywhere; }
  .invoice-preview-notice { margin-top:1rem; }
  .invoice-preview-parties { gap:1rem;margin:1.25rem 0; }
  .invoice-preview-table { gap:.6rem;font-size:.82rem;line-height:1.5; }
  .invoice-preview-totals { grid-template-columns:minmax(0,1fr) auto;gap:.5rem;font-size:.8rem; }
  .invoice-preview-payment { margin:1.25rem 0; }
  .invoice-preview-footer { margin-top:1.25rem; }
}
@media(max-width:820px){
  .portal-nav { padding:1rem; }
  .portal-menu-groups,.admin-groups { gap:.4rem; }
}
@media(min-width:390px) and (max-width:820px){
  .portal-menu-groups,.admin-groups { grid-template-columns:repeat(2,minmax(0,1fr));align-items:start; }
  .portal-menu-groups > .nav-item,
  .portal-menu-group[open],.admin-group[open] { grid-column:1 / -1; }
  .portal-menu-group,.admin-group { min-width:0; }
  .portal-menu-group > summary,.admin-group > summary { min-height:54px; }
  .portal-menu-group > summary::after,.admin-group > summary::after { flex:none; }
}
