:root{--ink:#102822;--ink2:#1a4036;--lime:#b8ef35;--lime2:#8fc414;--paper:#f5f6f2;--line:#d9ded9;--muted:#74817c;--white:#fff}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.topbar{height:70px;padding:0 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:20px;letter-spacing:-.05em}.brand small{font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.brand-symbol{width:25px;height:25px;display:flex;align-items:end;gap:2px}.brand-symbol i{display:block;width:7px;background:var(--ink);transform:skewY(-28deg)}.brand-symbol i:nth-child(1){height:13px}.brand-symbol i:nth-child(2){height:19px}.brand-symbol i:nth-child(3){height:25px;background:var(--lime2)}.stage{text-align:center;display:flex;flex-direction:column;gap:2px}.stage span{color:var(--lime2);font-size:7px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.stage strong{font:400 16px Georgia,serif}.top-actions{justify-self:end;display:flex;gap:4px}.top-actions button{height:34px;padding:0 8px;border:1px solid var(--line);background:#fff;font-size:8px;font-weight:700;cursor:pointer}.top-actions #fullscreenButton{width:34px;padding:0;font-size:14px}.top-actions button:hover{background:var(--lime);border-color:var(--lime)}.top-actions button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.top-actions button:disabled{cursor:not-allowed;color:#a5aea9;background:#f0f2ef;border-color:#d9ded9;opacity:.72}
.workspace{height:calc(100vh - 70px);min-height:640px;display:grid;grid-template-columns:minmax(0,1fr) 390px}.viewport{position:relative;overflow:hidden;background:radial-gradient(circle at 53% 46%,#fff 0,#eef1ec 54%,#dfe4dd 100%);cursor:grab}.viewport:active{cursor:grabbing}.viewport:before{content:"";position:absolute;inset:0;opacity:.45;background-image:linear-gradient(#cfd6cf 1px,transparent 1px),linear-gradient(90deg,#cfd6cf 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,#000 20%,transparent 78%)}canvas{position:absolute;inset:0;width:100%;height:100%}.view-heading{position:absolute;left:24px;top:21px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.view-heading span{font-size:7px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.view-heading strong{font:400 20px Georgia,serif}.view-tools{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px}.view-tools button{width:39px;height:39px;border:1px solid rgba(16,40,34,.18);background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(16,40,34,.07);cursor:pointer;position:relative}.view-tools button:hover,.view-tools button.active{background:var(--lime);border-color:var(--lime2)}.view-tools button span{position:absolute;left:46px;top:50%;transform:translate(-4px,-50%);padding:6px 9px;color:#fff;background:var(--ink);font-size:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s}.view-tools button:hover span{opacity:1;transform:translate(0,-50%)}.view-tools>i{height:7px}.legend{position:absolute;right:22px;top:22px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.88);border:1px solid #d4dad4}.legend span{display:flex;align-items:center;gap:8px;color:#68766f;font-size:7px}.legend i{width:23px;height:3px;display:block}.legend .level-zero{background:#8c9993}.legend .level-top{background:var(--lime2)}.legend .columns{background:var(--ink)}.legend .removed-column{height:0;border-top:2px dashed #d9624d;background:none}.legend .field-wall-marker{width:10px;height:10px;margin:0 6px;border:2px solid #6d9d00;border-radius:50%;background:#f4fbdc}.legend .field-roof-marker{width:9px;height:9px;margin:0 7px;border:2px solid #367db2;background:#e6f1f8;transform:rotate(45deg)}.drag-hint{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);padding:8px 12px;color:#71807a;background:rgba(255,255,255,.86);border:1px solid #d5dbd5;font-size:7px;pointer-events:none}
.settings{border-left:1px solid var(--line);background:#fff;overflow:auto;padding:28px 27px}.settings-head{padding-bottom:22px;border-bottom:1px solid var(--line)}.settings-head p{margin:0 0 8px;color:var(--lime2);text-transform:uppercase;letter-spacing:.14em;font-size:7px;font-weight:800}.settings-head h1{margin:0;font:400 27px/1.1 Georgia,serif}.settings-head>span{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.5}.setting-block{padding:21px 0;border-bottom:1px solid var(--line)}.setting-title{display:flex;align-items:center;gap:11px;margin-bottom:12px}.setting-title>b{width:27px;height:27px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:700 10px ui-monospace,monospace}.setting-title>span{display:flex;flex-direction:column;gap:3px}.setting-title strong{font-size:10px}.setting-title small{color:var(--muted);font-size:7px}.large-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.large-options button{height:58px;padding:9px 11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;border:1px solid var(--line);background:#fff;cursor:pointer}.large-options button:hover{border-color:#89958f}.large-options button.active{padding:8px 10px;border:2px solid var(--ink);background:#f6fbe9}.large-options strong{font:400 17px Georgia,serif}.large-options small{margin-top:2px;color:var(--muted);font-size:7px}.large-options i{position:absolute;right:8px;top:8px;width:15px;height:15px;border-radius:50%;display:none;place-items:center;background:var(--lime);font-size:7px}.large-options button.active i{display:grid}.module-counter{display:grid;grid-template-columns:42px 1fr 42px;align-items:stretch;height:55px}.module-counter button{border:1px solid var(--line);background:#fff;font-size:19px;cursor:pointer}.module-counter button:hover{background:var(--lime)}.module-counter>div{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:8px}.module-counter strong{font:400 25px Georgia,serif}.module-counter span{font-size:8px;color:var(--muted)}.module-scale{height:27px;margin-top:10px;display:flex}.module-scale i{flex:1;position:relative;border-top:2px solid var(--ink)}.module-scale i:before{content:"";position:absolute;left:-1px;top:-4px;width:6px;height:6px;border-radius:50%;background:var(--ink)}.module-scale i:last-child:after{content:"";position:absolute;right:-1px;top:-4px;width:6px;height:6px;border-radius:50%;background:var(--ink)}.module-scale b{position:absolute;left:50%;top:6px;transform:translateX(-50%);font:6px ui-monospace,monospace}.length-result{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f1f3ee}.length-result span{font-size:8px;color:var(--muted)}.length-result strong{font:400 17px Georgia,serif}.result-card{margin-top:20px;padding:16px;background:var(--ink);color:#fff}.result-card p{margin:0 0 10px;color:var(--lime);text-transform:uppercase;letter-spacing:.13em;font-size:7px;font-weight:800}.result-card div{padding:7px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12)}.result-card span{color:#9db0a9;font-size:8px}.result-card strong{max-width:62%;font-size:9px;text-align:right;line-height:1.35}.technical-note{display:flex;gap:8px;margin:13px 0 0;color:var(--muted);font-size:7px;line-height:1.5}.technical-note i{flex:0 0 auto;width:14px;height:14px;display:grid;place-items:center;border:1px solid #9ba6a1;border-radius:50%;font-style:normal}
.question-label{display:block;margin:14px 0 7px;color:#687670;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.aisle-counter{height:43px;display:grid;grid-template-columns:39px 1fr 39px}.aisle-counter button{border:1px solid var(--line);background:#fff;font-size:17px;cursor:pointer}.aisle-counter button:hover:not(:disabled){background:var(--lime)}.aisle-counter button:disabled,.module-counter button:disabled{cursor:not-allowed;color:#b4bcb7;background:#f0f2ef}.aisle-counter>div{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.aisle-counter strong{font:400 21px Georgia,serif}.aisle-counter span{font-size:8px;color:var(--muted)}.span-mode{display:grid;grid-template-columns:1fr 1fr}.span-mode button{height:36px;border:1px solid var(--line);background:#fff;font-size:8px;cursor:pointer;margin-right:-1px}.span-mode button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.is-hidden{display:none!important}.different-spans,.different-heights{margin-top:12px;display:flex;flex-direction:column;gap:7px}.aisle-span-row,.aisle-height-row{padding:8px 9px;display:grid;grid-template-columns:1fr 52px 52px;gap:5px;align-items:center;background:#f2f4ef}.aisle-span-row{grid-template-columns:1fr repeat(4,48px)}.aisle-span-row>span,.aisle-height-row>span{font-size:8px;font-weight:800}.aisle-span-row button,.aisle-height-row button{height:31px;border:1px solid #cfd5d0;background:#fff;font-size:8px;cursor:pointer}.aisle-span-row button.active,.aisle-height-row button.active{color:var(--ink);background:var(--lime);border-color:var(--lime2)}
#spanOptions{grid-template-columns:repeat(4,1fr)}
#heightOptions{grid-template-columns:repeat(4,1fr)}
.aisle-height-row{grid-template-columns:1fr repeat(4,44px)}
.internal-columns-block{margin-top:16px;padding-top:2px}.internal-spacing-rows{display:flex;flex-direction:column;gap:6px}.internal-spacing-row{padding:8px 9px;display:grid;grid-template-columns:1fr 52px 52px;gap:5px;align-items:center;background:#f2f4ef}.internal-spacing-row>span{font-size:8px;font-weight:800}.internal-spacing-row small{display:block;margin-top:2px;color:#b24d3d;font-size:6px;font-weight:700}.internal-spacing-row button{height:31px;border:1px solid #cfd5d0;background:#fff;font-size:8px;cursor:pointer}.internal-spacing-row button.active{background:var(--lime);border-color:var(--lime2)}.internal-spacing-row button:disabled{cursor:not-allowed;opacity:.55}.internal-spacing-row.forced button.active{opacity:1;color:#fff;background:var(--ink);border-color:var(--ink)}.inline-note{margin:7px 0 0;color:var(--muted);font-size:7px;line-height:1.45}
.wall-menu{position:absolute;z-index:8;width:220px;padding:13px;background:#fff;border:1px solid #bfc8c1;box-shadow:0 14px 35px rgba(16,40,34,.2)}.wall-menu-head{display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:grab;user-select:none;touch-action:none}.wall-menu-head:active{cursor:grabbing}.wall-menu-head span{flex:1;color:var(--lime2);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.wall-menu-head small{color:#87948e;font-size:6px;white-space:nowrap}.wall-menu-head button{flex:0 0 auto;width:24px;height:24px;border:0;background:#eef1ec;cursor:pointer}.wall-menu>strong{display:block;margin:7px 0 10px;font:400 14px/1.25 Georgia,serif}.wall-fill-options{display:flex;flex-direction:column;gap:5px}.wall-fill-options button{height:34px;padding:0 8px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;font-size:8px;text-align:left;cursor:pointer}.wall-fill-options button:hover,.wall-fill-options button.active{background:#f0f8db;border-color:var(--lime2)}.wall-fill-options i{width:25px;height:20px;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 6px ui-monospace,monospace}.wall-fill-options button.active i{background:var(--lime2);color:var(--ink)}
.drag-hint kbd{padding:2px 5px;border:1px solid #aeb8b1;border-bottom-width:2px;background:#fff;color:#102822;font:700 7px ui-monospace,monospace}.selection-bar{position:absolute;z-index:7;left:50%;bottom:20px;transform:translateX(-50%);min-width:270px;height:40px;padding:0 7px 0 13px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#102822;color:#fff;box-shadow:0 8px 24px rgba(16,40,34,.2)}.selection-bar span{font-size:8px}.selection-bar strong{color:var(--lime);font-size:11px}.selection-bar button{height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:7px;cursor:pointer}.selection-bar button:hover{color:#102822;background:var(--lime);border-color:var(--lime)}
.legend .length-control-marker{width:22px;height:10px;border:1px solid #52625c;background:#fff;position:relative}.legend .length-control-marker:after{content:"↔";position:absolute;inset:-3px 0 0;display:grid;place-items:center;color:#354740;font:700 8px ui-monospace,monospace}
.legend .beam-model-marker{height:5px;background:#c6bbbb;border:1px solid #766f6f}.legend .truss-model-marker{height:9px;border:2px solid #626b67;background:linear-gradient(155deg,transparent 44%,#626b67 45%,#626b67 55%,transparent 56%)}.legend .truss-model-marker.mono{transform:skewY(-15deg)}.legend #beamModelLegend.pending,.legend #truss12Legend.pending,.legend #truss18Legend.pending,.legend #trussModelLegend.pending,.legend #truss24Legend.pending{opacity:.4}.legend #beamModelLegend.error,.legend #truss12Legend.error,.legend #truss18Legend.error,.legend #trussModelLegend.error,.legend #truss24Legend.error{color:#b24d3d;opacity:1}.legend #beamModelLegend.error .beam-model-marker,.legend #truss12Legend.error .truss-model-marker,.legend #truss18Legend.error .truss-model-marker,.legend #trussModelLegend.error .truss-model-marker,.legend #truss24Legend.error .truss-model-marker{background:#f2c1ba;border-color:#b24d3d}
.legend .solid-column-marker{width:9px;height:14px;margin:0 7px;background:#b9bab6;border:1px solid #747a76}
.legend .hea300-marker{height:7px;background:#747f85;border-top:2px solid #4a555a;border-bottom:2px solid #4a555a}.legend #hea300Legend.pending{opacity:.4}.legend #hea300Legend.error{color:#b24d3d;opacity:1}.legend #hea300Legend.error .hea300-marker{background:#f2c1ba;border-color:#b24d3d}
.legend .hea120-marker{height:4px;background:#8a9397;border:1px solid #596469}
.legend .g-profile-marker{height:7px;border-left:3px solid #6f7d78;border-top:3px solid #6f7d78;border-bottom:3px solid #6f7d78;background:transparent}
body.fullscreen .topbar{display:none}body.fullscreen .workspace{height:100vh}body.fullscreen #fullscreenButton{background:var(--lime)}
@media(max-width:850px){.topbar{grid-template-columns:1fr auto}.stage{display:none}.workspace{height:auto;display:flex;flex-direction:column}.viewport{height:63vh;min-height:440px}.settings{border-left:0;border-top:1px solid var(--line)}.top-actions button:first-child{display:none}}
@media(max-width:520px){.topbar{padding:0 13px}.workspace{min-height:0}.viewport{height:55vh;min-height:390px}.legend{display:none}.view-tools{left:8px;transform:translateY(-50%) scale(.88);transform-origin:left center}.settings{padding:25px 18px}.view-heading{left:60px}.drag-hint{display:none}}
.legend .level-top{height:0;border-top:1px dashed var(--lime2);background:none}
.viewport.helpers-hidden .legend,.viewport.helpers-hidden .drag-hint,.viewport.helpers-hidden .selection-bar,.viewport.helpers-hidden .wall-menu{display:none!important}
body.presentation-mode .topbar,body.presentation-mode .settings,body.presentation-mode .view-heading,body.presentation-mode .view-tools>button:not(#helpersToggle),body.presentation-mode .view-tools>i{display:none!important}
body.presentation-mode .workspace{height:100vh;min-height:0;grid-template-columns:minmax(0,1fr)}
body.presentation-mode .viewport{height:100vh;min-height:0}
body.presentation-mode .view-tools{left:auto;right:18px;top:18px;transform:none;z-index:12}
body.presentation-mode #helpersToggle{display:flex!important;width:auto;height:38px;padding:0 13px;align-items:center;gap:7px;color:#fff;background:rgba(16,40,34,.92);border-color:#102822;box-shadow:0 5px 18px rgba(16,40,34,.2)}
body.presentation-mode #helpersToggle span{position:static;display:inline;padding:0;color:#fff;background:transparent;font-size:8px;opacity:1;transform:none}
body.presentation-mode #helpersToggle:hover span{transform:none}
.presentation-palette{display:none}
body.presentation-mode .presentation-palette{position:absolute;z-index:11;right:18px;top:66px;display:flex;flex-direction:column;gap:5px;padding:10px;background:rgba(255,255,255,.92);border:1px solid rgba(16,40,34,.16);box-shadow:0 5px 18px rgba(16,40,34,.12)}
.presentation-palette>strong{margin-bottom:2px;color:#68766f;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.presentation-palette button{width:116px;height:31px;padding:0 8px;display:flex;align-items:center;gap:8px;border:1px solid #d3d9d4;background:#fff;font-size:8px;cursor:pointer}
.presentation-palette button:hover,.presentation-palette button.active{border-color:#102822;background:#f2f4f1}
.presentation-palette button.active{box-shadow:inset 0 0 0 1px #102822}
.presentation-palette i{width:22px;height:15px;border:1px solid rgba(16,40,34,.24)}
.presentation-palette .facade-white{background:#e8eae7}.presentation-palette .facade-gray{background:#aeb3b2}.presentation-palette .facade-dark{background:#59605f}
.fill-scope{margin:-2px 0 10px;padding:9px;background:#f1f3ee;border:1px solid #d9ded9}.fill-scope>span{display:block;margin-bottom:7px;color:#68766f;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.fill-scope>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.fill-scope button{min-height:34px;padding:5px 7px;border:1px solid #cbd2cc;background:#fff;font-size:7px;line-height:1.2;cursor:pointer}.fill-scope button:hover,.fill-scope button.active{background:#e8f6c9;border-color:#8fc414}.fill-scope button.active{box-shadow:inset 0 0 0 1px #8fc414;font-weight:800}
.stage .server-status{margin-top:3px;display:flex;align-items:center;justify-content:center;gap:5px;color:#68766f;font:600 7px/1.2 Inter,ui-sans-serif,sans-serif;letter-spacing:0;text-transform:none}.server-status i{width:6px;height:6px;border-radius:50%;background:#8fc414;box-shadow:0 0 0 2px rgba(143,196,20,.16)}.server-status.pending i{background:#d9a52c;animation:serverPulse 1s infinite}.server-status.error{color:#a23d32}.server-status.error i{background:#d9624d;box-shadow:0 0 0 2px rgba(217,98,77,.16)}@keyframes serverPulse{50%{opacity:.3}}

/* Identyfikacja Depenbrock Polska */
.topbar{grid-template-columns:auto 136px auto minmax(0,1fr);gap:18px}
.company-logo{display:flex;align-items:center;justify-content:center}
.company-logo-top{width:136px;height:50px;padding:3px 7px;border-left:1px solid #e1e4e1;border-right:1px solid #e1e4e1;background:#fff}
.company-logo-top img{display:block;width:100%;height:100%;object-fit:contain}
.viewport-brand{position:absolute;z-index:6;left:18px;bottom:18px;width:132px;padding:8px 10px;background:#0b4f91;border:1px solid rgba(255,255,255,.42);box-shadow:0 5px 16px rgba(16,40,34,.14);pointer-events:none}
.viewport-brand img{display:block;width:100%;height:auto}
.presentation-meta{display:none;position:absolute;z-index:11;right:30px;bottom:29px;padding:8px 11px;text-align:right;background:rgba(255,255,255,.9);border-left:3px solid #f6c900;pointer-events:none}
.presentation-meta span{display:block;margin-bottom:3px;color:#0b4f91;font-size:7px;font-weight:800;letter-spacing:.13em}
.presentation-meta strong{display:block;color:#33443e;font-size:9px;font-weight:600}
body.presentation-mode .viewport:after{content:"";position:absolute;z-index:10;inset:14px;border:2px solid rgba(11,79,145,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);pointer-events:none}
body.presentation-mode .viewport-brand{z-index:11;left:30px;bottom:29px;width:166px;padding:10px 13px;box-shadow:0 7px 22px rgba(16,40,34,.18)}
body.presentation-mode .presentation-meta{display:block}
@media(max-width:1250px){.topbar{grid-template-columns:auto 108px auto minmax(0,1fr);gap:9px;padding-left:14px;padding-right:14px}.company-logo-top{width:108px;height:44px;padding:3px 5px}.top-actions{gap:2px}.top-actions button{padding-left:5px;padding-right:5px}}
@media(max-width:850px){.topbar{grid-template-columns:auto 96px minmax(0,1fr);gap:8px}.company-logo-top{width:96px;height:40px}.stage{display:none}.top-actions{justify-self:end}.viewport-brand{width:108px}}
@media(max-width:620px){.company-logo-top{display:none}.topbar{grid-template-columns:auto minmax(0,1fr)}body.presentation-mode .viewport-brand{left:22px;bottom:22px;width:135px}body.presentation-mode .presentation-meta{right:22px;bottom:22px}}

/* Formularz wysłania konfiguracji do wyceny */
.top-actions .quote-action{color:#102822;background:#b8ef35;border-color:#8fc414}
.top-actions .quote-action:hover{background:#a9df2d;border-color:#78aa0b}
body.quote-open{overflow:hidden}
.quote-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px}
.quote-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(9,27,23,.68);backdrop-filter:blur(3px);cursor:default}
.quote-dialog{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;box-shadow:0 28px 80px rgba(4,20,16,.35)}
.quote-head{position:sticky;z-index:2;top:0;padding:22px 25px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#102822;color:#fff}
.quote-head span{display:block;margin-bottom:6px;color:#b8ef35;font-size:7px;font-weight:800;letter-spacing:.14em}
.quote-head h2{margin:0;font:400 25px/1.1 Georgia,serif}
.quote-head>button{flex:0 0 auto;width:32px;height:32px;border:1px solid rgba(255,255,255,.24);background:transparent;color:#fff;font-size:20px;cursor:pointer}
.quote-step{padding:24px 25px;margin:0}
.quote-step>p{margin:0 0 20px;color:#68766f;font-size:10px;line-height:1.55}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.quote-grid label,.quote-code{display:flex;flex-direction:column;gap:6px}
.quote-grid label>span,.quote-code>span{color:#53615c;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.quote-grid input,.quote-grid select,.quote-grid textarea,.quote-code input{width:100%;border:1px solid #cfd6d0;background:#fff;color:#102822;border-radius:0;outline:0}
.quote-grid input,.quote-grid select{height:42px;padding:0 11px;font-size:10px}
.quote-grid textarea{padding:10px 11px;resize:vertical;font:10px/1.45 Inter,sans-serif}
.quote-grid input:focus,.quote-grid select:focus,.quote-grid textarea:focus,.quote-code input:focus{border-color:#6d9d00;box-shadow:0 0 0 2px rgba(143,196,20,.16)}
.quote-wide{grid-column:1/-1}
.quote-consent{margin-top:17px;display:flex;align-items:flex-start;gap:9px;color:#53615c;font-size:9px;line-height:1.4}
.quote-consent input{margin:1px 0 0;accent-color:#8fc414}
.quote-consent a{color:#0b4f91;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.quote-consent a:hover{color:#073862}
.quote-footer{margin-top:22px;padding-top:16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e0e4e0}
.quote-footer button{height:39px;padding:0 15px;border:1px solid #cbd2cc;font-size:9px;font-weight:800;cursor:pointer}
.quote-footer .secondary{background:#fff}
.quote-footer .primary{background:#b8ef35;border-color:#8fc414}
.quote-footer button:disabled{cursor:wait;opacity:.55}
.quote-error{margin-top:14px;padding:10px 12px;color:#8b2f27;background:#fff0ed;border-left:3px solid #d9624d;font-size:9px;line-height:1.4}
.quote-code-icon,.quote-success-icon{margin:4px auto 14px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#edf7d5;color:#527900;font-size:22px}
.quote-step>h3{margin:0 0 8px;text-align:center;font:400 24px Georgia,serif}
.quote-code{max-width:270px;margin:20px auto}
.quote-code input{height:58px;padding:0 14px;text-align:center;font:700 27px/1 ui-monospace,monospace;letter-spacing:.28em}
.quote-success{text-align:center}
.quote-success>span{color:#6d9d00;font-size:7px;font-weight:800;letter-spacing:.14em}
.quote-success>h3{margin-top:7px;font-size:29px}
.quote-success>a{display:inline-block;padding:11px 14px;color:#fff;background:#0b4f91;font-size:9px;font-weight:800;text-decoration:none}
.quote-success .quote-footer{justify-content:center}
.save-dialog{width:min(590px,calc(100vw - 32px))}
.quote-code.save-email{max-width:390px}
.quote-code.save-email input{height:44px;padding:0 11px;text-align:left;font:10px Inter,sans-serif;letter-spacing:0}
.save-success-actions{margin:14px auto 0;display:flex;justify-content:center;gap:7px}
.save-success-actions button{height:34px;padding:0 11px;border:1px solid #cbd2cc;background:#fff;color:#42524c;font-size:8px;font-weight:700;cursor:pointer}
.save-success-primary #saveDownloadButton{height:38px;padding:0 18px;border-color:#0b4f91;background:#0b4f91;color:#fff;font-size:9px;font-weight:800}
#saveProjectLink{display:block;width:max-content;margin:10px auto 0;border:1px solid #0b4f91;background:#fff;color:#0b4f91}
@media(max-width:620px){.quote-modal{padding:8px}.quote-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.quote-head,.quote-step{padding-left:17px;padding-right:17px}.quote-grid{grid-template-columns:1fr}.quote-wide{grid-column:auto}.top-actions .quote-action{display:none}}
