.pricing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.price-total{font-size:48px;line-height:1.2;letter-spacing:-1.8px;font-weight:650;padding:22px 0;color:var(--teal)}.price-total small{display:block;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:7px}.cost-stack{display:flex;height:20px;border-radius:5px;overflow:hidden;margin:8px 0 18px;background:#edf1f4}.cost-stack span{display:block;height:100%}.cost-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.price-math{font-size:12px;overflow-wrap:anywhere}.price-result .callout{margin:22px 0}.price-result .callout p{font-size:12px;margin:6px 0 0}.pricing-layout .form-grid .note{display:block;font-weight:400;margin-top:5px;font-size:11px}.pricing-layout form>label{display:block}.pricing-layout input:invalid:not(:focus){border-color:#d9a38e}@media(max-width:1050px){.pricing-layout{grid-template-columns:1fr}}@media(max-width:700px){.pricing-layout .form-grid{grid-template-columns:1fr}.price-total{font-size:39px}}
.vm-autocomplete{position:relative;flex:1;min-width:0;align-self:flex-start}.vm-autocomplete input{width:100%}.vm-suggestions{position:absolute;z-index:20;top:calc(100% + 7px);left:0;right:0;max-height:330px;overflow:auto;background:#fff;border:1px solid #cbd5dc;border-radius:7px;box-shadow:0 12px 30px #18252b18}.vm-suggestions[hidden]{display:none}.vm-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#18252b;text-align:left;font-size:12px}.vm-suggestions button:last-child{border:0}.vm-suggestions button:hover,.vm-suggestions button[aria-selected=true]{background:#fff0eb;color:#bb442d}.vm-suggestions strong{font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.vm-suggestions button span{font-size:11px;color:#748087;flex-shrink:0}.vm-no-match{padding:15px;font-size:12px;color:#748087}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.vm-autocomplete{flex-basis:100%}.vm-suggestions button{flex-wrap:wrap;gap:3px}.vm-suggestions button span{width:100%}}
:root{--ink:#18252b;--muted:#748087;--red:#ed593f;--teal:#168578;--line:#e4e9ed;--side:#f5f8fa;--pale:#fff0eb;--amber:#fff6e2;--radius:7px;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-synthesis:none;background:#fff}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ed593f80;outline-offset:3px}.skip{position:fixed;top:-80px;left:10px;z-index:10;padding:12px;background:#fff}.skip:focus{top:10px}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:var(--side);border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:flex-start;gap:10px;font-weight:700;letter-spacing:-.5px;font-size:20px;line-height:1.2}.brand svg{width:32px;height:32px;fill:none;stroke:var(--ink);stroke-width:1.7;flex-shrink:0}.brand small{display:block;font-size:10px;letter-spacing:1.2px;color:#8e9ca7;font-weight:600;margin-top:9px}.sidebar nav{margin:38px -17px 0;display:grid;gap:7px}.nav-link{min-height:46px;padding:12px 20px;display:flex;gap:12px;align-items:center;font-weight:500;color:#465865;border-left:3px solid transparent}.nav-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.nav-link.active{color:var(--red);background:#ffebe6;border-left-color:var(--red)}.side-bottom{margin-top:auto;font-size:12px;color:#687b88;padding-top:20px;border-top:1px solid var(--line)}.side-bottom>a{display:flex;justify-content:space-between}.side-bottom p{margin:19px 0 4px;font-size:11px}.text-button{background:none;border:0;padding:0;color:var(--red);font-size:12px;text-align:left}.workspace{margin-left:240px}.topbar{height:57px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-weight:500}.top-actions{display:flex;gap:8px}main{padding:32px 32px 20px;max-width:1440px;margin:auto;min-height:calc(100vh - 130px)}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.07;letter-spacing:-1.7px;margin-bottom:14px;font-weight:700}h1 span{color:#738391}h2{font-size:20px;line-height:1.25;letter-spacing:-.6px;margin-bottom:6px}h3{font-size:17px;line-height:1.3;letter-spacing:-.25px;margin-bottom:8px}.muted{color:var(--muted)}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.intro p{color:#687b88;margin-bottom:0;font-size:15px}.button{border:1px solid #b9c4cb;border-radius:5px;background:#fff;color:var(--ink);padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;white-space:nowrap;min-height:39px}.button:hover{border-color:var(--red);color:var(--red)}.button.primary{background:var(--red);border-color:var(--red);color:#fff;padding:13px 21px}.button.primary:hover{background:#d64c34}.button.small{padding:5px 12px;min-height:31px;font-size:12px}.button.outline-red{border-color:var(--red);color:var(--red)}.banner{background:var(--amber);color:#94570c;padding:11px 17px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:5px;font-size:12px;margin-bottom:22px}.banner button{font-size:12px;white-space:nowrap;text-decoration:underline}.banner.own{background:#edf7f4;color:#316c63}.kpis{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px;padding:0 3px}.kpi{padding:0 22px;border-right:1px solid var(--line)}.kpi:first-child{padding-left:16px}.kpi:last-child{border:0}.kpi label{color:#647783;font-size:12px}.kpi strong{font-size:34px;display:block;letter-spacing:-1px;line-height:1.35;font-weight:650}.kpi p{color:#7e8e98;font-size:12px;margin:2px 0 0}.positive{color:var(--teal)}.negative{color:#b64d36}.chart-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:13px;margin-bottom:16px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px;min-width:0}.panel>p{font-size:12px;color:var(--muted);margin-bottom:5px}.chart{width:100%;height:auto;display:block;min-height:230px;margin-top:8px}.chart text{font-family:inherit;font-size:11px;fill:#74838e}.chart .point-label{font-size:11px;font-weight:600}.chart [data-select]{cursor:pointer}.chart [data-select]:hover circle{stroke:#18252b;stroke-width:2}.chart [data-select]:focus{outline:none}.chart [data-select]:focus circle{stroke:var(--red);stroke-width:4}.next-test{display:flex;flex-direction:column}.next-title{display:flex;gap:13px;align-items:center;margin:19px 0;color:var(--teal)}.next-title .round{width:43px;height:43px;border-radius:50%;background:#e5f5f1;display:grid;place-items:center;flex-shrink:0}.round svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.next-title h3{margin:0;font-size:17px}.steps{list-style:none;counter-reset:step;padding:0;margin:0 0 19px}.steps li{counter-increment:step;position:relative;padding-left:40px;margin-bottom:16px;font-size:12px}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:26px;height:26px;display:grid;place-items:center;background:#eef2f5;border-radius:50%;color:#6b7e8a}.steps b{display:block;font-size:12px;font-weight:600}.steps span{color:var(--muted);display:block;margin-top:3px}.next-test>.button{margin-top:auto;width:100%}.panel-table{padding:0;overflow:hidden}.panel-heading{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-heading h2{margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;white-space:nowrap}th{color:#71818b;font-weight:500;background:#f7f9fb;font-size:11px}th,td{padding:12px 17px;border-top:1px solid var(--line)}td strong{font-size:12px;display:block}td small{display:block;color:#7b8994;font-size:11px;margin-top:2px;max-width:280px;overflow:hidden;text-overflow:ellipsis}td .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:9px}.row-name{display:flex;align-items:center}.tag{display:inline-block;font-size:10px;padding:2px 6px;background:#eef3f5;color:#657b88;border-radius:4px;margin-left:6px}.tag.green{background:#e6f5f0;color:var(--teal)}.tag.warn{background:var(--amber);color:#9d650e}.controls{display:flex;flex-wrap:wrap;gap:15px;align-items:end;margin:20px 0}.controls label{min-width:170px}.controls input{max-width:210px}label{font-size:12px;font-weight:500;display:block}input,select,textarea{width:100%;display:block;margin-top:7px;border:1px solid #ccd5dc;background:#fff;color:var(--ink);border-radius:5px;padding:10px 11px;font-size:13px;min-height:40px}input[type=file]{padding:9px}input[type=range]{accent-color:var(--red);padding:0;border:0;min-height:24px}textarea{resize:vertical;line-height:1.6}.note{color:#7a8892;font-size:12px;line-height:1.65}.callout{background:#f3f8f7;padding:17px 20px;border-left:3px solid var(--teal);border-radius:0 5px 5px 0;font-size:13px;margin:20px 0}.callout p:last-child{margin-bottom:0}.callout.warm{background:#fff5ee;border-color:var(--red)}.section-gap{margin-top:28px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metric-bar{margin:20px 0}.metric-bar>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.bar-track{height:10px;background:#edf1f4;border-radius:3px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--red);border-radius:3px}.bar-track i.teal{background:var(--teal)}.bar-value{font-size:30px;letter-spacing:-1px;font-weight:650}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:20px 0}.toolbar input{width:260px;margin:0}.family-table td{white-space:normal;vertical-align:top;font-size:13px;line-height:1.6}.family-letter{font-size:25px;font-weight:650;letter-spacing:-1px}.family-detail{background:#f8fafb;padding:24px;border-radius:6px;margin-top:18px}.family-filter{display:flex;gap:7px;flex-wrap:wrap}.family-filter button{border:1px solid var(--line);background:white;padding:8px 16px;border-radius:5px;color:#647783;font-size:12px}.family-filter button.active{background:var(--ink);color:white;border-color:var(--ink)}.plain-list{padding-left:18px;font-size:13px;line-height:1.85}.plain-list li{margin-bottom:8px}.diagnosis{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.source-link{color:var(--red);font-size:12px;text-decoration:underline;text-underline-offset:3px}.source-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.source-list a{display:flex;justify-content:space-between;padding:16px 20px;background:white;font-size:13px}.source-list a:hover{background:#fff7f3}.source-list small{color:#85929b;font-size:11px;display:block}.decode-row{display:flex;padding:13px 0;border-bottom:1px solid var(--line);gap:20px;font-size:13px}.decode-row code{min-width:50px;color:var(--red);font-size:15px}.decoder-input{display:flex;gap:10px;max-width:700px;margin:24px 0}.decoder-input input{margin:0;font-family:ui-monospace,monospace}.empty{padding:45px 22px;text-align:center;color:var(--muted);border:1px dashed #c9d2d9;border-radius:6px}.empty h2{color:var(--ink);margin-bottom:12px}.empty .button{margin-top:10px}.divider{height:1px;background:var(--line);margin:22px 0}.mini-bars{display:grid;gap:18px;margin:24px 0}.bar-row{display:grid;grid-template-columns:140px 1fr 80px;gap:15px;align-items:center;font-size:12px}.bar-row strong{font-size:13px}.bar-row .bar-track{height:20px}.bar-row .bar-track i{min-width:2px}.settings-band{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:16px 0}.settings-band label{display:flex;align-items:center;gap:8px;color:#6c7e89}.settings-band input{width:85px;margin:0;min-height:33px;padding:5px 9px}.overview-note{margin:16px 0 0}.hint{background:#f7f9fb;padding:15px;border-radius:5px;font-size:12px}.mobile-nav{display:none}footer{padding:20px 32px;border-top:1px solid var(--line);color:#89949c;font-size:10px;margin-top:15px}footer a{color:#687d8a}dialog{border:1px solid var(--line);border-radius:10px;max-width:670px;width:calc(100% - 28px);max-height:90vh;padding:26px;color:var(--ink);box-shadow:0 25px 100px #17263130}dialog::backdrop{background:#18252b65;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dialog-head h2{font-size:24px}.eyeline{font-size:10px;letter-spacing:1.5px;color:var(--red);margin-bottom:5px}.icon-button{border:0;background:transparent;font-size:26px;color:#71818b;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--ink);color:white;padding:10px 18px;border-radius:6px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px;max-width:90vw}#toast.show{opacity:1}#import-error{color:#b64d36;font-size:12px}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#b64d36}.detail-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-line span{color:var(--muted)}.mode-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:22px 0}.mode-flow>div{padding:0 20px;border-right:1px solid var(--line)}.mode-flow>div:first-child{padding-left:0}.mode-flow>div:last-child{border:0}.mode-flow b{display:block;margin-bottom:8px}.mode-flow p{font-size:12px;color:var(--muted)}@media(min-width:1550px){main{padding:38px 48px}}@media(max-width:1150px){.sidebar{width:210px}.brand{font-size:17px}.workspace{margin-left:210px}main{padding:28px 24px}.chart-layout{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr)}h1{font-size:36px}.intro .primary{font-size:12px;padding:11px 14px}.kpi strong{font-size:29px}.kpi{padding:0 15px}.chart{min-height:220px}.next-test{padding:15px}.next-title h3{font-size:15px}.next-title{gap:9px}}@media(max-width:940px){.chart-layout{grid-template-columns:1fr}.next-test .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.next-title{margin:10px 0 15px}.intro{align-items:flex-start}.intro .primary{white-space:normal;max-width:180px}.two-col,.diagnosis{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{display:none}.workspace{margin-left:0}.topbar{padding:0 18px;font-size:12px}.top-actions{gap:5px}.topbar .small{font-size:11px;padding:5px 8px}.mobile-nav{display:block;padding:13px 18px;border-bottom:1px solid var(--line)}.mobile-nav label{display:none}.mobile-nav select{margin:0;background:#f8fafb;min-height:37px;padding:7px 10px;font-size:12px}main{padding:24px 18px}h1{font-size:33px;letter-spacing:-1.2px}.intro{display:block}.intro p{font-size:13px}.intro .primary{margin-top:17px;max-width:none}.banner{display:block;padding:12px;font-size:11px}.banner button{display:block;margin-top:7px;font-size:11px}.kpis{gap:0;margin-bottom:20px}.kpi{padding:0 9px}.kpi:first-child{padding-left:0}.kpi label{font-size:10px;display:block;min-height:30px}.kpi strong{font-size:24px}.kpi p{font-size:10px}.panel{padding:14px}h2{font-size:18px}.chart{min-height:0}.next-test .steps{display:block}.next-test .steps li{margin-bottom:12px}.panel-table{padding:0}.panel-heading{padding:14px}.panel-heading .text-button{font-size:11px;max-width:100px}.settings-band{gap:13px}.settings-band label{font-size:11px}.settings-band input{width:67px}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}.form-grid{gap:13px}.form-grid label{font-size:11px}.dialog-actions{flex-wrap:wrap}.dialog-actions .primary{padding:10px 14px}dialog{padding:20px}.bar-row{grid-template-columns:95px 1fr 63px;gap:8px;font-size:10px}.bar-row strong{font-size:11px}.mode-flow{grid-template-columns:1fr;gap:14px}.mode-flow>div{padding:0;border:0}.decoder-input{flex-wrap:wrap}.source-list a{padding:13px}.source-list small{font-size:10px}.source-list a>span:last-child{padding-left:10px}footer{padding:17px 18px;font-size:9px}#toast{left:50%}.form-grid .wide{grid-column:1/-1}}
.app-notice{margin:16px 32px 0;padding:12px 16px;background:#fff6e2;border-radius:5px;font-size:12px;color:#94570c}.app-notice[hidden],.app-update[hidden]{display:none}.app-update{margin:16px 32px 0;white-space:normal}.pricing-layout input:disabled{background:#f3f5f6;color:#9aa3a9}@media(max-width:700px){.app-notice,.app-update{margin:12px 18px 0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.vs-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vs-config{border-top:3px solid var(--red)}.vs-config.vs-b{border-top-color:var(--teal)}.vs-config-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.vs-config-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff0eb;color:var(--red);font-weight:700}.vs-b .vs-config-title>span{background:#e5f5f1;color:var(--teal)}.vs-config-title h2{margin:0}.vs-config select{font-size:12px}.vs-config label small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:5px}.vs-topology{margin:22px 0;display:grid;justify-items:center}.vs-topology>div{border:1px solid var(--line);background:#f8fafb;border-radius:6px;padding:12px 15px;width:100%;text-align:center}.vs-topology strong,.vs-topology span,.vs-topology small{display:block}.vs-topology small{font-size:10px;color:var(--muted)}.vs-topology strong{font-size:13px;margin:4px 0}.vs-topology span{font-size:12px;color:#647783}.vs-topology i{height:17px;border-left:2px solid #cdd8dd}.vs-cost{border-top:1px solid var(--line);padding:18px 0 8px}.vs-cost>span,.vs-cost>small{display:block;font-size:12px;color:var(--muted)}.vs-cost>strong{font-size:32px;line-height:1.4;letter-spacing:-1px}.vs-a .vs-cost>strong{color:var(--red)}.vs-b .vs-cost>strong{color:var(--teal)}.vs-tariffs{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.vs-tariffs summary{cursor:pointer;color:#637985;font-size:13px;font-weight:500}.vs-tariffs .note{margin-top:14px}.vs-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:20px 0}.vs-toolbar label{margin-right:auto;max-width:170px}.vs-toolbar input{max-width:170px}.vs-verdict{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#f3f8f7;border-radius:7px;padding:22px}.vs-verdict h2,.vs-verdict p{grid-column:1/-1;margin:0}.vs-verdict strong{font-size:27px;letter-spacing:-1px;font-weight:650}.vs-verdict span{display:block;font-size:11px;color:#748087}.vs-verdict p{font-size:13px}.vs-bar-group+.vs-bar-group{margin-top:28px}.vs-bar-group .bar-row{grid-template-columns:20px 1fr 100px;margin-top:12px}.vs-bar-group .bar-track{height:16px}.vs-table th[scope=row]{background:#fff;font-size:12px;min-width:200px}.vs-table td{font-size:12px}@media(max-width:1000px){.vs-layout{grid-template-columns:1fr}}@media(max-width:700px){.vs-verdict{grid-template-columns:1fr 1fr;padding:17px}.vs-layout{gap:15px}.vs-config select{font-size:11px}.vs-bar-group .bar-row{grid-template-columns:15px 1fr 80px}.vs-toolbar .button{font-size:11px}.vs-verdict strong{font-size:25px}}

.vs-worker-choice{min-width:0}.vs-match-driver{margin-top:8px;min-height:25px;line-height:1.4;text-decoration:underline;text-underline-offset:3px}
.vs-fields{align-items:start}.vs-duration{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding:14px 0;border-top:1px solid var(--line,#e4e9ed)}.vs-duration input{width:100px}.vs-duration span{font-size:12px;color:#5a707b}.vs-cluster{margin-top:20px;text-align:center}.vs-node{border:1px solid #cbd8de;border-radius:10px;background:#f6f9fa;padding:12px 8px;display:flex;flex-direction:column;gap:5px;min-width:0}.vs-node strong{font-size:13px;overflow-wrap:anywhere}.vs-node span,.vs-node small{font-size:11px;color:#526671}.vs-driver{max-width:240px;margin:auto;background:#182c36;color:white;border:0}.vs-driver span,.vs-driver small{color:#cbdde7}.vs-connector{height:25px;width:1px;background:#b1c2ca;margin:auto}.vs-pool-label{font-size:12px;margin:0 0 12px}.vs-worker-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:2px solid #bfd0d8;padding-top:12px}.vs-a .worker-node{border-left:3px solid #ed593f}.vs-b .worker-node{border-left:3px solid #168578}.vs-add{margin-top:16px;width:100%}.vs-stack-row{margin:20px 0}.vs-stack-track{display:flex;height:30px;background:#eff3f5;border-radius:5px;overflow:hidden;margin:10px 0}.vs-stack-track span{display:block;height:100%}.vs-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}.vs-legend i{display:inline-block;width:18px;height:4px;margin-right:8px;vertical-align:middle}.vs-curve{width:100%;height:auto}.vs-toolbar.panel{gap:16px;align-items:end}.vs-toolbar label{min-width:130px;flex:1}.vs-toolbar label:first-child{min-width:170px}.vs-toolbar select{max-width:100%}.language-switch{display:flex;gap:3px;border:1px solid #d8e1e6;padding:3px;border-radius:8px}.language-switch button{background:transparent;border:0;padding:5px 8px;cursor:pointer;border-radius:5px;font-size:12px}.language-switch button[aria-pressed=true]{background:#182c36;color:white}.estimate-tag{background:#fff0d9;color:#82530b;padding:2px 5px;border-radius:4px;font-size:11px}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.topbar{gap:8px}.topbar>span{display:none}.top-actions{width:100%;justify-content:flex-end}.vs-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.vs-config{padding:18px}.vs-fields label{font-size:12px}.vs-fields select{font-size:12px}.vs-duration{gap:8px}.vs-toolbar{flex-wrap:wrap}}
/* A single primary view per page, with secondary explanations available on demand. */
.intro h1{font-size:clamp(25px,3.1vw,40px);line-height:1.2;letter-spacing:-1.2px}.intro{margin-bottom:24px}.disclosure{border:1px solid var(--line);border-radius:10px;background:#fff}.disclosure>summary{padding:16px 20px;cursor:pointer;font-size:13px;font-weight:600;list-style-position:inside}.disclosure>summary:hover{background:#f6f9fa;border-radius:10px}.disclosure>summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.disclosure[open]>summary{border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}.disclosure-body{padding:18px 20px}.disclosure-body>p:first-child{margin-top:0}.disclosure-body>p{color:#526671;font-size:13px;line-height:1.65}.disclosure-body>p:last-child{margin-bottom:0}.chart-layout-wide{grid-template-columns:minmax(0,1fr)}.chart-layout-wide .chart{max-height:360px}.price-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;color:var(--muted);font-size:12px}.price-status button{font-size:12px}.price-monthly{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.scope-note{margin-top:20px}.vs-duration input{margin-left:auto}.vs-duration{justify-content:space-between}.panel-table.disclosure-body{padding:0}.next-test .text-button{display:inline-block;margin-top:16px}.disclosure .two-col{gap:20px}@media(max-width:600px){.disclosure>summary{padding:14px;font-size:12px}.disclosure-body{padding:16px}.intro h1{font-size:27px}.intro{margin-bottom:20px}.price-status{align-items:flex-start}}

.banner[hidden],.callout[hidden]{display:none}

.topbar{justify-content:flex-end}
.capacity-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.capacity-controls>label:first-child{flex:1;min-width:210px}.capacity-controls>label:nth-child(2){min-width:180px}.capacity-controls .capacity-filter{display:flex;align-items:center;gap:8px;font-size:12px;max-width:330px;line-height:1.5;cursor:pointer;padding-bottom:10px}.capacity-filter input{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--teal)}.capacity-advanced{margin-top:18px}.capacity-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.capacity-plot-panel{min-width:0}.capacity-chart{width:100%;min-width:0}.capacity-svg{display:block;width:100%;height:auto;overflow:visible}.capacity-svg text{font-size:11px;fill:#526671}.capacity-svg g[role=button]{cursor:pointer}.capacity-svg g:focus-visible{outline:none}.capacity-svg g:focus-visible>circle:nth-of-type(2){stroke:#182c36;stroke-width:3}.capacity-svg .capacity-dot-count{font-size:9px;font-weight:700;display:none;pointer-events:none}.capacity-svg g:hover .capacity-dot-count,.capacity-svg g:focus .capacity-dot-count,.capacity-svg g[aria-pressed=true] .capacity-dot-count{display:block}.capacity-color-legend{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:11px;color:#526671}.capacity-gradient{width:120px;height:9px;background:linear-gradient(90deg,#168578,#ce9734,#d04837);border-radius:8px}.capacity-reference{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.capacity-reference p{margin:7px 0;font-size:14px}.capacity-reference small{font-size:12px;color:var(--muted)}.capacity-reference>div:last-child{text-align:right;display:flex;flex-direction:column;gap:10px}.capacity-reference strong{white-space:nowrap;font-size:23px}.capacity-reference .estimate-tag{margin-left:8px}.capacity-detail h2{overflow-wrap:anywhere}.capacity-detail label{margin:14px 0;font-size:12px}.capacity-detail select{font-size:12px}.capacity-price{font-size:30px;font-weight:650;letter-spacing:-.8px;margin:22px 0}.capacity-price small{display:block;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.capacity-compare{width:100%;margin-top:20px;font-size:12px}.capacity-workspace-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:20px}.capacity-detail{position:sticky;top:20px}.capacity-chart+.note{font-size:11px}.capacity-plot-panel .panel-heading{flex-wrap:wrap;gap:8px}.capacity-plot-panel .panel-heading .muted{font-size:12px}@media(max-width:1100px){.capacity-layout{grid-template-columns:minmax(0,1fr)}.capacity-detail{position:static}.capacity-detail .detail-line{max-width:520px}.capacity-detail .capacity-compare{max-width:520px}.capacity-reference{align-items:flex-start}.capacity-controls .capacity-filter{max-width:none}}@media(max-width:600px){.capacity-controls{gap:14px}.capacity-controls>label{width:100%;min-width:0!important}.capacity-controls .capacity-filter{padding:0}.capacity-reference{flex-direction:column;gap:14px}.capacity-reference>div:last-child{flex-direction:row;text-align:left;width:100%;align-items:center;justify-content:space-between}.capacity-reference strong{font-size:20px}.capacity-reference .text-button{font-size:11px}.capacity-plot-panel{padding:14px}.capacity-color-legend{gap:8px;font-size:10px}.capacity-gradient{width:80px}.capacity-svg text{font-size:11px}}
.capacity-advanced input:invalid{border-color:var(--red)}.capacity-svg .capacity-zone-label{font-size:10px;fill:#527e6e}
.capacity-controls [hidden],.capacity-advanced[hidden],#capacity-map-note[hidden]{display:none}.equivalent-capacity{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 10px 26px}.equivalent-capacity strong{font-size:22px;letter-spacing:-.5px}.equivalent-capacity small{flex-basis:100%;text-align:center;color:var(--muted);font-size:12px}.equivalent-bars{display:flex;flex-direction:column;gap:8px;padding:0 0 18px}.equivalent-row{width:100%;display:grid;grid-template-columns:minmax(135px,1.1fr) minmax(70px,1.6fr) minmax(95px,.75fr);align-items:center;gap:14px;padding:15px 12px;border:1px solid transparent;border-radius:8px;background:#fafcfc;text-align:left;color:var(--ink,#18252b);cursor:pointer}.equivalent-row:hover{background:#eef5f3}.equivalent-row:focus-visible{outline:2px solid #168578;outline-offset:2px}.equivalent-row.is-reference{border-color:#8c9ba0}.equivalent-row.is-selected{background:#edf5f2;box-shadow:inset 3px 0 #168578}.equivalent-name strong{display:block;font-size:12px;overflow-wrap:anywhere}.equivalent-name small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.equivalent-track{display:flex;height:26px;border-radius:5px;overflow:hidden;background:#e9eef0}.equivalent-track i{display:block;height:100%;min-width:0}.equivalent-value{text-align:right}.equivalent-value strong{display:block;font-size:14px;white-space:nowrap}.equivalent-value small{display:block;font-size:11px;margin-top:5px}.equivalent-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;font-size:11px;color:var(--muted)}.equivalent-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.equivalent-legend>span{display:inline-flex;align-items:center}@media(max-width:600px){.equivalent-row{grid-template-columns:minmax(0,1fr) 100px;gap:10px;padding:13px 10px}.equivalent-track{grid-column:1/-1;grid-row:2;height:22px}.equivalent-value{grid-column:2;grid-row:1}.equivalent-capacity strong{font-size:20px}.equivalent-legend{gap:10px}}

/* Comparison rows: emphasize SKU, worker count, relevant totals and cost. */
.equivalent-row{grid-template-columns:minmax(240px,1.65fr) minmax(80px,1.25fr) minmax(105px,.75fr);gap:14px;padding:14px 12px}
.equivalent-name{min-width:0}
.equivalent-heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:8px;row-gap:4px;line-height:1.25}
.equivalent-heading strong{display:inline;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.equivalent-worker-count{font-size:12px;color:var(--muted)}
.equivalent-reference{font-size:10px;font-weight:600;color:#4a6069;padding:2px 5px;border:1px solid #cbd4d9;border-radius:4px;background:#f2f5f6;white-space:nowrap}
.equivalent-totals{display:flex;align-items:center;flex-wrap:wrap;column-gap:14px;row-gap:4px;margin-top:8px}
.equivalent-metric{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;white-space:nowrap}
.equivalent-metric svg{display:block;flex:none;color:#75858d}
.equivalent-per-worker{display:block;margin-top:7px;color:var(--muted);font-size:11px}
.equivalent-track{height:22px}
@media(max-width:680px){
 .equivalent-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 10px}
 .equivalent-track{grid-column:1/-1;grid-row:2;height:22px}
 .equivalent-value{grid-column:2;grid-row:1}
 .equivalent-totals{column-gap:10px}
}

/* Azure VM opportunity filters and material difference indicator */
.capacity-controls #capacity-upgrade-control{min-width:230px;align-self:center;padding-bottom:4px}
.equivalent-hardware{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:10px;color:#79541f;font-weight:550;line-height:1.35}
.capacity-hardware{margin-top:15px;padding:12px;border:1px solid #e7dbbf;border-radius:8px;background:#fffcf6;font-size:12px;line-height:1.5}
.capacity-hardware strong{font-size:12px;display:block;margin-bottom:5px}
.capacity-hardware ul{margin:0;padding-left:17px}
.capacity-hardware li+li{margin-top:3px}
.capacity-availability{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0 0}
.capacity-upgrade-empty{font-size:12px;color:var(--muted);padding:11px 0;margin:0}
@media(max-width:600px){.capacity-controls #capacity-upgrade-control{min-width:0;width:100%;padding:0}}

.capacity-guide-panel{padding-bottom:24px}
.capacity-stage-title{display:flex;align-items:center;gap:12px;margin:2px 0 17px}
.capacity-stage-title>span{display:grid;place-items:center;flex:none;width:30px;height:30px;background:#18252b;color:white;border-radius:50%;font-weight:650;font-size:13px}
.capacity-stage-title h2{margin:0;font-size:18px}
.capacity-manual-fields{display:grid;grid-template-columns:minmax(180px,2fr) minmax(95px,.75fr) minmax(180px,2fr);gap:14px}
.capacity-manual-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;min-width:0}
.capacity-manual-fields select,.capacity-manual-fields input{width:100%;min-width:0}
.capacity-guide-panel>.capacity-controls{margin:16px 0 22px}
.capacity-guide-panel .capacity-old-control{display:none!important}
.capacity-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.capacity-choices label{display:grid;grid-template-columns:17px 1fr;gap:3px 10px;border:1px solid #dfe6e8;border-radius:9px;padding:13px;cursor:pointer;background:#fff}
.capacity-choices label:has(input:checked){border-color:#168578;background:#f0f9f5}
.capacity-choices input{grid-row:1/3;margin:2px 0 0;width:17px;height:17px;accent-color:#168578}
.capacity-choices strong{font-size:12px}.capacity-choices small{grid-column:2;font-size:11px;color:var(--muted);line-height:1.4}
.capacity-results-view{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:12px}
.capacity-results-view select{min-width:135px}
.capacity-empty{padding:13px;font-size:12px;border:1px solid #e5e9e9;border-radius:8px;color:var(--muted);margin-bottom:12px}
@media(max-width:900px){.capacity-manual-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.capacity-manual-fields,.capacity-choices{grid-template-columns:minmax(0,1fr)}.capacity-results-view{margin-left:0}.capacity-stage-title{flex-wrap:wrap}}

/* Always-visible constraints, independent from comparison criteria */
.capacity-constraints-panel{padding-top:18px;padding-bottom:18px}
.capacity-constraints-head{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.capacity-constraints-head h3{font-size:15px;font-weight:650;line-height:1.4;margin:0}
.capacity-constraints-fields{display:grid;grid-template-columns:repeat(2,minmax(0,230px));column-gap:20px;row-gap:12px;align-items:end}
.capacity-constraints-fields label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:550}
.capacity-constraints-fields input{width:100%;min-width:0}
@media(max-width:600px){.capacity-constraints-fields{grid-template-columns:minmax(0,1fr)}}

/* Section 2: inline constraints; Section 3: bordered results panel */
.capacity-guide-panel .capacity-constraints-panel{margin-top:20px;padding:18px 0 0;border-top:1px solid #dde5e7;background:transparent;border-radius:0}
.capacity-results-panel{min-width:0}
.capacity-results-panel>.capacity-stage-title{margin-bottom:18px}
.capacity-results-panel>.capacity-layout{margin-top:14px}
.capacity-results-panel>.price-status{margin-bottom:10px}

.side-bottom .sidebar-version{display:block;margin-top:22px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;font-weight:500;letter-spacing:.1px;color:#7c8993;text-align:left}

.capacity-latest{display:flex;align-items:center;gap:9px;margin:12px 0 5px}.capacity-latest input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;padding:0;flex:0 0 16px;accent-color:var(--teal)}

/* Alternatives: one reference, one objective, one set of results. */
.capacity-setup,.capacity-search{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.capacity-setup>h2,.capacity-search>h2{margin:0 0 16px;font-size:19px}
.capacity-manual-fields label,.capacity-objective{color:#455c67}
.capacity-manual-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.5fr);gap:14px 20px}
.capacity-manual-fields label{gap:0}.capacity-manual-fields select,.capacity-manual-fields input{margin-top:6px}
.capacity-resource-summary{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:baseline;margin:18px 0 0;padding:12px 0 0;color:#455c67;font-size:13px}.capacity-resource-summary strong{color:var(--ink);font-variant-numeric:tabular-nums}
.capacity-objective{max-width:560px}.capacity-help{font-size:12px;color:#526671;line-height:1.65;margin:10px 0 0;max-width:85ch}
.capacity-filters{margin-top:16px;max-width:720px}.capacity-filters h3{font-size:14px;margin:0 0 12px}.capacity-filters .capacity-latest{margin-top:18px}.capacity-filters .capacity-constraints-fields input{margin-top:0}
.capacity-results-panel>.capacity-results-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:0}.capacity-results-heading h2{font-size:20px;margin:0}.capacity-results-heading>span{color:#526671;font-size:13px}.capacity-results-heading .capacity-results-view{margin-left:auto;display:flex;align-items:center;gap:10px;color:#455c67}.capacity-results-view select{margin:0;width:auto;min-width:155px}
.capacity-results-panel>.price-status{font-size:12px;color:#526671;margin:14px 0}.capacity-results-panel .text-button{color:#b33c28;min-height:32px}
.capacity-layout{gap:24px;margin-top:16px}.capacity-plot-panel{padding:0;border:0;background:transparent}.capacity-detail{padding:18px 0 18px 20px;border-left:1px solid var(--line);border-radius:0;top:16px}.capacity-detail[hidden],#capacity-full-list[hidden],#capacity-empty[hidden],#capacity-map-note[hidden]{display:none}
.capacity-detail-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.capacity-detail-heading h3{margin:0;font-size:16px}.capacity-detail-heading .text-button{margin:0}.capacity-detail .detail-line{gap:14px}.capacity-detail .detail-line b{text-align:right}.capacity-detail .capacity-hardware{border:0;padding:0;margin-top:20px;background:transparent}.capacity-hardware h3{font-size:13px}.capacity-detail .capacity-compare{margin-top:20px}
.equivalent-row{grid-template-columns:minmax(210px,1.4fr) minmax(80px,1fr) auto;border-color:var(--line);background:#fff;padding:14px}.equivalent-row.is-reference{background:#f5f8fa;border-color:#cbd5db}.equivalent-row.is-selected{box-shadow:none;border-color:var(--teal);background:#edf5f2}.equivalent-name small,.equivalent-worker-count{color:#526671}.equivalent-bars{padding-bottom:12px}.equivalent-track{height:14px}.equivalent-legend{color:#526671;justify-content:flex-start}.capacity-empty{color:#455c67;background:#f5f8fa;border:0;padding:14px 16px}
@media(max-width:1100px){.capacity-detail{border-left:0;border-top:1px solid var(--line);padding:20px 0}.capacity-manual-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.capacity-manual-fields{grid-template-columns:minmax(0,1fr)}.capacity-setup,.capacity-search{padding-bottom:20px;margin-bottom:20px}.capacity-resource-summary{display:block}.capacity-resource-summary strong{display:block;margin-top:4px}.capacity-results-heading .capacity-results-view{margin-left:0;flex-basis:100%;justify-content:space-between;margin-top:4px}.capacity-results-view select{flex:1;max-width:220px}.capacity-results-panel>.price-status{align-items:center}.equivalent-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.equivalent-track{height:10px}.capacity-detail{padding-top:16px}.capacity-results-heading h2{font-size:19px}}

#capacity-legend:not(:empty){margin-bottom:12px}

.capacity-filters .capacity-constraints-fields select{margin-top:0}

/* Size controls to the values they contain. */
.capacity-manual-fields{grid-template-columns:minmax(0,320px) minmax(0,180px) minmax(0,320px)}
.capacity-manual-fields [data-map-control="workers"]{width:90px;max-width:100%}
.capacity-manual-fields [data-map-control="region"]{width:240px;max-width:100%}
.capacity-manual-fields [data-map-control="product"]{width:180px;max-width:100%}
.capacity-manual-fields [data-map-control="photon"]{width:150px;max-width:100%}
.capacity-objective{width:380px;max-width:100%}
.capacity-constraints-fields{display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px 24px}
.capacity-constraints-fields label{flex:0 1 auto;max-width:100%}
.capacity-constraints-fields [data-map-control="family"]{width:160px;max-width:100%}
.capacity-constraints-fields input{width:96px;max-width:100%}
@media(max-width:1100px){.capacity-manual-fields{grid-template-columns:repeat(2,minmax(0,320px))}}
@media(max-width:600px){.capacity-manual-fields{grid-template-columns:minmax(0,320px)}.capacity-results-view select{flex:0 1 auto}}

/* Shared palette: navigation, actions, selection and status keep the same roles on every page. */
:root{
 --canvas:#faf8f5;--surface:#ffffff;--ink:#193e49;--muted:#526975;
 --nav:#193e49;--nav-text:#e5f1f2;--nav-muted:#bed3d8;
 --red:#b8412d;--action-hover:#973321;--action-soft:#fff0e8;
 --teal:#116b60;--selection-soft:#e5f3ef;--selection-line:#8bbab0;
 --info-soft:#eaf1f7;--info-ink:#294e6e;--warning-soft:#fff3dc;--warning-ink:#795019;
 --line:#d5e0e2;--side:#193e49;--pale:#fff0e8;--amber:#fff3dc;
 --data-vm:#ed593f;--data-dbu:#168578;
 background:var(--canvas);color:var(--ink)
}
body{background:var(--canvas)}
::selection{background:#c0ded7;color:#193e49}
input,textarea{caret-color:var(--teal)}
button,a,input,select,textarea,summary{accent-color:var(--teal)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.sidebar{background:var(--nav);color:var(--nav-text);border-right:0}
.brand,.brand svg{color:#fff;stroke:currentColor}.brand small{color:var(--nav-muted)}
.nav-link{color:var(--nav-text);border-left:0;margin:0 12px;padding:12px;border-radius:7px}
.nav-link:hover{color:#fff;background:#285462}.nav-link.active{background:var(--action-soft);color:#923322;border:0}
.side-bottom{border-color:#3e626c;color:var(--nav-muted)}.side-bottom>a:hover{color:#fff}.side-bottom .text-button{color:#ffbba6}.side-bottom .sidebar-version{color:var(--nav-muted);border-color:#3e626c}
.topbar{background:var(--surface);border-color:var(--line)}
.intro{background:var(--selection-soft);padding:24px;border-radius:12px;align-items:center}
.intro h1{color:var(--ink);margin-bottom:8px}.intro h1:last-child{margin-bottom:0}.intro p{color:#3c615f;max-width:75ch}
.panel,dialog,.disclosure{background:var(--surface);border-color:var(--line)}
.panel>p,.note,.muted,.scope-note,.price-status,.detail-line span,td small,th,.source-list small,.vm-suggestions button span,.vm-no-match{color:var(--muted)}
.button{border-color:#98afb5;background:var(--surface);color:var(--ink)}.button:hover{background:var(--action-soft);border-color:var(--red);color:var(--red)}
.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.primary:hover{background:var(--action-hover);border-color:var(--action-hover);color:#fff}
.text-button,.source-link,.capacity-results-panel .text-button,.decode-row code{color:var(--red)}
.language-switch{background:var(--info-soft);border-color:#b8cbd6}.language-switch button{color:var(--info-ink)}.language-switch button[aria-pressed=true]{background:var(--nav);color:#fff}
.mobile-nav{background:var(--surface);border-color:var(--line)}.mobile-nav select{background:var(--info-soft);color:var(--info-ink);border-color:#a4becb}
input,select,textarea{background:var(--surface);border-color:#a4b9bf;color:var(--ink)}input:hover,select:hover,textarea:hover{border-color:var(--teal)}
input:invalid:not(:placeholder-shown){border-color:#b44135}
th{background:var(--info-soft);color:var(--info-ink)}.family-table tbody tr:hover,.vs-table tbody tr:hover{background:#f0f7f5}
.disclosure>summary{background:#f0f5f8;color:var(--info-ink);border-radius:10px}.disclosure>summary:hover{background:#dfeaf2}.disclosure[open]>summary{background:var(--info-soft);border-color:var(--line);border-radius:10px 10px 0 0}
.banner,.estimate-tag,.tag.warn{background:var(--warning-soft);color:var(--warning-ink)}.banner .text-button{color:var(--warning-ink)}.banner.own,.tag.green{background:var(--selection-soft);color:var(--teal)}
.callout{background:var(--selection-soft);color:#285750;border:1px solid var(--selection-line);border-radius:8px}.callout.warm{background:var(--warning-soft);color:var(--warning-ink);border:1px solid #d9b573}
.positive{color:var(--teal)}.negative,.error,#import-error{color:#ad352b}
.capacity-resource-summary{background:var(--info-soft);color:var(--info-ink);border-radius:7px;padding:12px 14px}.capacity-resource-summary strong{color:var(--info-ink)}
.capacity-help,.capacity-results-heading>span,.equivalent-worker-count,.equivalent-name small{color:var(--muted)}
.equivalent-row{background:var(--surface);border-color:var(--line)}.equivalent-row:hover{background:#eef6f3;border-color:var(--selection-line)}
.equivalent-row.is-reference{background:var(--info-soft);border-color:#a9c2d2}.equivalent-reference{background:#d6e4ef;color:var(--info-ink);border-color:#a9c2d2}
.equivalent-row.is-selected:not(.is-reference){background:var(--selection-soft);border-color:var(--teal)}
.equivalent-track{background:#e2eceb}.equivalent-hardware{color:var(--warning-ink)}.capacity-empty{background:var(--warning-soft);color:var(--warning-ink)}
.capacity-results-heading #capacity-count{background:var(--selection-soft);color:var(--teal);padding:3px 9px;border-radius:5px;font-weight:600}
.hint,.family-detail{background:var(--info-soft);color:var(--info-ink)}
.family-filter button{color:var(--info-ink);background:var(--surface);border-color:#a4b9bf}.family-filter button:hover{background:var(--selection-soft);border-color:var(--teal)}.family-filter button.active{background:var(--teal);border-color:var(--teal);color:#fff}
.family-letter{color:var(--teal)}
.vm-suggestions{border-color:#a4b9bf}.vm-suggestions button:hover,.vm-suggestions button[aria-selected=true]{background:var(--selection-soft);color:var(--teal)}
.source-list{border-color:var(--line);background:var(--line)}.source-list a{background:var(--surface)}.source-list a:hover{background:var(--selection-soft)}
.vs-a{--comparison-surface:#fff0e8;--comparison-ink:#923322;--comparison-line:#deb2a3}.vs-b{--comparison-surface:#e5f3ef;--comparison-ink:#116b60;--comparison-line:#8bbab0}
.vs-config{border-top:1px solid var(--line)}.vs-config-title{background:var(--comparison-surface);color:var(--comparison-ink);border-radius:7px;padding:12px}.vs-config-title>span{background:var(--comparison-ink);color:#fff}
.vs-a .worker-node,.vs-b .worker-node{border:1px solid var(--comparison-line);background:var(--comparison-surface)}
.vs-driver{background:var(--nav);color:#fff}.vs-driver small,.vs-driver span{color:var(--nav-text)}
.vs-cost{background:var(--comparison-surface);border-radius:8px;padding:16px;color:var(--comparison-ink)}.vs-cost>strong,.vs-cost>span,.vs-cost>small{color:var(--comparison-ink)}
.vs-verdict{background:var(--info-soft);color:var(--info-ink);border-color:#b8cbd6}.vs-verdict span{color:var(--info-ink)}
.price-result{background:var(--selection-soft);border-color:var(--selection-line)}.price-total{color:var(--teal)}.price-total small{color:#3c615f}
.chart text,.capacity-svg text{fill:var(--muted)}
@media(max-width:700px){.intro{padding:18px}.intro p{font-size:13px}}

.vs-a .vs-config-title>span,.vs-b .vs-config-title>span{background:var(--comparison-ink);color:#fff}
@media(max-width:700px){.banner>span{display:block}.banner>span+span{margin-top:4px}}

/* Shared navigation icon proportions, including the internal documentation link. */
.nav-link svg,.side-bottom #source-nav svg{width:20px;height:20px;flex:0 0 20px;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.side-bottom #source-nav{justify-content:flex-start;align-items:center;gap:12px;min-height:36px}

#vs-verdict:not(:empty){margin:18px 0}.vs-worker-nodes{display:block}.vs-worker-nodes .worker-node{max-width:320px;margin:auto}.capacity-best{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;background:var(--selection-soft);color:var(--teal);border-radius:7px;padding:12px 16px;margin:12px 0}.capacity-best[hidden]{display:none}.capacity-best strong{font-size:20px}.capacity-best span{font-size:12px}
@media(max-width:700px){.family-table,.family-table tbody,.family-table tr,.family-table td{display:block;width:100%}.family-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.family-table tr{padding:12px 14px;border-top:1px solid var(--line)}.family-table td{border:0;padding:3px 0;white-space:normal}.family-table td[data-label]::before{content:attr(data-label) ' : ';font-weight:600;color:var(--info-ink)}.family-table td:first-child{padding-bottom:5px}.family-table .family-letter{font-size:20px}.family-table td small{max-width:none}}

@media(max-width:700px){.decode-row code{flex:0 0 76px;min-width:0}}

.capacity-best.is-over{background:var(--info-soft);color:var(--info-ink)}

/* Model search sits with the relevant selector and never changes it while typing. */
.vm-search-field{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:0}
.vm-search-field label{color:#455c67;font-size:12px;font-weight:550}
.vm-search-field input[type=search]{margin:6px 0 4px;width:100%;min-width:0}
.vm-search-field select{margin-top:6px;width:100%;min-width:0}
.vm-search-status{font-size:11px;color:#526671;line-height:1.4;margin:2px 0 4px}
.vm-search-status:empty{display:none}
.capacity-manual-fields .vm-search-field{width:320px;max-width:100%}
.capacity-manual-fields .vm-search-field input[type=search]{margin:6px 0 4px}
.capacity-scope{font-size:12px;color:#526671;line-height:1.55;margin:10px 0;max-width:82ch}
.capacity-comparison{margin:18px 0 14px}.capacity-comparison>p{font-size:12px;color:#526671;font-weight:600;margin:0}
.diagnosis .button{margin-top:14px;white-space:normal;text-align:center}
@media(max-width:700px){.vm-search-field input[type=search]{font-size:16px}.capacity-scope{max-width:100%}}

/* Clear guidance and consistent focus across pages. */
main:focus{outline:none}
.price-field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}
.source-list a>span:first-child{min-width:0}.source-list small{margin-top:3px;line-height:1.4}
@media(max-width:700px){.mobile-nav label{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}

.vm-search-combobox{position:relative;display:flex;margin-top:6px}.vm-search-field .vm-search-combobox input{width:100%;min-width:0;padding-right:38px;margin:0}.vm-search-toggle{position:absolute;right:0;top:0;bottom:0;width:38px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:16px}.vm-search-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:260px;overflow:auto;background:#fff;border:1px solid #bdcbd0;border-radius:6px;box-shadow:0 8px 24px #182c3626}.vm-search-list[hidden]{display:none}.vm-search-list [role=option],.vm-search-empty{padding:9px 12px;font-size:13px;line-height:1.4}.vm-search-list [role=option]{cursor:pointer}.vm-search-list [role=option]:hover,.vm-search-list [role=option].is-active{background:#eaf3f1}.vm-search-list [aria-selected=true]{font-weight:600}.vm-search-empty{color:#526671}@media(max-width:700px){.vm-search-field .vm-search-combobox input{font-size:16px}}

.capacity-storage{margin-top:12px;padding-top:12px;border-top:1px solid #dbe4e7;font-size:12px;line-height:1.5}.capacity-storage p{margin:6px 0}.capacity-storage a{color:inherit;text-decoration:underline}

/* Price comparison: clean card layout matching mockup */
.capacity-layout.is-price-list{display:block}
.is-price-list .capacity-detail{position:static;border:0;border-top:1px solid var(--line);margin-top:16px;padding:20px 0}
.is-price-list .capacity-detail .capacity-compare{max-width:320px}
.equivalent-bars{display:flex;flex-direction:column;gap:10px;padding:0 0 16px}
.equivalent-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;box-sizing:border-box;background:#fff;border:1px solid #d9e3e7;border-radius:10px;padding:16px 20px;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.equivalent-row:hover{background:#f8fafb;border-color:#cbd8df}
.equivalent-row:focus-visible{outline:2px solid #168578;outline-offset:2px}
.equivalent-row.is-reference{background:var(--reference-soft);border-color:#c4d8e4}
.equivalent-row.is-reference:hover{background:#e5f0f7}
.equivalent-row.is-selected{background:#edf7f4;border-color:#168578}
.equivalent-row.is-reference.is-selected{background:var(--reference-soft);border-color:#168578}
.equivalent-row.is-selected:not(.is-reference){border-radius:10px 10px 0 0}
.equivalent-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.equivalent-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.25}
.equivalent-heading strong{font-size:15px;font-weight:700;color:#182c36;letter-spacing:-.2px}
.equivalent-worker-count{font-size:13px;font-weight:500;color:#526671}
.equivalent-reference{font-size:11px;font-weight:500;color:#275676;background:#dbe7ee;border:1px solid #abcddb;border-radius:4px;padding:2px 7px;line-height:1.3}
.equivalent-totals{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:8px}
.equivalent-metric{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#182c36;white-space:nowrap}
.equivalent-metric svg{display:block;flex:none;width:15px;height:15px;color:#75858d}
.equivalent-checks{display:block;margin-top:8px}
.equivalent-hardware{display:inline-block;margin:0;font-size:12px;font-weight:550;color:#8c5220;line-height:1.4}
.equivalent-pricing{display:flex;align-items:flex-start;gap:20px;margin-left:20px;flex-shrink:0}
.equivalent-track{display:flex;width:210px;height:14px;border-radius:9999px;overflow:hidden;background:#e2eceb;margin-top:3px;flex-shrink:0}
.equivalent-track i{display:block;height:100%;min-width:0;flex-shrink:0}
.equivalent-value{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:85px}
.equivalent-value strong{display:block;font-size:15px;font-weight:700;color:#182c36;white-space:nowrap;line-height:1.25}
.equivalent-value small{display:block;font-size:12px;font-weight:600;margin-top:4px;line-height:1.2}
.equivalent-value small.positive{color:#168578}
.equivalent-value small.negative{color:#c0392b}
.capacity-inline-detail{margin:-10px 0 6px;padding:18px 20px 20px;background:#f7fbfa;border:1px solid #168578;border-top:0;border-radius:0 0 10px 10px;color:var(--ink);font-size:12px}
.capacity-inline-detail .capacity-detail-heading{margin-bottom:12px}
.capacity-inline-detail .capacity-detail-heading h3{font-size:15px;margin:0}
.capacity-detail-heading h3 span{font-size:12px;font-weight:500;color:var(--muted)}
.capacity-detail-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}
.capacity-detail-sections{display:grid;gap:24px;margin-top:20px}
.capacity-inline-detail .capacity-detail-sections{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}
.capacity-detail-section{min-width:0}
.capacity-detail-section h4,.capacity-hardware h4{margin:0 0 10px;font-size:13px;line-height:1.5}
.capacity-detail-note{margin:-6px 0 8px;color:var(--muted);font-size:11px}
.capacity-detail-table{width:100%;border-collapse:collapse;table-layout:fixed;white-space:normal;font-size:12px;font-variant-numeric:tabular-nums}
.capacity-detail-table th,.capacity-detail-table td{padding:9px 0;border-top:0;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.capacity-detail-table th{background:transparent;color:var(--ink);font-size:12px}
.capacity-detail-table th:first-child,.capacity-detail-table td:first-child{width:44%;padding-right:12px;text-align:left;font-weight:400}
.capacity-detail-table th:not(:first-child),.capacity-detail-table td:not(:first-child){width:28%;padding-left:8px;text-align:right}
.capacity-detail-table thead th{color:var(--muted);font-size:11px;font-weight:500}
.capacity-detail-table td:nth-child(2){color:var(--muted)}
.capacity-detail-table td:last-child{font-weight:600}
.capacity-detail-table .capacity-price-total{display:table-row}
.capacity-detail-table .capacity-price-total th,.capacity-detail-table .capacity-price-total td{padding-top:12px;border-bottom:0;font-weight:700}
.capacity-price-difference{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;background:var(--info-soft);border-radius:var(--radius);font-size:12px;font-variant-numeric:tabular-nums}
.capacity-price-difference.positive{background:var(--selection-soft);color:var(--teal)}
.capacity-price-difference.negative{background:var(--action-soft);color:var(--red)}
.capacity-inline-detail .capacity-hardware{margin-top:24px;padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.capacity-hardware-content{display:grid;gap:16px}
.capacity-inline-detail .capacity-hardware-content{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}
.capacity-hardware-content ul{padding-left:17px;margin:0;line-height:1.7}
.capacity-hardware-content .capacity-storage{margin:0;padding:0;border:0;min-width:0}
.capacity-hardware-content .capacity-storage>strong{margin:0 0 6px}
.capacity-detail-footer{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.capacity-detail-footer p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.capacity-inline-detail .capacity-detail-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}
.capacity-detail-footer .capacity-compare{margin:0}
.capacity-inline-detail .capacity-compare{width:auto;margin:0;padding-left:18px;padding-right:18px;flex-shrink:0}
.capacity-inline-detail .text-button{margin:0}
@media(max-width:800px){.capacity-inline-detail .capacity-detail-sections,.capacity-inline-detail .capacity-hardware-content{grid-template-columns:minmax(0,1fr);gap:24px}.capacity-inline-detail .capacity-detail-footer{flex-direction:column;align-items:stretch;gap:12px}}
@media(max-width:768px){.equivalent-row{flex-direction:column;gap:12px;padding:14px 16px}.equivalent-pricing{width:100%;margin-left:0;justify-content:space-between;align-items:center}.equivalent-track{flex:1;max-width:220px;margin-top:0}.capacity-layout.is-price-list .capacity-plot-panel{padding:0}}
@media(max-width:480px){.capacity-inline-detail{padding:15px}.capacity-inline-detail .capacity-compare{width:100%}.capacity-detail-table th:first-child,.capacity-detail-table td:first-child{width:40%;padding-right:8px}.capacity-detail-table th:not(:first-child),.capacity-detail-table td:not(:first-child){width:30%;padding-left:6px}}

/* Compact comparison within an expanded alternative. */
.capacity-inline-detail{padding:14px 20px 16px}
.capacity-inline-detail .capacity-detail-heading{margin-bottom:0}
.capacity-inline-detail .capacity-detail-sections{margin-top:14px;gap:28px}
.capacity-inline-detail .capacity-detail-section h4{margin-bottom:6px}
.capacity-inline-detail .capacity-detail-table th,.capacity-inline-detail .capacity-detail-table td{padding-top:5px;padding-bottom:5px}
.capacity-inline-detail .capacity-detail-table .capacity-price-total th,.capacity-inline-detail .capacity-detail-table .capacity-price-total td{padding-top:7px}
.capacity-inline-detail .capacity-price-difference{margin-top:7px;padding:6px 10px}
.capacity-inline-detail .capacity-hardware{margin-top:14px;padding:0;border-top:1px solid var(--line)}
.capacity-hardware summary{display:flex;align-items:center;gap:8px;padding:11px 0;cursor:pointer;font-weight:700;list-style:none}
.capacity-hardware summary::-webkit-details-marker{display:none}
.capacity-hardware summary::after{content:"";width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.capacity-hardware[open] summary::after{transform:rotate(225deg)}
.capacity-hardware summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.capacity-warning-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#f8ead9;color:#80501f;font-size:11px;font-variant-numeric:tabular-nums}
.capacity-inline-detail .capacity-hardware-content{padding:0 0 12px}
.capacity-inline-detail .capacity-detail-footer{margin-top:0;padding-top:12px}
@media(max-width:800px){.capacity-inline-detail .capacity-detail-sections{gap:16px}.capacity-inline-detail .capacity-hardware-content{gap:12px}}
@media(max-width:480px){.capacity-inline-detail{padding:13px 15px 15px}}



.capacity-storage-sources{margin:6px 0 0;font-size:11px;color:var(--muted)}

.capacity-detail-table th:first-child,.capacity-detail-table td:first-child{width:40%}
.capacity-detail-table th:nth-child(2),.capacity-detail-table td:nth-child(2),.capacity-detail-table th:nth-child(4),.capacity-detail-table td:nth-child(4){width:25%;text-align:right}
.capacity-detail-table th.capacity-change-heading,.capacity-detail-table td.capacity-change{width:10%;padding-left:2px;padding-right:2px;text-align:center}
.capacity-change-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e2eeeb;color:#23685f;font-size:13px;font-weight:700;line-height:1}
.capacity-change-icon.up{transform:rotate(45deg)}
.capacity-change-icon.down{transform:rotate(-45deg)}
@media(max-width:480px){.capacity-detail-table th:first-child,.capacity-detail-table td:first-child{width:40%}.capacity-detail-table th:nth-child(2),.capacity-detail-table td:nth-child(2),.capacity-detail-table th:nth-child(4),.capacity-detail-table td:nth-child(4){width:25%;padding-left:4px}.capacity-detail-table th.capacity-change-heading,.capacity-detail-table td.capacity-change{width:10%;padding-left:0;padding-right:0}}

.capacity-performance{margin-top:14px;border-top:1px solid var(--line)}
.capacity-performance summary{display:flex;align-items:center;gap:8px;padding:11px 0;cursor:pointer;font-weight:700;list-style:none}
.capacity-performance summary::-webkit-details-marker{display:none}
.capacity-performance summary::after{content:"";width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.capacity-performance[open] summary::after{transform:rotate(225deg)}
.capacity-performance summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.capacity-performance>p:not(.capacity-storage-sources){margin:0 0 8px;color:var(--muted);font-size:11px}
.capacity-performance .capacity-detail-table{max-width:700px}
.capacity-performance .capacity-storage-sources{margin-bottom:12px}

.capacity-inline-detail .capacity-detail-heading{justify-content:flex-end}

.capacity-objective{display:flex;align-items:center;gap:12px;width:auto;max-width:560px;font-size:14px;font-weight:600}
.capacity-objective span{flex:none}
.capacity-objective select{min-width:0;flex:1}


.capacity-latest-row{display:flex;align-items:center;gap:8px;margin:18px 0 5px}
.capacity-filters .capacity-latest-row .capacity-latest{margin:0}
.capacity-latest-help{position:relative}
.capacity-latest-help button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #a8b8bd;border-radius:50%;color:#455c67;font-size:13px;font-weight:700;line-height:1;cursor:pointer;list-style:none}
.capacity-latest-help button:hover{background:var(--selection-soft);color:var(--teal)}
.capacity-latest-help button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.capacity-latest-tooltip{display:block;visibility:hidden;position:absolute;z-index:5;top:100%;left:0;width:min(300px,calc(100vw - 40px));margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:400;line-height:1.5;box-shadow:0 6px 18px rgba(24,37,43,.12)}
@media(max-width:480px){.capacity-latest-tooltip{left:auto;right:0}}

.capacity-results-panel>.price-status:empty{display:none}

.capacity-detail-actions{display:flex;align-items:center;gap:16px}
.capacity-inline-detail .capacity-detail-sections{margin-top:0}
@media(max-width:480px){.capacity-inline-detail .capacity-detail-actions{width:100%;justify-content:space-between;gap:10px}.capacity-inline-detail .capacity-compare{width:auto;min-width:0}.capacity-detail-actions .text-button{flex-shrink:0}}

.capacity-detail-table th:nth-child(4),.capacity-detail-table td:nth-child(4){text-align:left}

.capacity-detail-table thead .capacity-series{display:block;margin-top:3px;color:var(--ink);font-size:11px;font-weight:600;line-height:1.3}

.capacity-detail-table tbody td:last-child,.capacity-detail-table .capacity-price-total td{font-weight:400}
.capacity-detail-table tbody tr.capacity-values-differ td:nth-child(2),.capacity-detail-table tbody tr.capacity-values-differ td:nth-child(4){font-weight:700}

.capacity-latest-help:hover .capacity-latest-tooltip,.capacity-latest-help button:focus-visible + .capacity-latest-tooltip,.capacity-latest-help button[aria-expanded="true"] + .capacity-latest-tooltip{visibility:visible}

/* Align capacities immediately before the price bar. */
.equivalent-row{align-items:center;gap:16px}
.equivalent-info{flex:1}
.equivalent-totals{flex:none;flex-wrap:nowrap;gap:14px;margin:0}
.equivalent-pricing{align-items:center;margin-left:0}
.equivalent-track{margin-top:0}
@media(max-width:768px){
 .equivalent-row{flex-direction:row;flex-wrap:wrap;gap:10px 12px}
 .equivalent-info{flex:0 0 100%}
 .equivalent-totals{gap:10px}
 .equivalent-metric{font-size:12px;gap:4px}
 .equivalent-pricing{flex:1;min-width:0;width:auto;margin:0;gap:8px}
 .equivalent-track{flex:1;width:auto;min-width:24px;max-width:none}
 .equivalent-value{min-width:72px}
}

.capacity-sources{border-top:1px solid var(--line)}
.capacity-sources summary{display:flex;align-items:center;gap:8px;padding:11px 0;cursor:pointer;font-weight:700;list-style:none}
.capacity-sources summary::-webkit-details-marker{display:none}
.capacity-sources summary::after{content:"";width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.capacity-sources[open] summary::after{transform:rotate(225deg)}
.capacity-sources summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.capacity-sources-body{padding:0 0 12px;color:var(--muted);font-size:12px;line-height:1.5}
.capacity-sources-body p{margin:0}.capacity-sources-body p+p{margin-top:5px}

.capacity-detail-table .capacity-performance-heading th{width:auto;padding:14px 0 6px;font-size:11px;font-weight:650;text-align:left;color:var(--ink)}

.capacity-detail-prices .capacity-sources{margin-top:16px}.capacity-unchanged{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.capacity-inline-detail .capacity-detail-footer{justify-content:flex-end}

.capacity-field-error{display:block;max-width:32ch;color:var(--red);font-size:12px;line-height:1.4;margin-top:5px}.capacity-field-error[hidden],.capacity-results-panel[hidden],#capacity-reference[hidden]{display:none}[data-map-control][aria-invalid="true"]{border-color:var(--red)}

button.capacity-best{width:100%;border:1px solid transparent;text-align:left;font:inherit;cursor:pointer}.capacity-best:hover{border-color:currentColor}.capacity-best:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.capacity-best-open{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-weight:600}.equivalent-row,#capacity-detail{scroll-margin-top:24px}

/* The same blue identifies the baseline in rows and comparison columns. */
:root{--reference-soft:#edf5fa}
.capacity-detail-table thead th:nth-child(2),.capacity-detail-table tbody td:nth-child(2){background:var(--reference-soft);padding-right:6px}

/* Price composition with a common list scale and baseline marker. */
.pricebar-scale{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:5px 0 12px;color:var(--muted);font-size:11px}.pricebar-scale>span:last-child{display:inline-flex;align-items:center;gap:7px}.pricebar-reference-key{height:12px;border-left:2px dashed #275676}.pricebar-list .equivalent-pricing{width:365px;max-width:100%;gap:16px}.pricebar{display:flex;flex:1;min-width:0;flex-direction:column;gap:8px}.pricebar-plot{display:block;position:relative;height:12px;background:#e2eceb;border-radius:999px}.pricebar-fill{position:absolute;inset:0;display:flex;overflow:hidden;border-radius:999px}.pricebar-fill>span{display:block;height:100%}.pricebar-vm{background:#ed593f}.pricebar-dbu{background:#168578}.pricebar-reference{position:absolute;top:-4px;bottom:-4px;border-left:2px dashed #275676;transform:translateX(-1px)}.pricebar-amounts{display:flex;justify-content:space-between;gap:5px 10px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.4}.pricebar-amounts>span{display:inline-flex;gap:5px;align-items:center;white-space:nowrap}.pricebar-amounts i{width:5px;height:5px;border-radius:2px;flex:none}.pricebar-list .equivalent-row{align-items:center}.pricebar-list .equivalent-value{min-width:85px}@media(max-width:1100px){.pricebar-list .equivalent-pricing{width:310px;gap:12px}}@media(max-width:768px){.pricebar-list .equivalent-pricing{width:100%;flex-basis:100%;margin-top:3px}.pricebar-scale{font-size:10px}.pricebar-amounts{font-size:12px}}

/* Comparison projections share the A/B palette and expose the selected counts. */
.vs-curve-values{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--muted)}
.vs-curve-values span{display:flex;flex-direction:column;gap:3px}.vs-curve-values strong{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.vs-projection-note{font-size:12px;color:var(--muted);margin:14px 0 0;line-height:1.6}
.vs-cost-breakdown{gap:32px}.vs-cost-breakdown .vs-stack-row{margin-bottom:0}
.vs-method-link{display:inline-flex;margin-top:18px;font-size:12px;line-height:1.5}
.vs-technical-context{padding:16px 20px;font-size:12px;color:var(--muted)}.vs-technical-context p{margin-bottom:8px}.vs-technical-context .source-link{color:var(--teal)}

.vs-curve text{font-size:18px}

/* Language preferences live with Sources in the sidebar footer. */
.side-bottom .language-switch{width:max-content;margin-top:14px;background:transparent;border-color:#3e626c}
.side-bottom .language-switch button{color:var(--nav-muted);min-width:60px;min-height:32px}
.side-bottom .language-switch button[aria-pressed=true]{background:#e6f3f1;color:var(--nav)}
.side-bottom .language-switch button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:700px){.mobile-nav{display:flex;align-items:center;gap:12px}.mobile-nav select{flex:1;min-width:0;width:auto}.mobile-nav .language-switch{flex-shrink:0}.mobile-nav .language-switch button{min-height:32px}}

/* Billing worksheet and itemized estimate */
.pricing-layout {
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr);
  gap: clamp(16px, 2vw, 30px);
}
.pricing-inputs, .pricing-layout .price-result {
  --receipt-inset: clamp(18px, 2vw, 30px);
  padding: var(--receipt-inset);
}
.pricing-inputs form > label { margin-top: 18px; }
.pricing-inputs h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 30px 0 15px;
}
.pricing-inputs h3::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--line);
}
.pricing-inputs .form-grid { align-items: start; gap: 18px 16px; }
.pricing-inputs input { font-variant-numeric: tabular-nums; scroll-margin-block: 90px; }
.pricing-inputs input::placeholder { color: #627882; }
.pricing-inputs input:invalid:placeholder-shown:not(:focus) { border-color: var(--line); }
.pricing-receipt { min-width: 0; }
.pricing-layout .price-result {
  background: var(--surface);
  border-color: var(--line);
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}
.receipt-head {
  margin: calc(-1 * var(--receipt-inset)) calc(-1 * var(--receipt-inset)) 20px;
  padding: var(--receipt-inset);
  background: var(--nav);
  color: white;
}
.receipt-head h2 { color: var(--nav-text); font-size: 16px; letter-spacing: 0; }
.receipt-head .price-total {
  padding: 14px 0 0;
  color: white;
  font-size: clamp(34px, 3.5vw, 54px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.receipt-head .price-total small { color: var(--nav-muted); font-size: 13px; }
.price-result .cost-stack { height: 9px; gap: 2px; }
.price-result .detail-line { padding: 10px 0; gap: 12px; }
.price-result .detail-line b { overflow-wrap: anywhere; text-align: right; }
.price-result .price-monthly {
  background: var(--selection-soft);
  border: 0;
  padding: 14px;
  border-radius: 6px;
}
.price-monthly b { color: var(--teal); font-size: 18px; }
.price-result .receipt-note, .receipt-draft p { font-size: 13px; color: var(--muted); }
.receipt-note { margin: 12px 0 0; }
.receipt-draft { border-top: 1px dashed var(--line); margin-top: 12px; padding-top: 18px; }
.receipt-draft h3 { font-size: 16px; }
.receipt-draft .button { white-space: normal; text-align: left; }
@media (min-width: 1101px) and (min-height: 700px) {
  .pricing-receipt:not(:has(details[open])) { position: sticky; top: 20px; }
}
@media (max-width: 1050px) {
  .pricing-layout { grid-template-columns: minmax(0, 1fr); }
}

.pricing-journey { --reading-width: 72ch; }
.pricing-entry { display: flex; flex-wrap: wrap; gap: 12px; margin: -4px 0 36px; }
.pricing-explainer > p { max-width: var(--reading-width); color: var(--muted); }
.pricing-explainer h2,
.pricing-example h2, .pricing-levers h2 { font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
.pricing-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 22px; align-items: start; margin: 26px 0; }
.pricing-equation > div { border-top: 2px solid var(--line); padding-top: 18px; }
.pricing-equation > div:nth-of-type(1) { border-color: var(--data-vm); }
.pricing-equation > div:nth-of-type(2) { border-color: var(--data-dbu); }
.pricing-equation h3 { font-size: 17px; margin-bottom: 8px; }
.pricing-equation p { font-size: 14px; color: var(--muted); margin: 0; }
.pricing-equation > span { font-size: 25px; color: var(--muted); padding-top: 17px; }
.pricing-dbu-definition { max-width: none!important; background: var(--info-soft); color: var(--info-ink)!important; padding: 18px 22px; border-radius: 8px; }
.pricing-dbu-definition strong { display: block; margin-bottom: 4px; }
.pricing-field-context { font-size: 13px; color: var(--muted); margin: 0 0 8px; }
.pricing-inputs form > h3:first-child { margin-top: 0; }
.pricing-journey [tabindex="-1"] { scroll-margin-top: 24px; }
.pricing-journey [tabindex="-1"]:focus-visible { outline: 2px solid var(--teal); outline-offset: 6px; }
.pricing-levers { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.pricing-levers dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 24px 0; }
.pricing-levers dt { font-weight: 650; margin-bottom: 8px; }
.pricing-levers dd { margin: 0; color: var(--muted); font-size: 14px; }
@media(max-width: 1050px) {
 .pricing-equation { gap: 14px; }
}
@media(max-width: 600px) {
 .pricing-entry .button { width: 100%; }
 .pricing-equation { grid-template-columns: 1fr; gap: 8px; }
 .pricing-equation > span { padding: 0; line-height: 1; text-align: center; }
 .pricing-equation > div { padding: 14px 0; }
 .pricing-levers dl { grid-template-columns: 1fr; gap: 22px; }
 .pricing-explainer h2,
 .pricing-example h2, .pricing-levers h2 { font-size: 22px; }
}

.pricing-public-rates { padding: 24px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 10px; background: var(--info-soft); }
.pricing-public-rates > h3 { font-size: 19px; }
.pricing-public-rates > p { max-width: 75ch; color: var(--info-ink); }
.pricing-public-rates .form-grid { align-items: start; }
.pricing-public-rates select { width: 100%; }
.pricing-public-rates .pricing-photon { display: flex; align-items: center; gap: 10px; }
.pricing-photon input { width: 18px; min-height: 18px; margin: 0; }
.pricing-public-status { margin: 20px 0; }
.pricing-public-status p { margin: 8px 0; font-size: 13px; }
.pricing-public-status strong { margin-left: 12px; font-variant-numeric: tabular-nums; }
.pricing-public-status .button { margin-top: 8px; }
.pricing-public-rates .pricing-field-context { margin: 0; }
.pricing-public-rates button:disabled { opacity: .65; cursor: default; }
@media(max-width: 600px) { .pricing-public-rates { padding: 18px; } .pricing-public-rates .form-grid { grid-template-columns: minmax(0, 1fr); } }

/* Progressive pricing journey */
.pricing-journey [hidden] { display: none !important; }
.pricing-journey .intro { margin-bottom: 18px; }
.pricing-entry { display: inline-flex; gap: 4px; padding: 4px; margin: 0 0 22px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.pricing-entry .button { border: 0; background: transparent; color: var(--muted); }
.pricing-entry .button[aria-current="page"] { background: var(--nav); color: white; }
.pricing-entry .button:not([aria-current="page"]):hover { background: var(--selection-soft); color: var(--teal); }
.pricing-equation { margin: 18px 0; }
.pricing-equation p { font-size: 13px; }
.pricing-dbu-definition { padding: 0; margin: 18px 0 24px; background: transparent; }
.pricing-dbu-definition summary, .pricing-example-assumptions summary, .pricing-rate-breakdown summary { cursor: pointer; font-size: 13px; font-weight: 600; padding: 8px 0; color: var(--teal); }
.pricing-dbu-definition p { margin: 8px 0; font-size: 13px; max-width: 75ch; }
.pricing-next { margin-top: 20px; }
.pricing-inputs > .pricing-public-rates { padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; margin-bottom: 24px; }
.pricing-public-rates > h3 { margin-bottom: 18px; }
.pricing-public-status { display: flex; align-items: start; flex-direction: column; margin: 16px 0 10px; }
.pricing-public-rates > .pricing-field-context { font-size: 12px; }
.pricing-public-rates .pricing-rate-breakdown { width: 100%; }
.pricing-inputs .price-field-help { font-size: 11px; }
.pricing-advanced .disclosure-body h3 { margin-top: 24px; }
.pricing-advanced .disclosure-body > h3:first-child { margin-top: 0; }
.pricing-levers { padding: 0; margin-top: 20px; }
.pricing-levers dl { margin: 0; }
@media(max-width: 600px) {
 .pricing-entry { display: flex; }
 .pricing-entry .button { width: auto; flex: 1; padding: 10px 8px; white-space: normal; }
 .pricing-equation { gap: 0; }
 .pricing-equation > div { border-top: 0; padding: 8px 0; }
 .pricing-equation > span { display: none; }
 .pricing-example h2 { font-size: 20px; }
}

/* A worked example, with each price attached to its calculation. */
.pricing-example { display: block; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden; }
.example-intro { padding: 22px 24px 0; }
.example-intro p { color: var(--muted); max-width: 70ch; margin: 8px 0; font-size: 14px; }
.example-intro .pricing-fiction { color: var(--warning-ink); font-size: 12px; }
.example-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 20px 24px 24px; }
.example-settings label { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; font-size: 13px; font-weight: 600; }
.example-settings output { color: var(--teal); font-variant-numeric: tabular-nums; }
.example-settings input { grid-column: 1 / -1; width: 100%; min-height: 28px; margin: 0; padding: 0; border: 0; background: transparent; accent-color: var(--teal); cursor: pointer; }
.example-bill { padding: 22px 24px; background: var(--selection-soft); color: #285750; font-variant-numeric: tabular-nums; }
.example-bill h3 { margin-bottom: 18px; font-size: 16px; }
.example-addition { display: flex; align-items: center; gap: 20px; }
.example-charge { flex: 1; min-width: 0; }
.example-charge > span { font-size: 13px; font-weight: 600; }
.example-charge > strong { display: block; font-size: 27px; line-height: 1.3; letter-spacing: -.025em; margin: 6px 0; }
.example-charge small { display: block; font-size: 12px; }
.example-plus { font-size: 24px; }
.example-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; border-top: 1px solid #b6d2c9; margin-top: 22px; padding-top: 18px; }
.example-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.example-totals > div + div { border-left: 1px solid #b6d2c9; padding-left: 30px; }
.example-totals span { font-size: 13px; font-weight: 600; }
.example-totals small { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; }
.example-totals strong { font-size: 28px; white-space: nowrap; letter-spacing: -.025em; }
@media(max-width: 700px) {
 .example-intro { padding: 18px 18px 0; }
 .example-settings { grid-template-columns: 1fr; gap: 14px; padding: 16px 18px; }
 .example-bill { padding: 18px; }
 .example-addition { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
 .example-charge { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
 .example-charge > strong { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 23px; }
 .example-charge small { grid-column: 1; }
 .example-plus { display: none; }
 .example-totals { grid-template-columns: 1fr; gap: 16px; margin-top: 18px; }
 .example-totals > div + div { padding-left: 0; border-left: 0; }
 .example-totals strong { font-size: 26px; }
}

.example-configuration { margin: 18px 24px 0; }
.example-nodes { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.example-nodes th, .example-nodes td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.example-nodes thead th { background: transparent; color: var(--muted); font-weight: 500; font-size: 12px; }
.example-nodes tbody th { color: var(--ink); font-weight: 650; background: transparent; }
.example-nodes th small { display: block; color: var(--muted); font-size: 12px; font-weight: 400; margin-top: 3px; }
.example-nodes td:last-child, .example-nodes th:last-child { text-align: right; }
.example-nodes tfoot th, .example-nodes tfoot td { background: var(--info-soft); color: var(--info-ink); border-bottom: 0; }
.example-unit-prices { display: flex; flex-wrap: wrap; gap: 12px 36px; padding: 12px; font-size: 12px; color: var(--muted); }
.example-unit-prices strong { margin-left: 8px; color: var(--ink); font-variant-numeric: tabular-nums; }
@media(max-width: 600px) {
 .example-configuration { margin: 14px 18px 0; }
 .example-nodes th, .example-nodes td { padding: 8px 5px; font-size: 12px; }
 .example-nodes th small { font-size: 11px; }
 .example-unit-prices { padding: 12px 5px 0; gap: 6px; flex-direction: column; }
}
.example-nodes-scroll { overflow-x: auto; }
.example-nodes th, .example-nodes td { white-space: nowrap; }
.example-nodes th small { white-space: normal; }
@media(max-width: 600px) {
 .example-nodes { min-width: 560px; }
}
.example-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.example-intro > div:first-child { min-width: 0; flex: 1; }
.example-help { display: flex; align-items: center; flex-shrink: 0; gap: 10px; position: relative; }
.example-info > button { display: inline-flex; align-items: center; gap: 5px; padding: 6px 0; border: 0; background: transparent; color: var(--teal); font-size: 12px; font-weight: 600; cursor: help; }
.example-info > button:hover { color: var(--ink); }
.example-tooltip { position: absolute; top: 100%; right: 0; z-index: 20; width: min(320px, calc(100vw - 72px)); padding: 16px; background: var(--nav); color: var(--nav-text); border-radius: 8px; font-size: 13px; line-height: 1.55; text-align: left; }
.example-tooltip > strong { display: block; margin-bottom: 6px; color: white; }
.example-tooltip > span { display: block; }
@media(max-width: 600px) {
 .example-intro { gap: 10px; }
 .example-help { gap: 8px; }
 .example-info > button { gap: 3px; font-size: 11px; }
 .example-intro h2 { font-size: 18px; }
}

.example-nodes .example-azure { background: var(--action-soft); color: var(--ink); }
.example-nodes .example-dbu { background: var(--selection-soft); color: var(--ink); }
.example-nodes .example-azure small,
.example-nodes .example-dbu small { color: var(--muted); }
.example-nodes thead .example-azure { border-bottom: 2px solid var(--data-vm); }
.example-nodes thead .example-dbu { border-bottom: 2px solid var(--data-dbu); }

/* Estimate workspace */
.pricing-estimate-view .pricing-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.pricing-estimate-view .pricing-receipt { position: static; }
.pricing-estimate-view .form-grid { grid-template-columns: minmax(0, 1fr); }
.pricing-estimate-view .pricing-inputs { padding: clamp(20px, 2.2vw, 30px); }
.pricing-estimate-view .pricing-public-rates > h3,
.pricing-estimate-view #price-form > h3 { font-size: 17px; margin: 0 0 16px; }
.pricing-estimate-view #price-form > h3::after { display: none; }
.pricing-estimate-view .pricing-public-rates { margin-bottom: 24px; padding-bottom: 24px; }
.pricing-estimate-view .pricing-public-rates .form-grid,
.pricing-estimate-view #price-form .form-grid { gap: 16px; }
.pricing-estimate-view .pricing-public-status { margin: 12px 0 8px; }
.pricing-estimate-view .pricing-rate-breakdown { order: 2; margin-top: 8px; }
.pricing-estimate-view .pricing-public-status .button { order: 1; }
.pricing-estimate-view .pricing-public-rates > .pricing-field-context { margin: 0; }
.pricing-estimate-view .pricing-extras { margin-top: 16px; }
.pricing-estimate-view .pricing-advanced { margin-top: 24px; }
.pricing-estimate-view .price-result .detail-line { font-size: 13px; }
.pricing-estimate-view .draft-lines { border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.pricing-estimate-view .receipt-draft { border-top: 0; margin-top: 0; padding-top: 18px; }
.pricing-estimate-view .receipt-draft p { max-width: 40ch; line-height: 1.5; }
.pricing-estimate-view .receipt-draft .button { width: 100%; justify-content: space-between; }
@media(max-width: 1050px) {
 .pricing-estimate-view .pricing-layout { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width: 600px) {
 .pricing-estimate-view .pricing-layout { gap: 16px; }
 .pricing-estimate-view .pricing-inputs { padding: 20px 18px; }
 .pricing-estimate-view .pricing-public-rates { padding-bottom: 20px; margin-bottom: 20px; }
 .pricing-estimate-view .pricing-public-status .button { width: 100%; }
}

.pricing-estimate-view .pricing-usage-section,
.pricing-estimate-view .pricing-tariff-heading { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.pricing-estimate-view .pricing-usage-section h3,
.pricing-estimate-view .pricing-tariff-heading h3 { font-size: 17px; margin: 0 0 16px; }
.pricing-estimate-view .pricing-usage-section h3::after,
.pricing-estimate-view .pricing-tariff-heading h3::after { display: none; }
.pricing-estimate-view .pricing-public-rates { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.pricing-estimate-view .pricing-public-status { margin-top: 0; }
@media(max-width: 600px) {
 .pricing-estimate-view .pricing-usage-section,
 .pricing-estimate-view .pricing-tariff-heading { margin-top: 20px; padding-top: 20px; }
}
.pricing-estimate-view .pricing-inputs .pricing-public-rates { border: 0; border-radius: 0; padding: 0; margin: 0; background: transparent; }

/* Compact field rows follow the same top-to-bottom workflow. */
.pricing-journey[data-view="estimate"] .intro { padding: 20px 24px; }
.pricing-journey[data-view="estimate"] .intro h1 { font-size: 32px; }
.pricing-estimate-view .pricing-inputs { padding: 24px; }
.pricing-estimate-view .pricing-location-fields { grid-template-columns: repeat(2, minmax(0, 260px)); }
.pricing-estimate-view .pricing-location-fields:has(.pricing-photon) { grid-template-columns: minmax(0, 260px) minmax(0, 260px) auto; justify-content: start; }
.pricing-estimate-view .pricing-location-fields .pricing-photon { align-self: center; margin-top: 22px; }
.pricing-estimate-view .pricing-machine-fields { grid-template-columns: minmax(0, 380px) minmax(140px, 180px); margin-top: 16px; }
.pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pricing-estimate-view .pricing-advanced .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pricing-estimate-view .pricing-usage-section,
.pricing-estimate-view .pricing-tariff-heading { margin-top: 20px; padding-top: 20px; }
.pricing-estimate-view .pricing-public-status { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.pricing-estimate-view .pricing-rate-breakdown { width: auto; flex: 1; min-width: 220px; margin-top: 0; }
.pricing-estimate-view .pricing-rate-breakdown[open] { flex-basis: 100%; }
.pricing-estimate-view .pricing-public-status .button { margin-top: 0; }
.pricing-estimate-view .pricing-public-rates > .pricing-field-context { font-size: 12px; max-width: 85ch; }
.pricing-estimate-view .receipt-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px; }
.pricing-estimate-view .receipt-head h2 { margin-bottom: 0; }
.pricing-estimate-view .receipt-head .price-total { padding: 0; font-size: 38px; text-align: right; }
@media(max-width: 900px) {
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon) { grid-template-columns: repeat(2, minmax(0, 260px)); }
 .pricing-estimate-view .pricing-location-fields .pricing-photon { margin-top: 0; }
}
@media(max-width: 600px) {
 .pricing-journey[data-view="estimate"] .intro { padding: 18px; }
 .pricing-journey[data-view="estimate"] .intro h1 { font-size: 27px; }
 .pricing-estimate-view .pricing-inputs { padding: 20px 18px; }
 .pricing-estimate-view .pricing-location-fields,
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon),
 .pricing-estimate-view .pricing-machine-fields,
 .pricing-estimate-view .pricing-usage-fields,
 .pricing-estimate-view .pricing-advanced .form-grid { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-public-status { flex-direction: column; align-items: stretch; }
 .pricing-estimate-view .receipt-head .price-total { font-size: 30px; }
}

.price-field { display: flex; flex-direction: column; min-width: 0; }
.price-field > label { font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.price-field > input { width: 100%; min-width: 0; }
.price-field-error { display: block; margin-top: 6px; color: #ad352b; font-size: 12px; line-height: 1.45; }
.pricing-estimate-view input[aria-invalid="true"] { border-color: #ad352b; }


/* General settings, machine pairs, then usage form a single reading sequence. */
.pricing-estimate-view .pricing-location-fields,
.pricing-estimate-view .pricing-location-fields:has(.pricing-photon) {
 grid-template-columns: minmax(0, 360px) minmax(0, 220px) minmax(0, 220px) auto;
}
.pricing-estimate-view .pricing-selection-note { margin: 10px 0 20px; max-width: 85ch; color: var(--muted); font-size: 12px; }
.pricing-estimate-view .pricing-machine-fields {
 grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr) 160px;
 margin-top: 0;
 column-gap: 16px;
}
.pricing-estimate-view .pricing-mode-field { max-width: 360px; }
.pricing-estimate-view .pricing-public-rates > .pricing-mode-field { margin-bottom: 20px; }
@media(max-width: 1200px) {
 .pricing-estimate-view .pricing-location-fields,
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon) { grid-template-columns: minmax(0, 360px) minmax(0, 240px); }
 .pricing-estimate-view .pricing-machine-fields { grid-template-columns: minmax(0, 380px) minmax(140px, 180px); }
}
@media(max-width: 600px) {
 .pricing-estimate-view .pricing-location-fields,
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon),
 .pricing-estimate-view .pricing-machine-fields { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-mode-field { max-width: none; }
}

.pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pricing-estimate-view .pricing-public-rates > .pricing-selection-note { max-width: 75ch; }
.receipt-scope { margin: 0 0 16px; color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
@media(max-width: 1200px) {
 .pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 600px) {
 .pricing-estimate-view .pricing-usage-fields { grid-template-columns: minmax(0, 1fr); }
}
.pricing-estimate-view .pricing-public-rates > h2,
.pricing-estimate-view .pricing-usage-section h2,
.pricing-estimate-view .pricing-tariff-heading h2 { font-size: 17px; letter-spacing: -.02em; margin: 0 0 16px; }

/* Read a machine reference, then explore its naming and family. */
.machines-page .machines-search { padding: 20px 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.machines-page .decoder-input { max-width: 760px; margin: 0; align-items: flex-end; }
.machines-page .vm-autocomplete { align-self: auto; }
.machines-page .vm-autocomplete > label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.machines-page #vm-name { width: 100%; }
.machines-page .machines-search-help { color: var(--muted); font-size: 12px; margin: 9px 0 0; max-width: 75ch; }
.machines-examples { margin-top: 12px; }
.machines-examples > summary { padding: 5px 0; color: var(--teal); font-size: 13px; font-weight: 600; cursor: pointer; }
.machines-examples .family-filter { margin: 10px 0 0; }
.machines-pending { padding: 12px 16px; background: var(--info-soft); color: var(--info-ink); border-radius: 6px; font-size: 13px; margin: 16px 0 0; }
.machines-page #decode-result { padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; margin-top: 20px; }
.machine-result-head { margin-bottom: 24px; }
.machine-result-head h2 { font-size: 26px; letter-spacing: -.025em; overflow-wrap: anywhere; margin: 0 0 7px; }
.machine-result-head p { font-size: 12px; margin-bottom: 0; }
.machine-verification { color: var(--teal); }
.machine-unverified { color: var(--warning-ink); }
.machine-capacity h3, .machine-name-reading h3 { font-size: 17px; margin-bottom: 14px; }
.machine-capacity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 14px; }
.machine-capacity-grid .detail-line { display: block; padding: 0 18px; border-bottom: 0; border-right: 1px solid var(--line); }
.machine-capacity-grid .detail-line:first-child { padding-left: 0; }
.machine-capacity-grid .detail-line:last-child { border-right: 0; }
.machine-capacity-grid .detail-line > span { display: block; font-size: 12px; }
.machine-capacity-grid .detail-line > b { display: block; margin-top: 6px; font-size: 20px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.machine-capacity .source-link { font-size: 12px; }
.machine-name-reading { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 22px; }
.machine-name-reading .decode-row { font-size: 13px; gap: 18px; }
.machine-name-reading .decode-row:last-child { border-bottom: 0; padding-bottom: 0; }
.machine-name-reading .decode-row code { flex: 0 0 88px; white-space: nowrap; }
.machine-name-reading .decode-row > span { max-width: 75ch; min-width: 0; }
.machines-page .machines-catalog { margin-top: 24px; }
.machines-page .machines-catalog .family-filter { margin-top: 0; }
@media(max-width: 1050px) {
 .machine-capacity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
 .machine-capacity-grid .detail-line { padding: 0; border-right: 0; }
}
@media(max-width: 600px) {
 .machines-page .machines-search, .machines-page #decode-result { padding: 18px; }
 .machines-page .decoder-input { gap: 12px; }
 .machines-page .decoder-input .button { width: 100%; }
 .machine-result-head h2 { font-size: 22px; }
 .machine-capacity-grid .detail-line > b { font-size: 17px; }
 .machine-name-reading .decode-row { gap: 12px; font-size: 12px; }
 .machine-name-reading .decode-row code { flex-basis: 72px; font-size: 13px; }
}

.machines-input-error { margin: 9px 0 0; color: #ad352b; font-size: 12px; }
.machines-page #vm-name[aria-invalid="true"] { border-color: #ad352b; }

/* Relate a name fragment to its explanation without competing with hardware. */
.machine-result-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 18px 24px; }
.machine-result-head > div:first-child { min-width: 0; flex: 1; }
.machine-compare-action { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.machine-compare-action small { font-size: 12px; color: var(--muted); }
.machine-capacity-grid { grid-template-columns: repeat(2, minmax(0, 220px)); }
.machine-capacity-grid .detail-line > b { font-size: 26px; }
.machine-secondary-specs { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 14px; font-size: 12px; }
.machine-secondary-specs > div { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.machine-secondary-specs dt { color: var(--muted); }
.machine-secondary-specs dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.machine-reading-help { color: var(--muted); font-size: 12px; margin: 0 0 12px; }
.machine-name-parts { display: flex; flex-wrap: wrap; gap: 5px; padding-bottom: 16px; }
.machine-name-parts button { border: 1px solid var(--line); background: var(--surface); color: var(--ink); padding: 9px 12px; border-radius: 6px; font-family: ui-monospace, monospace; font-size: 17px; }
.machine-name-parts button:hover { border-color: var(--teal); background: var(--selection-soft); }
.machine-name-parts button[aria-pressed="true"] { color: var(--teal); border-color: var(--teal); background: var(--selection-soft); font-weight: 700; }
.machine-name-reading .decode-row { padding: 12px 10px; border-radius: 5px; scroll-margin-block: 24px; }
.machine-name-reading .decode-row code { color: var(--ink); }
.machine-name-reading .decode-row.is-secondary { font-size: 12px; color: var(--muted); }
.machine-name-reading .decode-row.is-secondary code { color: var(--muted); }
.machine-name-reading .decode-row.is-active { background: var(--selection-soft); color: var(--ink); }
.machine-name-reading .decode-row.is-active code { color: var(--teal); font-weight: 700; }
.machine-family-table { margin: 16px 0 12px; }
.machine-family-table .family-table th { text-align: left; }
.machine-family-table tbody th { background: transparent; font-size: 13px; white-space: normal; }
.machine-family-table tbody th > span { display: inline-block; vertical-align: middle; }
.machine-family-table tbody th > .family-letter { min-width: 30px; margin-right: 10px; }
.machine-family-table td { vertical-align: middle; }
.family-reference summary { cursor: pointer; color: var(--teal); font-weight: 600; font-size: 12px; padding: 6px 0; }
.family-reference p { color: var(--muted); max-width: 48ch; margin: 8px 0 4px; font-size: 12px; }
.family-compare-link { display: inline-block; margin-top: 6px; font-size: 12px; }
.machines-page > .machines-catalog + .disclosure { margin-top: 20px; }
@media(max-width: 700px) {
 .machine-family-table .family-table tbody th { display: block; width: 100%; padding: 3px 0 8px; border: 0; }
 .machine-family-table .family-table td { padding: 4px 0; }
}
@media(max-width: 600px) {
 .machine-result-head { display: block; }
 .machine-compare-action { margin-top: 16px; }
 .machine-capacity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .machine-capacity-grid .detail-line > b { font-size: 23px; }
 .machine-name-parts button { padding: 8px 10px; font-size: 15px; }
 .machine-name-reading .decode-row { padding-inline: 6px; }
}
.machine-name-reading .decode-row:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.machine-name-parts button { min-height: 44px; }
.machine-name-parts button.is-secondary { font-size: 14px; }
.machine-name-parts button.is-secondary[aria-pressed="false"] { color: var(--muted); }

.example-settings:has(.example-worker-control) { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.example-worker-control label small { color: var(--muted); font-size: 12px; font-weight: 400; white-space: nowrap; }
@media(max-width: 700px) {
 .example-settings:has(.example-worker-control) { grid-template-columns: minmax(0, 1fr); }
}

/* Keep the estimate linear while reducing repeated vertical scaffolding. */
.pricing-journey[data-view="estimate"] .intro { padding: 16px 20px; margin-bottom: 14px; }
.pricing-journey[data-view="estimate"] .intro h1 { font-size: 29px; }
.pricing-estimate-view .pricing-inputs,
.pricing-estimate-view .price-result { --receipt-inset: 20px; padding: var(--receipt-inset); }
.pricing-estimate-view .pricing-layout { gap: 16px; }
.pricing-estimate-view .pricing-public-rates > h2,
.pricing-estimate-view .pricing-usage-section h2,
.pricing-estimate-view .pricing-tariff-heading h2 { margin-bottom: 12px; }
.pricing-estimate-view .pricing-public-rates .form-grid,
.pricing-estimate-view #price-form .form-grid { gap: 12px 16px; }
.pricing-estimate-view .pricing-selection-note { margin-block: 8px 14px; }
.pricing-estimate-view .pricing-usage-section,
.pricing-estimate-view .pricing-tariff-heading { margin-top: 16px; padding-top: 16px; }
.pricing-estimate-view .pricing-tariff-heading { margin-bottom: 0; }
.pricing-estimate-view .pricing-public-status { margin-bottom: 0; }
.pricing-estimate-view .pricing-public-status .button { min-height: 40px; padding: 9px 16px; }
.pricing-estimate-view .pricing-advanced { margin-top: 16px; }
.pricing-estimate-view .disclosure > summary { padding: 12px 16px; }
.pricing-estimate-view .receipt-head { padding-block: 14px; margin-bottom: 14px; }
.pricing-estimate-view .receipt-head .price-total { font-size: 32px; }
.pricing-estimate-view .receipt-scope { margin-bottom: 10px; font-size: 12px; }
.pricing-estimate-view .cost-stack { margin: 8px 0 12px; }
.receipt-charges { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.pricing-estimate-view .receipt-charges .detail-line { flex: 1 1 180px; display: block; padding: 0; border: 0; }
.pricing-estimate-view .receipt-charges .detail-line > span { display: block; font-size: 12px; }
.pricing-estimate-view .receipt-charges .detail-line > b { display: block; text-align: left; font-size: 19px; margin-top: 4px; }
.pricing-estimate-view .price-monthly { margin-top: 14px; padding: 10px 14px; }
.pricing-estimate-view .receipt-note { font-size: 12px; margin-top: 10px; }
.pricing-estimate-view .price-result > details { margin-top: 14px; }
.pricing-estimate-view .pricing-levers { margin-top: 16px; }
@media(max-width: 600px) {
 .pricing-journey[data-view="estimate"] .intro h1 { font-size: 26px; }
 .pricing-estimate-view .pricing-inputs,
 .pricing-estimate-view .price-result { --receipt-inset: 16px; }
 .pricing-estimate-view .receipt-head .price-total { font-size: 28px; }
 .pricing-estimate-view .receipt-charges { display: block; }
 .pricing-estimate-view .receipt-charges .detail-line { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0; }
 .pricing-estimate-view .receipt-charges .detail-line > b { margin-top: 0; font-size: 15px; }
}

@media(min-width: 1001px) {
 .pricing-journey .pricing-page-heading { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 16px; }
 .pricing-journey .pricing-page-heading .intro { flex: 1; margin: 0; }
 .pricing-journey .pricing-page-heading .pricing-entry { flex-shrink: 0; margin: 24px 0 0; }
 .pricing-estimate-view .pricing-location-fields,
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon) { grid-template-columns: minmax(0, 360px) minmax(0, 220px) minmax(0, 220px) auto; }
 .pricing-estimate-view .pricing-location-fields .pricing-photon { margin-top: 20px; }
 .pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media(min-width: 1001px) {
 .pricing-journey .pricing-page-heading .intro { padding: 16px 20px; }
 .pricing-journey .pricing-page-heading .intro h1 { font-size: 29px; }
}

/* Keep the estimate close to the controls at each screen size. */
.pricing-live-summary {
 position: sticky; top: 8px; z-index: 20;
 display: flex; align-items: center; gap: 24px;
 margin-bottom: 16px; padding: 12px 18px;
 background: var(--nav); color: var(--nav-text);
 border-radius: 8px; box-shadow: 0 4px 12px #20374120;
 font-variant-numeric: tabular-nums;
}
.pricing-live-summary > div { min-width: 0; }
.pricing-live-summary span { display: block; font-size: 12px; color: var(--nav-muted); }
.pricing-live-summary strong { display: block; font-size: 22px; overflow-wrap: anywhere; }
.pricing-live-summary a { margin-left: auto; color: var(--nav-text); font-size: 12px; text-underline-offset: 3px; padding-block: 10px; }
.pricing-live-summary a:hover { text-decoration-thickness: 2px; }
.pricing-estimate-view #price-result { scroll-margin-block: 110px; }
.pricing-estimate-view .pricing-layout input:invalid:not(:focus):not([aria-invalid="true"]) { border-color: var(--line); }
.pricing-estimate-view .price-field > input,
.pricing-estimate-view .price-field > select { margin: 0; min-height: 42px; }
.pricing-estimate-view .vm-search-field > label,
.pricing-estimate-view .price-field > label { display: block; margin: 0 0 6px; font-size: 12px; line-height: 1.5; }
.pricing-estimate-view .pricing-duration-toggle { margin-top: 14px; font-size: 12px; min-height: 32px; }
.pricing-estimate-view .pricing-applied { margin: 0; padding: 8px 0; color: var(--teal); font-weight: 600; }
.pricing-applied::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: currentColor; }
.pricing-assumptions { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 16px; }
.pricing-assumptions h3 { margin: 0 0 8px; font-size: 14px; }
.pricing-assumptions p { margin: 4px 0; font-size: 12px; color: var(--muted); line-height: 1.5; }
.pricing-assumptions .source-link { display: inline-block; margin-top: 6px; font-size: 12px; }
@media(min-width: 1280px) {
 .pricing-estimate-view .pricing-live-summary { display: none; }
 .pricing-estimate-view .pricing-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr); gap: 24px; }
 .pricing-estimate-view .pricing-receipt { position: sticky; top: 20px; }
 .pricing-estimate-view .pricing-location-fields,
 .pricing-estimate-view .pricing-location-fields:has(.pricing-photon) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pricing-estimate-view .pricing-location-fields .pricing-photon { align-self: end; margin: 0; min-height: 42px; }
 .pricing-estimate-view .pricing-machine-fields { grid-template-columns: minmax(0, 1fr) 160px; }
 .pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pricing-estimate-view .receipt-head { flex-wrap: wrap; gap: 12px; }
 .pricing-estimate-view .receipt-head .price-total { text-align: left; }
 .pricing-estimate-view .receipt-charges { display: block; }
 .pricing-estimate-view .receipt-charges .detail-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; }
 .pricing-estimate-view .receipt-charges .detail-line > b { margin: 0; font-size: 17px; }
}
@media(max-width: 600px) {
 .pricing-live-summary { gap: 16px; top: 6px; padding: 10px 14px; }
 .pricing-live-summary strong { font-size: 19px; }
 .pricing-live-summary a { max-width: 60px; }
 .pricing-estimate-view .pricing-duration-toggle { align-items: flex-start; line-height: 1.5; min-height: 44px; }
}

.pricing-estimate-view .vm-search-combobox { margin-top: 0; }
.pricing-estimate-view .pricing-duration-toggle { display: flex; align-items: center; gap: 9px; }
.pricing-estimate-view .pricing-duration-toggle > input { flex: 0 0 17px; width: 17px; height: 17px; min-height: 0; margin: 0; padding: 0; }

.pricing-estimate-view input,
.pricing-estimate-view select,
.pricing-estimate-view summary,
.pricing-estimate-view button { scroll-margin-block: 110px 24px; }

/* The estimator asks four questions; secondary settings share one disclosure. */
.pricing-journey[data-view="estimate"] .pricing-page-heading { margin-bottom: 24px; align-items: center; }
.pricing-journey[data-view="estimate"] .intro { padding: 0; background: transparent; }
.pricing-journey[data-view="estimate"] .intro h1 { font-size: 29px; margin-bottom: 6px; }
.pricing-journey[data-view="estimate"] .intro p { margin-bottom: 0; }
.pricing-estimate-view .pricing-inputs { padding: 28px; }
.pricing-estimate-view .pricing-simple-machines { grid-template-columns: minmax(0, 1fr) 155px; }
.pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pricing-estimate-view .pricing-option-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pricing-estimate-view #price-form .form-grid { gap: 20px 18px; }
.pricing-estimate-view .pricing-usage-section { margin-top: 26px; padding-top: 24px; }
.pricing-estimate-view .pricing-options { border: 0; border-radius: 0; margin-top: 26px; background: transparent; }
.pricing-estimate-view .pricing-options > summary { padding: 12px 0; border-top: 1px solid var(--line); background: transparent; color: var(--teal); font-size: 12px; }
.pricing-estimate-view .pricing-options > .disclosure-body { padding: 18px 0 0; }
.pricing-estimate-view .pricing-option-fields .pricing-photon { display: flex; gap: 8px; align-items: center; padding-top: 22px; font-size: 12px; }
.pricing-estimate-view .pricing-option-fields .pricing-photon input { width: 17px; height: 17px; min-height: 0; margin: 0; }
.pricing-estimate-view .pricing-custom-rates { padding-top: 20px; margin-top: 16px; border-top: 1px solid var(--line); }
.pricing-estimate-view .pricing-custom-rates h3 { font-size: 14px; }
.pricing-estimate-view .pricing-duration-options .price-field { margin-top: 12px; max-width: 320px; }
.pricing-duration-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.pricing-estimate-view .pricing-public-status:empty { display: none; }
.pricing-estimate-view .price-result { padding: 28px; }
.pricing-estimate-view .receipt-head { margin: 0; padding: 0; display: block; background: transparent; color: var(--ink); }
.pricing-estimate-view .receipt-head h2 { font-size: 14px; color: var(--muted); }
.pricing-estimate-view .receipt-head .price-total { padding-top: 14px; font-size: 44px; text-align: left; color: var(--ink); }
.pricing-estimate-view .receipt-head .price-total small { color: var(--muted); font-size: 12px; }
.pricing-estimate-view .price-monthly { margin-top: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); background: transparent; border-radius: 0; }
.pricing-estimate-view .price-monthly b { font-size: 22px; }
.pricing-estimate-view .pricing-assumptions { border: 0; margin-top: 12px; padding-top: 0; }
.pricing-estimate-view .pricing-assumptions p { font-size: 11px; }
.pricing-estimate-view .price-result > details { border: 0; border-radius: 0; background: transparent; margin-top: 20px; }
.pricing-estimate-view .price-result > details > summary { padding: 10px 0; background: transparent; color: var(--teal); font-size: 12px; }
.pricing-estimate-view .price-result > details > .disclosure-body { padding-inline: 0; }
@media(min-width: 1100px) {
 .pricing-estimate-view .pricing-live-summary { display: none; }
 .pricing-estimate-view .pricing-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 24px; }
 .pricing-estimate-view .pricing-receipt { position: sticky; top: 20px; }
}
@media(max-width: 600px) {
 .pricing-journey[data-view="estimate"] .pricing-page-heading { margin-bottom: 16px; }
 .pricing-journey[data-view="estimate"] .intro { padding: 0; }
 .pricing-estimate-view .pricing-inputs, .pricing-estimate-view .price-result { padding: 20px; }
 .pricing-estimate-view .pricing-simple-machines { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-option-fields { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-usage-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pricing-estimate-view .price-field > label { min-height: 36px; display: flex; align-items: end; }
 .pricing-estimate-view .pricing-simple-machines .price-field > label { min-height: 0; }
 .pricing-estimate-view .receipt-head .price-total { font-size: 38px; }
}

/* Expose configuration choices, reserve the disclosure for billing exceptions. */
.pricing-estimate-view .pricing-context-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pricing-estimate-view .pricing-context-fields > .pricing-mode-field { grid-column: 1 / -1; max-width: none; }
.pricing-estimate-view .pricing-context-fields .pricing-photon { display: flex; align-items: center; gap: 8px; margin: 0; min-height: 28px; font-size: 12px; }
.pricing-estimate-view .pricing-context-fields .pricing-photon input { width: 17px; height: 17px; min-height: 0; margin: 0; }
.pricing-estimate-view .pricing-nodes-section { padding-top: 22px; margin-top: 20px; border-top: 1px solid var(--line); }
.pricing-estimate-view .pricing-nodes-section h3 { font-size: 14px; margin: 0 0 14px; }
.pricing-estimate-view .pricing-balanced-machines { grid-template-columns: minmax(0, 1fr) 155px; }
.pricing-estimate-view .pricing-public-rates .pricing-context-fields { gap: 14px 18px; }
.pricing-estimate-view .pricing-usage-section { margin-top: 20px; padding-top: 20px; }
.pricing-estimate-view .pricing-options { margin-top: 20px; }
.pricing-estimate-view .receipt-summary { margin: 18px 0; color: var(--muted); font-size: 12px; }
.pricing-estimate-view .cost-stack { height: 7px; margin-bottom: 18px; }
.pricing-estimate-view .receipt-charges { display: block; }
.pricing-estimate-view .receipt-charges .detail-line { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; align-items: baseline; }
.pricing-estimate-view .receipt-charges .detail-line > b { font-size: 17px; margin: 0; }
.pricing-estimate-view .receipt-charges .detail-line > span { font-size: 12px; }
.pricing-estimate-view .price-monthly { margin-top: 16px; }
@media(max-width: 600px) {
 .pricing-estimate-view .pricing-context-fields { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-balanced-machines { grid-template-columns: minmax(0, 1fr); }
 .pricing-estimate-view .pricing-context-fields .price-field > label,
 .pricing-estimate-view .pricing-balanced-machines .price-field > label { min-height: 0; }
}


/* Shared interface foundations: identical roles use identical tokens and components. */
:root {
 --control-height: 44px;
 --control-radius: 6px;
 --panel-radius: 10px;
 --panel-space: 24px;
 --section-space: 24px;
 --field-gap: 8px;
 --selection-border: var(--teal);
}
.workspace main .intro.page-heading {
 padding: 0; margin: 0 0 var(--section-space); border: 0;
 border-radius: 0; background: transparent; align-items: flex-start;
}
.workspace main .intro.page-heading h1 {
 font-size: 32px; line-height: 1.2; letter-spacing: -.03em; margin: 0 0 8px;
 text-wrap: balance;
}
.workspace main .intro.page-heading p {
 color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0; max-width: 75ch;
}
.workspace main .panel,
.workspace main .machines-search,
.workspace main #decode-result,
.workspace main .pricing-example {
 border-radius: var(--panel-radius); border-color: var(--line);
 background: var(--surface); padding: var(--panel-space);
}
.workspace main .panel-table { padding: 0; }
.workspace main .panel > h2,
.workspace main .pricing-public-rates > h2,
.workspace main .pricing-usage-section h2 { font-size: 18px; letter-spacing: -.02em; margin-bottom: 16px; }
.workspace main .section-gap { margin-top: var(--section-space); }
.workspace main .form-grid { gap: 16px 20px; }
.workspace main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.workspace main select, .workspace main textarea {
 min-height: var(--control-height); border-radius: var(--control-radius); font-size: 13px;
}
.workspace main label, .workspace main .vm-search-field > label { font-size: 12px; font-weight: 600; line-height: 1.5; }
.workspace main .vm-search-field > label { margin: 0 0 var(--field-gap); }
.workspace main .vm-search-combobox { margin-top: 0; }
.workspace main .vm-search-field .vm-search-combobox input { margin-top: 0; }
.workspace main .price-field > label { margin-bottom: var(--field-gap); }
.workspace main .price-field > input,
.workspace main .price-field > select { margin-top: 0; }
.workspace main .button {
 min-height: var(--control-height); border-radius: var(--control-radius);
 padding: 10px 16px; font-size: 13px; line-height: 1.5;
}
.workspace main .button.small { min-height: 34px; padding: 6px 12px; font-size: 12px; }
.workspace main .text-button, .workspace main .source-link {
 font-size: 12px; text-underline-offset: 4px; line-height: 1.5;
}
.workspace main .text-button:hover, .workspace main .source-link:hover { text-decoration: underline; }
.workspace main .disclosure {
 border-radius: var(--panel-radius); background: var(--surface); overflow: visible;
}
.workspace main .disclosure > summary {
 border-radius: var(--panel-radius); background: var(--surface); color: var(--ink);
 padding: 14px 18px; font-size: 13px; font-weight: 600;
}
.workspace main .disclosure > summary:hover { background: #f2f6f5; }
.workspace main .disclosure[open] > summary {
 background: var(--surface); border-bottom-color: var(--line);
 border-radius: var(--panel-radius) var(--panel-radius) 0 0;
}
.workspace main .disclosure-body { padding: 20px; }
.workspace main .disclosure.disclosure--inline { border: 0; border-radius: 0; background: transparent; }
.workspace main .disclosure.disclosure--inline > summary {
 padding: 14px 0; border-top: 1px solid var(--line); border-radius: 0; color: var(--teal); background: transparent;
}
.workspace main .disclosure.disclosure--inline > .disclosure-body { padding: 16px 0 0; }
.workspace main .disclosure.disclosure--inline[open] > summary { border-bottom: 0; }
.workspace main .family-filter button {
 min-height: 40px; border-radius: var(--control-radius); color: var(--ink); font-weight: 600;
}
.workspace main .family-filter button.active {
 background: var(--selection-soft); color: var(--teal); border-color: var(--teal);
}
/* Short exclusive choices, including the billing mode, use native radio groups. */
.choice-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.choice-group legend { padding: 0; margin: 0 0 var(--field-gap); font-size: 12px; line-height: 1.5; font-weight: 600; }
.choice-list { display: flex; gap: 8px; }
.choice-option { position: relative; flex: 1; min-width: 0; margin: 0; cursor: pointer; }
.choice-group .choice-input {
 position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
 padding: 0; margin: 0; opacity: 0; z-index: 1; cursor: pointer;
}
.choice-content {
 display: flex; flex-direction: column; gap: 7px; height: 100%; padding: 14px 12px;
 border: 1px solid var(--line); border-radius: var(--control-radius); color: var(--ink); background: var(--surface);
 transition: background-color .15s, border-color .15s;
}
.choice-title { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; }
.choice-help { display: block; font-size: 12px; line-height: 1.5; font-weight: 400; color: var(--muted); }
.choice-option:hover .choice-content { border-color: var(--teal); }
.choice-input:checked + .choice-content { border-color: var(--teal); background: var(--selection-soft); box-shadow: inset 0 0 0 1px var(--teal); }
.choice-input:checked + .choice-content .choice-title { color: var(--teal); }
.choice-input:focus-visible + .choice-content { outline: 3px solid var(--teal); outline-offset: 3px; }
.choice-segments .choice-list { gap: 0; }
.choice-segments .choice-content { min-height: var(--control-height); align-items: center; justify-content: center; padding: 10px; border-radius: 0; }
.choice-segments .choice-title { font-size: 12px; white-space: nowrap; }
.choice-segments .choice-option:first-child .choice-content { border-radius: var(--control-radius) 0 0 var(--control-radius); }
.choice-segments .choice-option:last-child .choice-content { border-radius: 0 var(--control-radius) var(--control-radius) 0; }
.choice-segments .choice-option + .choice-option { margin-left: -1px; }
.choice-segments .choice-option:has(:checked) { z-index: 1; }
.choice-cards .choice-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.check-control {
 display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: var(--control-height);
 font-size: 12px; cursor: pointer; margin: 0;
}
.check-control input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; min-height: 0; padding: 0; margin: 0; accent-color: var(--teal); }
.capacity-manual-fields .check-control { flex-direction: row; align-self: end; gap: 8px; }
.capacity-manual-fields .check-control input[type="checkbox"] { width: 17px; margin: 0; }
.vs-fields > .check-control { min-height: 70px; justify-content: center; }
.pricing-context-fields > .check-control { min-height: 28px; }
/* Every page header aligns with its primary content. The price views share one tab navigation. */
.pricing-journey .pricing-page-heading { display: flex; align-items: center; gap: 24px; margin-bottom: var(--section-space); }
.workspace main .pricing-page-heading .intro.page-heading { margin: 0; flex: 1; }
.pricing-journey .pricing-page-heading .pricing-entry.tab-nav {
 display: inline-flex; flex-wrap: nowrap; flex-shrink: 0; align-self: center;
 margin: 0; padding: 0; gap: 0; border: 0; background: transparent; border-radius: var(--control-radius);
}
.pricing-entry.tab-nav .button {
 display: inline-flex; flex: 1; min-height: var(--control-height); padding: 10px 14px;
 border: 1px solid var(--line); border-radius: 0; background: var(--surface); color: var(--muted); text-decoration: none;
}
.pricing-entry.tab-nav .button:first-child { border-radius: var(--control-radius) 0 0 var(--control-radius); }
.pricing-entry.tab-nav .button:last-child { border-radius: 0 var(--control-radius) var(--control-radius) 0; margin-left: -1px; }
.pricing-entry.tab-nav .button[aria-current="page"] { background: var(--selection-soft); border-color: var(--teal); color: var(--teal); box-shadow: inset 0 0 0 1px var(--teal); z-index: 1; }
/* Keep comparison semantics while sharing neutral panel headings and form geometry. */
.workspace main .vs-toolbar { display: grid; grid-template-columns: minmax(170px,1fr) minmax(220px,1.25fr) minmax(120px,.6fr) auto auto; gap: 16px; margin: 0 0 16px; }
.vs-toolbar > label { min-width: 0; max-width: none; margin: 0; }
.vs-toolbar input { max-width: none; }
.workspace main .vs-config-title { background: transparent; border-radius: 0; padding: 0 0 16px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.vs-config-title h2 { font-size: 18px; color: var(--comparison-ink); }
.workspace main .vs-verdict { background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--panel-radius); padding: var(--panel-space); }
.vs-verdict span { color: var(--muted); }
.workspace main .capacity-setup { background: var(--surface); border: 1px solid var(--line); border-radius: var(--panel-radius); padding: var(--panel-space); margin-bottom: var(--section-space); }
.capacity-setup > h2 { font-size: 18px; }
.capacity-setup .capacity-manual-fields { grid-template-columns: minmax(0,1.4fr) minmax(0,.85fr) minmax(0,1.4fr); gap: 16px 20px; align-items: start; }
.capacity-setup .vm-search-field { width: 100%; }
.capacity-setup [data-map-control="region"], .capacity-setup [data-map-control="workers"] { width: 100%; }
.capacity-setup .capacity-resource-summary { margin-bottom: 0; }
.capacity-results-heading .choice-group.capacity-results-view { display: block; margin-left: auto; }
.capacity-results-view .choice-list { min-width: 270px; }
.diagnostic-choices { margin-bottom: var(--section-space); }
.workspace main .pricing-example { padding: 0; overflow: hidden; }
.pricing-example .example-intro { padding: var(--panel-space) var(--panel-space) 0; }
.example-intro h2 { font-size: 18px; }
.example-bill { border-top: 1px solid var(--line); }
.workspace main .source-list { border-radius: var(--panel-radius); }
@media(max-width: 1280px) {
 .workspace main .vs-toolbar { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .pricing-journey .pricing-page-heading { flex-wrap: wrap; }
 .pricing-journey .pricing-page-heading .pricing-entry.tab-nav { align-self: flex-start; }
}
@media(max-width: 900px) {
 .capacity-setup .capacity-manual-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .diagnostic-choices .choice-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 700px) {
 :root { --panel-space: 20px; --section-space: 20px; }
 .workspace main .intro.page-heading h1 { font-size: 27px; }
 .workspace main .intro.page-heading p { font-size: 13px; }
 .pricing-journey .pricing-page-heading { display: block; }
 .pricing-journey .pricing-page-heading .pricing-entry.tab-nav { margin-top: 16px; width: 100%; }
 .workspace main .vs-toolbar { grid-template-columns: minmax(0,1fr); }
 .capacity-setup .capacity-manual-fields { grid-template-columns: minmax(0,1fr); }
 .capacity-results-heading .choice-group.capacity-results-view { flex-basis: 100%; margin: 8px 0 0; width: 100%; }
 .capacity-results-view .choice-list { min-width: 0; }
 .choice-cards .choice-list { grid-template-columns: minmax(0,1fr); }
 .choice-content { padding: 12px 14px; }
 .diagnostic-choices .choice-list { grid-template-columns: minmax(0,1fr); }
 .diagnostic-choices .choice-content { gap: 4px; }
 .choice-segments .choice-title { white-space: normal; text-align: center; }
 .workspace main .button { white-space: normal; }
}
@media(prefers-reduced-motion: reduce) { .choice-content { transition: none; } }

/* Spark diagnostic: observe evidence, then run one measurable experiment. */
.diagnostic-scope { color: var(--muted); font-size: 12px; max-width: 90ch; margin: -8px 0 18px; }
.diagnostic-start { margin-bottom: 24px; }
.diagnostic-docs { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.diagnostic-page .diagnostic-choices { margin-bottom: 24px; }
.diagnostic-page .diagnostic-choices > legend { font-size: 14px; margin-bottom: 12px; }
.diagnostic-empty { padding: 24px 0; border-top: 1px solid var(--line); }
.diagnostic-empty h2 { font-size: 18px; }
.diagnostic-empty p { color: var(--muted); max-width: 78ch; font-size: 13px; }
.diagnostic-result-heading { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.diagnostic-result-heading h2 { font-size: 20px; margin: 0; }
.diagnostic-result-heading > span { color: var(--muted); font-size: 12px; }
.diagnostic-result .diagnosis { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 24px; align-items: start; }
.diagnostic-result h3 { font-size: 16px; margin-bottom: 12px; }
.diagnostic-evidence > p { font-size: 12px; line-height: 1.6; }
.diagnostic-checks { margin-top: 16px; }
.diagnostic-checks > label { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0; border-top: 1px solid var(--line); cursor: pointer; }
.diagnostic-checks input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; min-height: 0; margin: 3px 0 0; padding: 0; }
.diagnostic-checks strong { display: block; font-weight: 600; font-size: 13px; line-height: 1.5; }
.diagnostic-checks small { display: block; margin-top: 5px; font-size: 12px; line-height: 1.5; font-weight: 400; color: var(--muted); }
.diagnostic-checks-footer { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); margin-bottom: 8px; }
.diagnostic-checks-footer p { margin: 0; color: var(--teal); font-size: 12px; }
.diagnostic-plan .diagnostic-test-action { font-size: 14px; line-height: 1.65; color: var(--ink); }
.diagnostic-plan > p { margin-bottom: 16px; font-size: 12px; line-height: 1.6; }
.diagnostic-plan dl { margin: 20px 0; }
.diagnostic-plan dl > div { margin-bottom: 16px; }
.diagnostic-plan dt { font-weight: 600; font-size: 12px; margin-bottom: 5px; }
.diagnostic-plan dd { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.diagnostic-plan > .button { width: 100%; }
.diagnostic-copy-status:empty { display: none; }
.diagnostic-plan .diagnostic-copy-status { margin-top: 10px; color: var(--teal); }
.diagnostic-hardware { padding-top: 18px; margin-top: 22px; border-top: 1px solid var(--line); }
.diagnostic-hardware h4 { margin: 0 0 8px; font-size: 13px; }
.diagnostic-hardware p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.diagnostic-hardware .button { width: 100%; white-space: normal; }
.diagnostic-glossary { margin: 20px 0 0; }
.diagnostic-glossary > div { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 16px; margin-top: 10px; font-size: 13px; }
.diagnostic-glossary dt { font-weight: 600; }
.diagnostic-glossary dd { margin: 0; color: var(--muted); }
@media(max-width: 1000px) { .diagnostic-result .diagnosis { grid-template-columns: minmax(0,1fr); } }
@media(min-width: 360px) and (max-width: 700px) {
 .diagnostic-page .diagnostic-choices .choice-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .diagnostic-page .diagnostic-choices .choice-content { padding: 12px; gap: 6px; }
 .diagnostic-page .diagnostic-choices .choice-title { font-size: 12px; }
 .diagnostic-page .diagnostic-choices .choice-help { font-size: 12px; }
}
@media(max-width: 700px) {
 .diagnostic-scope { margin-top: -6px; }
 .diagnostic-start { margin-bottom: 20px; }
 .diagnostic-result-heading h2 { font-size: 19px; }
 .diagnostic-result-heading { gap: 6px; flex-direction: column; align-items: flex-start; }
 .diagnostic-result .diagnosis { gap: 16px; }
}

/* Motion cues keep selection, navigation and disclosure feedback consistent. */
.nav-link { position: relative; isolation: isolate; }
.nav-link.active { background: transparent; }
.nav-active-surface { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--action-soft); pointer-events: none; }
.choice-segments { isolation: isolate; background: var(--surface); border-radius: var(--control-radius); }
.choice-segments .choice-content { position: relative; z-index: 1; background: transparent; }
.choice-segments .choice-input { z-index: 3; }
.choice-highlight { position: absolute; inset: 0; z-index: 0; background: var(--selection-soft); border: 1px solid var(--teal); box-shadow: inset 0 0 0 1px var(--teal); pointer-events: none; }
.choice-segments .choice-option:first-child .choice-highlight { border-radius: var(--control-radius) 0 0 var(--control-radius); }
.choice-segments .choice-option:last-child .choice-highlight { border-radius: 0 var(--control-radius) var(--control-radius) 0; }
.choice-segments .choice-input:checked ~ .choice-content { background: transparent; border-color: transparent; box-shadow: none; color: var(--teal); }
.choice-segments .choice-input:focus-visible ~ .choice-content { outline: 3px solid var(--teal); outline-offset: 3px; }
.workspace main .motion-disclosure > summary { display: flex; align-items: center; gap: 9px; list-style: none; }
.motion-disclosure > summary::-webkit-details-marker { display: none; }
.motion-disclosure > summary svg { flex: 0 0 12px; transform-origin: center; }
.workspace main .button { transition: background-color .15s, border-color .15s, color .15s; }
@media(prefers-reduced-motion: reduce) { .workspace main .button { transition: none; } }

.pricing-entry.tab-nav .button { position: relative; isolation: isolate; }
.pricing-entry.tab-nav .button[aria-current="page"] { border-color: transparent; background: transparent; box-shadow: none; }
.tab-active-surface { position: absolute; inset: -1px; z-index: -1; border: 1px solid var(--teal); box-shadow: inset 0 0 0 1px var(--teal); background: var(--selection-soft); pointer-events: none; }
.pricing-entry.tab-nav .button:first-child .tab-active-surface { border-radius: var(--control-radius) 0 0 var(--control-radius); }
.pricing-entry.tab-nav .button:last-child .tab-active-surface { border-radius: 0 var(--control-radius) var(--control-radius) 0; }
