.portal{max-width:1440px;margin:auto;padding:56px 5vw 100px}.portalheading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:44px}.portalheading h1{font-size:clamp(36px,5vw,68px);line-height:1.05;margin:14px 0}.portalheading h1 span{color:#f58220}.portalgrid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px}.portalaside{display:flex;flex-direction:column;gap:16px}.portalpanel{padding:30px;background:#e9e9e6;color:#191b1d;border-radius:14px;margin-bottom:24px}.portalpanel h2,.portalpanel h3{color:#191b1d}.portalpanel label,.portalimport{display:flex;flex-direction:column;gap:8px;font-size:16px;margin-bottom:18px}.portalpanel input,.portalpanel select,.portalpanel textarea{width:100%;padding:12px;background:#fff;color:#17191b;border:1px solid #a9aaa9;border-radius:5px;font:inherit;box-sizing:border-box}.portalpanel button,.portalactions button{font:inherit;padding:12px 18px;cursor:pointer;border-radius:5px}.portalrow{display:flex;justify-content:space-between;align-items:center;gap:16px}.portalactions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.portalpanel .checklabel{flex-direction:row;align-items:center}.checklabel input{width:auto}.coatingtotal{display:block;font-size:28px;margin:20px 0}.designsummary{border-block:1px solid #bbb;padding:20px 0;margin:25px 0}.projectentry{display:block;width:100%;text-align:left;background:#303336;color:#fff;border:1px solid #555;padding:18px;margin-bottom:12px;border-radius:8px;cursor:pointer}.projectentry small{display:block;margin-top:6px}.fileentry{display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #bbb}.fileentry a{color:#222;overflow-wrap:anywhere}.deleteproject{margin-top:24px;color:#972b17}#portalstatus{padding:12px 0;overflow-wrap:anywhere}.portal .hint{font-size:14px;line-height:1.6}.portalpanel .hint{color:#505458}.portal button:focus-visible,.portal a:focus-visible{outline:3px solid #f58220;outline-offset:3px}.portalpanel button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.portalgrid{grid-template-columns:1fr}.portalheading{align-items:flex-start;flex-direction:column}.portalpanel{padding:20px}.portal .fields{grid-template-columns:1fr}.portalrow{flex-wrap:wrap}}
.hubcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.hubcards article{padding:30px;border:1px solid #505355;background:linear-gradient(145deg,#35393c,#232629);border-radius:12px;display:flex;flex-direction:column;gap:14px}.hubcards h2{font-size:34px;color:#fff}.hubcards p{color:#d7d9da}.hubcards a{color:#fff}.hubcards .button.lime{color:#111}.hublinks{display:grid;gap:10px;margin-top:auto}.hublinks a{padding:12px 0;border-bottom:1px solid #555}.hubprojects{display:flex;align-items:center;gap:30px;justify-content:space-between;background:#e8e8e4;color:#222;padding:30px;margin-top:30px;border-radius:12px}.hubprojects h2{color:#222}.calculatornav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:24px 5vw;border-bottom:1px solid #4b4e51}.calculatornav{background:#e8edef;color:#172027}.calculatornav a{color:#172027;text-decoration:underline;text-underline-offset:3px}.calculatorframe{display:block;width:100%;height:1100px;border:0;background:#202326}.productcalculator{margin:12px 0}.header nav{flex-wrap:wrap}@media(max-width:1000px){.hubcards{grid-template-columns:1fr}.hubprojects{align-items:flex-start;flex-direction:column}}
/* Shared calculator categories in the header and calculator workspace. */
.calculator-menu,.calculator-family{position:relative;margin:0}
.calculator-menu{z-index:60}
.calculator-menu summary,.calculator-family summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font:inherit;font-weight:600;line-height:1.4}
.calculator-menu>summary{padding:10px 0;white-space:nowrap}
.calculator-menu summary::-webkit-details-marker,.calculator-family summary::-webkit-details-marker{display:none}
.calculator-menu summary::after,.calculator-family summary::after{content:'⌄';flex:none}
.calculator-menu[open]>summary::after,.calculator-family[open]>summary::after{content:'⌃'}
.calculator-dropdown,.calculator-family-options{position:absolute;top:calc(100% + 6px);left:0;width:310px;max-width:90vw;box-sizing:border-box;background:#25282b;color:#f3f4f4;border:1px solid #666a6d;border-radius:8px;padding:8px;box-shadow:0 16px 30px #0005;z-index:60;max-height:70vh;overflow:auto}
.calculator-menu .calculator-family-options{position:static;width:auto;max-height:none;border:0;border-radius:0;padding:0 0 4px 12px;box-shadow:none;background:transparent}
.calculator-menu .calculator-family>summary{padding:12px 16px;border-radius:4px;color:#f3f4f4}
.header nav .calculator-dropdown a,.calculator-shortcuts .calculator-family-options a{display:block;margin:0;padding:12px 16px;font-size:16px!important;font-weight:500;line-height:1.45;border:0;border-radius:4px;color:#f3f4f4!important;white-space:normal}
.calculator-dropdown a:hover,.calculator-menu .calculator-family>summary:hover,.calculator-shortcuts .calculator-family-options a:hover{background:#373b3f}
.header nav .calculator-dropdown a[aria-current=page],.calculator-shortcuts .calculator-family-options a[aria-current=page]{background:#fb6306;color:#151515!important}
.calculator-shortcuts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:14px 5vw;background:#202326;border-bottom:1px solid #484c50;position:relative;z-index:50}
.calculator-shortcuts[hidden]{display:none}
.calculator-shortcuts>a,.calculator-shortcuts>.calculator-family>summary{display:flex;align-items:center;min-height:44px;box-sizing:border-box;border:1px solid #666a6d;border-radius:6px;padding:10px 18px;color:#f3f4f4;font-size:16px;font-weight:600;line-height:1.4}
.calculator-shortcuts>a:hover,.calculator-shortcuts>.calculator-family>summary:hover{background:#373b3f}
.calculator-shortcuts>a[aria-current=page],.calculator-shortcuts>.calculator-family[data-active=true]>summary{background:#fb6306;border-color:#fb6306;color:#151515}
.calculator-menu summary:focus-visible,.calculator-shortcuts summary:focus-visible,.calculator-shortcuts a:focus-visible,.calculator-dropdown a:focus-visible{outline:3px solid #fb6306;outline-offset:3px}
.calculator-shortcuts>.calculator-family[data-active=true]>summary:focus-visible{outline-color:white}
.hublinks a{display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.5}
.hublinks a:focus-visible{outline:3px solid #fb6306;outline-offset:4px}
@media(max-width:600px){
 .calculator-dropdown{left:auto;right:0}
 .calculator-shortcuts{gap:8px;padding:12px 5vw}
 .calculator-shortcuts>a{flex-basis:100%}
 .calculator-shortcuts>.calculator-family{flex:1 1 calc(50% - 8px);min-width:0}
 .calculator-shortcuts>.calculator-family>summary{font-size:14px;padding:10px 12px}
 .calculator-shortcuts>.calculator-family:nth-child(odd)>.calculator-family-options{left:auto;right:0}
}

/* Customer accounts use the same dark text and lime actions as the calculators. */
#accountstate{width:min(100%,380px);min-width:0}
.accountform,.accountunavailable{padding:24px;background:#fff;color:#1d2523;border:1px solid #d9dfda;border-radius:12px;text-align:left}
.accountform h2,.accountunavailable h2{font-size:24px;margin:0 0 8px;line-height:1.2}
.accountform>p{font-size:16px;line-height:1.45;margin:8px 0 16px}
.accountform label{display:block;font-size:16px;margin:12px 0;color:#1d2523}
.accountform input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:46px;margin-top:6px;padding:10px 12px;font:inherit;color:#1d2523;background:#fff;border:1px solid #89948c;border-radius:6px}
.accountform input:focus-visible,.accountform button:focus-visible{outline:3px solid #536932;outline-offset:2px}
.accountform .primary{width:100%;min-height:48px;font-size:16px;margin-top:12px}
.accountform .hint{font-size:14px}
.accountform button:disabled{opacity:.6;cursor:wait}
.accountlinks{display:flex;flex-wrap:wrap;gap:8px 20px}
.accountlinks button{border:0;background:none;color:#25371b;text-decoration:underline;font:inherit;min-height:44px;padding:4px 0}
.accountdetails{display:grid;gap:8px;overflow-wrap:anywhere}
#accountfeedback{font-size:15px;overflow-wrap:anywhere}
@media(max-width:700px){.portalheading{align-items:stretch;gap:24px}#accountstate{width:100%}.accountform,.accountunavailable{padding:18px}.portalheading h1{font-size:36px}}

/* Pricing is denied until the server confirms the signed-in staff account. */
.ga-cost-panel,.ga-staff-costs{display:none!important}
html[data-ga-pricing="allowed"] .ga-cost-panel,html[data-ga-pricing="allowed"] .ga-staff-costs{display:block!important}

.quote-message{white-space:pre-wrap;overflow-wrap:anywhere}#staffquote input,#staffquote textarea{width:100%;box-sizing:border-box}#quoteinbox{margin-top:2rem}

/* Keep the header dropdown above the shortcut bar (50) and model controls (2).
   Raising the dropdown alone cannot escape the header's stacking context. */
.header{z-index:80;overflow:visible}
.calculator-shortcuts{overflow:visible}
.calculator-shortcuts>.calculator-family[open]{z-index:2}
