*{box-sizing:border-box}body{margin:0;background:#f3f7fb;color:#102b46;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}header{max-width:1240px;margin:auto;padding:27px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5ee}.brand{display:flex;gap:11px;align-items:center}.mark{display:grid;place-items:center;width:40px;height:40px;background:#102b46;color:#fff;font-weight:850;font-size:25px;border-radius:9px;border-bottom:3px solid #61e5ec}.brand strong{font-size:19px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:3.2px;margin-top:1px;color:#587185}.private{font-size:10px;letter-spacing:1.5px;color:#587185}main{max-width:1240px;margin:auto;padding:42px 40px 0}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:700;color:#587185}h1{font-size:44px;letter-spacing:-1.8px;line-height:1.1;margin:15px 0}h1 span{color:#527e9e}.intro p{color:#567085;max-width:590px;line-height:1.7;margin-bottom:25px}.model{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;background:#fff6e9;border:1px solid #eadcc4;border-radius:9px;max-width:100%;font-size:12px;line-height:1.7;color:#715b38}.model strong{font-weight:650}.dot{margin-top:7px;background:#c39648;border-radius:50%;width:7px;height:7px;flex-shrink:0}.tabs{display:flex;gap:5px;margin:27px 0 17px;padding:5px;background:#e5edf5;border-radius:10px;width:max-content;max-width:100%}.tabs button{border:0;background:transparent;color:#688097;font:inherit;font-size:10px;letter-spacing:.3px;padding:12px 17px;border-radius:7px;cursor:pointer}.tabs button span{color:#50687d;font-size:13px;letter-spacing:0;margin-left:9px;font-weight:600}.tabs button.active{background:white;box-shadow:0 2px 5px #102b4609}.tabs button.active span{color:#102b46}.workspace{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;align-items:stretch}.inputs{background:#fff;border:1px solid #dce5ee;border-radius:12px;padding:26px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title h2{font-size:17px;letter-spacing:-.4px;margin:0}.section-title>span{font-size:9px;color:#50687d;letter-spacing:1.2px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 19px}label{font-size:12px;font-weight:600;color:#45647c;display:block}label>span{float:right;color:#50687d;font-weight:400}input{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid #d3e0ec;background:#fafcfe;color:#102b46;border-radius:6px;font:inherit;font-size:17px;font-weight:550;outline:0}input:focus{border-color:#398bb6;box-shadow:0 0 0 3px #398bb615}small{font-size:10px;line-height:1.6;display:block;color:#50687d;margin-top:7px;font-weight:400}.calculate{width:100%;margin-top:25px;border:0;background:#17699c;color:white;border-radius:7px;font:inherit;font-weight:600;padding:14px 18px;text-align:left;cursor:pointer}.calculate span{float:right;color:#61e5ec}.calculate:hover{background:#11537f}.replacement-title{margin:28px 0 18px;padding-top:22px;border-top:1px solid #dce6f0}.results{background:#102b46;color:#fff;border-radius:12px;padding:26px;display:flex;flex-direction:column}.result-header{display:flex;justify-content:space-between;color:#b4d9ee;font-size:9px;letter-spacing:1.2px;gap:10px}.result-header span+span{color:#9bdce9;font-size:8px}.headline{margin:26px 0 5px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.headline strong{font-size:55px;font-weight:550;letter-spacing:-2.5px}.headline span{color:#b4d9ee;font-size:12px}.caption{color:#c0dcec;font-size:12px;margin:0 0 24px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff18}.stat{padding:19px 0;border-bottom:1px solid #ffffff18}.stat p{font-size:10px;color:#b4d9ee;margin:0 0 8px}.stat strong{font-size:21px;font-weight:500;letter-spacing:-.5px}.stat strong span{font-size:11px;color:#b4d9ee;margin-left:4px}.result-note{font-size:11px;line-height:1.8;color:#c0dcec;padding:15px 0 2px}.actions{display:flex;gap:10px;margin-top:auto;padding-top:21px}.actions button{border:1px solid #ffffff28;border-radius:6px;background:transparent;color:#daebf5;padding:9px 13px;font:inherit;font-size:11px;cursor:pointer}.actions button:hover{background:#ffffff0b}#copy-status{color:#61e5ec}#error{font-size:12px;color:#b33f36;background:#fff1ef;padding:10px;border-radius:5px}.method{border-top:1px solid #d7e4ef;margin-top:30px}.method summary{list-style:none;display:flex;justify-content:space-between;padding:20px 0;color:#50687d;font-size:12px;cursor:pointer}.method summary span{font-size:18px}.method-body{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;padding-bottom:20px}.method h3{font-size:13px}.method p{color:#567085;font-size:12px;line-height:1.8}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 28px;color:#50687d;font-size:9px;border-top:1px solid #dce5ee}footer span:first-child{letter-spacing:1.2px}button:focus-visible,summary:focus-visible{outline:3px solid #53a5cd;outline-offset:3px}[hidden]{display:none!important}@media(max-width:720px){header{padding:18px 20px}main{padding:28px 18px 0}h1{font-size:35px}.private{font-size:8px}.workspace{grid-template-columns:1fr;gap:16px}.tabs{width:100%;justify-content:space-between;gap:0}.tabs button{padding:12px 8px;font-size:8px}.tabs button span{font-size:11px;margin-left:4px}.inputs,.results{padding:21px}.grid{gap:20px 14px}.headline strong{font-size:48px}.method-body{grid-template-columns:1fr}footer{flex-direction:column;gap:8px}.intro p{font-size:13px}}
select{display:block;width:100%;margin-top:9px;padding:13px 9px;border:1px solid #d3e0ec;background:#fafcfe;color:#102b46;border-radius:6px;font:inherit;font-size:13px;min-height:48px}select:focus{outline:2px solid #53a5cd}.full{grid-column:1/-1}.tabs{width:100%;flex-wrap:wrap}.tabs button{flex:1;white-space:nowrap}.preferences{margin-top:24px;border-top:1px solid #dce6f0;padding-top:16px}.preferences summary{font-size:12px;color:#50687d;cursor:pointer;margin-bottom:16px}.door-right{display:flex;flex-direction:column;gap:16px}.door-right .results{display:block}.spring-spec{font-size:30px;letter-spacing:-1px;margin:22px 0 8px;font-weight:600}.spring-card{padding:14px;background:#ffffff09;border:1px solid #ffffff19;border-radius:7px;margin:17px 0}.spring-card>span{font-size:9px;letter-spacing:1px;color:#b4d9ee;display:block}.spring-card strong{display:block;font-size:19px;margin-top:8px;font-weight:500}.spring-card p{font-size:11px;color:#c0dcec;margin-bottom:0}.selection-warning,.selection-good{padding:11px 12px;border-radius:6px;line-height:1.6;font-size:11px}.selection-warning{background:#5d4632;color:#ffe3bd}.selection-good{background:#17435a;color:#61e5ec}.fine{font-size:10px}.wire-controls{background:#fff;border:1px solid #dce5ee;border-radius:11px;padding:21px}.wire-controls .section-title{margin-bottom:15px}.wire-controls h2{font-size:14px}.wire-controls .section-title strong{font-size:13px;color:#11537f}.slider-row{display:flex;align-items:center;gap:12px}.slider-row input{padding:0;box-shadow:none;border:0;accent-color:#274c70;margin:0;min-width:0}.slider-row button{width:36px;height:36px;flex-shrink:0;border:1px solid #d3e0ec;border-radius:6px;background:#f0f6fb;font-size:20px;cursor:pointer}.wire-controls>p{font-size:11px;color:#567085;line-height:1.7}.control-actions{display:flex;gap:8px;margin-top:14px}.control-actions button{background:#edf4fa;border:1px solid #d7e4ef;color:#17699c;border-radius:5px;padding:9px;font:inherit;font-size:11px;cursor:pointer}#alternatives{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.alternative{background:#fafcfe;border:1px solid #dce5ee;border-radius:6px;padding:10px 5px;text-align:left;cursor:pointer;color:#102b46}.alternative.selected{border-color:#398bb6;background:#edf7fc}.alternative strong{font-size:11px;display:block}.alternative span{font-size:9px;display:block;margin-top:6px;color:#557086}#door-error{font-size:12px;color:#b33f36;background:#fff1ef;padding:10px;border-radius:5px}@media(max-width:720px){.tabs button{flex:0 0 32%;padding:10px 7px}.tabs button span{font-size:11px}.tabs{justify-content:flex-start;gap:3px}.spring-spec{font-size:25px}.door-workspace{align-items:start}}
.app-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-tools span{font-size:10px;color:#557086}.app-tools button{border:1px solid #cddfeb;background:#fff;color:#17699c;border-radius:6px;padding:9px 12px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.app-tools #update-app{background:#17699c;color:#fff}#install-help{max-width:1160px;margin:18px auto 0;padding:16px 20px;background:#eaf5fc;border:1px solid #cbdfea;border-radius:9px;font-size:12px;color:#345d7a}#install-help p{margin-bottom:0;line-height:1.8}@media(max-width:720px){header{gap:10px}.app-tools{max-width:185px;gap:6px}.app-tools span{width:100%;text-align:right;font-size:9px}.app-tools button{padding:7px 9px;font-size:10px}#install-help{margin:16px 18px 0}}@media(display-mode:standalone){header{padding-top:max(18px,env(safe-area-inset-top))}body{padding-bottom:env(safe-area-inset-bottom)}}

/* Nexus brand details; retain the proven layout. */
:root{--nexus-navy:#102b46;--nexus-blue:#17699c;--nexus-cyan:#61e5ec;--nexus-paper:#f3f7fb}.mark{color:var(--nexus-cyan)}.calculate{background:var(--nexus-blue)}.tabs button.active{box-shadow:inset 0 -2px 0 var(--nexus-blue),0 2px 5px #102b4609}.slider-row input{accent-color:var(--nexus-blue)}.alternative.selected{background:#e7f6fd;border-color:#338eb9}.spring-spec{color:#d7f8fc}.result-header span+span{color:#9ee8f3}.track-field>span{font-size:12px;font-weight:600;color:#45647c}.track-toggle{display:flex;gap:4px;padding:4px;background:#e5edf5;border-radius:7px;margin-top:9px;min-height:48px}.track-toggle button{flex:1;border:0;background:transparent;border-radius:5px;color:#50687d;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px 10px}.track-toggle button[aria-pressed=true]{background:#17699c;color:#fff}.track-toggle button:focus-visible{outline:3px solid #53a5cd;outline-offset:2px}

/* Navy, blue and cyan from the Nexus logo and business-card references. */
.results{background:linear-gradient(135deg,#0c1b31 0%,#113b58 100%)}.mark{background:#102b46;color:#61e5ec}.tabs button.active span{color:#11537f}.track-toggle button[aria-pressed=true]{background:#17699c}.calculate:hover{background:#11537f}

/* Nexus spring monogram shared by header and installed app. */
.mark{border:0;overflow:hidden}.mark svg{display:block;width:100%;height:100%}

.mark{background:#f7f8f8}.mark img{display:block;width:100%;height:100%;object-fit:contain}

/* Shopping list and supplier exports. */
.order-heading,.order-calc-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:28px 0 20px}.order-heading h2,.order-calc-heading h2{font-size:24px;letter-spacing:-.6px;margin:0 0 8px}.order-heading p,.order-calc-heading p{font-size:12px;color:#567085;line-height:1.7;margin:0}.order-heading>span{color:#50687d;font-size:11px;max-width:200px;line-height:1.7}.order-top{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start}.order-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px}.order-entry-grid input{font-size:15px}.order-entry-grid .order-cones{align-self:center;display:flex;align-items:center;gap:9px;font-size:12px}.order-cones input,.collected-check input{width:18px;height:18px;margin:0;accent-color:#17699c}.order-top h3{margin:0;font-size:17px}.order-row{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid #dce5ee;padding:17px 0;align-items:center}.order-spec{min-width:0;overflow-wrap:anywhere}.order-spec strong{font-size:16px}.order-spec small{font-size:11px}.order-quantities{display:flex;gap:8px}.order-quantities label{font-size:10px}.order-quantities input{width:66px;padding:8px;margin-top:5px;font-size:15px}.collected-check{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:400}.order-row.collected .order-spec{opacity:.6}.order-row.collected .order-spec strong{text-decoration:line-through}.order-row button,.order-list-tools button,.order-export button,.picker-actions>button:first-child{border:1px solid #ccdeeb;background:#edf4fa;color:#17699c;font:inherit;font-size:12px;border-radius:6px;padding:10px 12px;cursor:pointer;min-height:40px}.order-row button{justify-self:end;font-size:11px}.order-list-tools{display:flex;gap:8px;padding-top:14px;border-top:1px solid #dce5ee}.order-export{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.order-export button:first-child{background:#17699c;color:#fff;border-color:#17699c}.order-empty{font-size:13px;line-height:1.8;color:#567085;padding:16px 0}#order-status{font-size:12px;line-height:1.8;color:#11537f;min-height:22px;margin:13px 0 4px}.order-export-note{font-size:11px;max-width:700px}#order-plain{margin:18px 0;font-size:12px;color:#50687d}#order-plain summary{cursor:pointer;padding:8px 0}#order-text{width:100%;resize:vertical;border:1px solid #ccddeb;border-radius:8px;background:#fff;color:#102b46;padding:15px;line-height:1.8;font:13px ui-monospace,monospace}#order-print{display:none}.order-calc-heading{border-top:1px solid #ccdeeb;padding-top:26px;margin-top:30px}.order-calc-heading .track-toggle{min-width:270px;margin:0}.control-actions{flex-wrap:wrap}.control-actions .add-order{background:#17699c;color:white}.actions{flex-wrap:wrap}button:disabled{opacity:.45;cursor:default}#order-badge{margin-left:0;font-size:11px}#order-picker{background:#fff;border:1px solid #ccdeeb;border-radius:14px;padding:26px;width:min(550px,calc(100% - 24px));max-height:90dvh;overflow:auto;color:#102b46;box-shadow:0 22px 80px #102b4640}#order-picker::backdrop{background:#07182bbb}#order-picker h2{font-size:20px;margin:0}#pick-summary{font-size:13px;line-height:1.8;color:#50687d}.picker-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.picker-actions .calculate{margin:0;text-align:center}#pick-error{font-size:12px;color:#b33f36;line-height:1.7}.order-item-details{grid-column:1/-1;font-size:11px;color:#50687d}.order-item-details summary{cursor:pointer}.order-item-details>label{margin-top:10px}.order-item-details input[type=text]{font-size:13px;padding:9px}
@media(max-width:900px){.order-top{grid-template-columns:1fr}.order-heading,.order-calc-heading{align-items:flex-start;flex-direction:column;gap:12px}.order-heading>span{max-width:none}.order-calc-heading .track-toggle{width:100%;min-width:0}}
@media(max-width:420px){.order-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-row{gap:10px}.order-spec strong{font-size:14px}.order-quantities input{width:55px}#order-picker{padding:20px}.order-export button{flex:1 1 42%}}
@media print{
 @page{margin:18mm}body{background:#fff;color:#000}header,aside,.intro,.tabs,#door-workspace,#spring-workspace,.method,footer,dialog,datalist{display:none!important}main{max-width:none;padding:0;margin:0}#order-panel{display:block!important}#order-panel>*{display:none!important}#order-panel #order-print{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;font:12pt/1.7 monospace;color:#000;margin:0}
}
.order-wind>span{font-size:12px;font-weight:600;color:#45647c}.wind-buttons{display:flex;gap:5px;background:#e5edf5;padding:4px;border-radius:7px;margin-top:9px}.wind-buttons button{flex:1;min-height:44px;border:0;border-radius:5px;padding:10px 5px;background:transparent;color:#50687d;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.wind-buttons button[aria-pressed=true]{background:#17699c;color:#fff}.wind-buttons button[data-wind=lh][aria-pressed=true]{box-shadow:inset 0 -3px #102030}.wind-buttons button[data-wind=rh][aria-pressed=true]{box-shadow:inset 0 -3px #e75555}@media(max-width:420px){.wind-buttons button{font-size:11px}}
