:root{--surface:#fff;--page:#edf3f8;--soft:#f4f8fb;--line:#dde7ee;--line-strong:#c9d7e1;--text:#405160;--heading:#142331;--muted:#6d7d8a;--accent:#2384a6;--accent-dark:#11617d;--accent-soft:#e7f5fa;--mint:#2e8e6f;--amber:#b96f17;--danger:#ba3b3b;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;color:var(--text);background:var(--page);font-family:var(--font);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--page);min-height:100%}body{min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}body,button,input,select{font-family:var(--font);letter-spacing:0}button,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline-offset:2px;outline:3px solid #2384a63d}button:disabled{cursor:default}#root{min-height:100svh}@media (width>=760px){body{padding:22px 0}.app-shell{border:1px solid #9bb2c359;border-radius:28px;min-height:calc(100svh - 44px);overflow:hidden}.bottom-tabs{border-left:1px solid #9bb2c359;border-right:1px solid #9bb2c359;border-bottom-right-radius:28px;border-bottom-left-radius:28px;bottom:22px}}.app-shell{background:var(--surface);max-width:480px;min-height:100svh;color:var(--text);margin:0 auto;position:relative;box-shadow:0 24px 80px #192c4424}.app-header{z-index:20;padding:calc(env(safe-area-inset-top) + 14px) 18px 12px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.app-header h1{color:var(--heading);margin:0;font-size:22px;font-weight:750;line-height:1.12}.app-header p,.app-header span{color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:650}.header-total{border:1px solid var(--line);background:var(--soft);text-align:right;border-radius:8px;min-width:112px;padding:9px 10px}.header-total strong{color:var(--heading);font-size:17px;line-height:1.15;display:block}.app-main{padding:14px 16px 138px}.screen-stack{flex-direction:column;gap:14px;display:flex}.section-block{border-bottom:1px solid var(--line);padding:0 0 14px}.section-title,.archive-count,.quote-head,.summary-total,.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title{margin-bottom:10px}.section-title h2,.admin-head h2{color:var(--heading);margin:0;font-size:16px;font-weight:760;line-height:1.2}.section-title span,.admin-head span,.archive-count span,.archive-count strong{color:var(--muted);font-size:12px;font-weight:700}.section-title .warn{color:var(--amber)}.sr-only{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.position-title{align-items:center}.position-tools{align-items:center;gap:6px;display:flex}.position-tools button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.position-tools button:disabled{color:#b9c4cc}.position-tools .add-position{border-color:var(--accent);width:auto;color:var(--accent-dark);padding:0 11px;font-size:12px;font-weight:780}.position-strip{scroll-snap-type:x proximity;grid-auto-columns:154px;grid-auto-flow:column;gap:8px;padding:2px 1px 7px;display:grid;overflow-x:auto}.position-tab{border:1px solid var(--line);min-height:78px;color:var(--muted);text-align:left;scroll-snap-align:start;background:#fff;border-radius:8px;gap:4px;padding:9px 10px;display:grid}.position-tab.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.position-tab.has-error{border-color:var(--danger)}.position-tab span,.position-tab small{font-size:11px;font-weight:700}.position-tab strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.15;overflow:hidden}.config-tabs{background:#e8eef3;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;display:grid}.config-tabs button{min-width:0;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 4px;font-size:11px;font-weight:760}.config-tabs button.is-active{color:var(--accent-dark);background:#fff;box-shadow:0 1px 4px #22364621}.config-panel{min-width:0}.config-panel>.section-block{border-bottom:0;padding-bottom:0}.construction-strip{scroll-snap-type:x proximity;grid-auto-columns:152px;grid-auto-flow:column;gap:9px;padding:2px 1px 8px;display:grid;overflow-x:auto}.construction-card{border:1px solid var(--line);min-height:180px;color:var(--text);text-align:left;scroll-snap-align:start;background:#fff;border-radius:8px;grid-template-rows:124px minmax(36px,auto);gap:6px;padding:9px;display:grid}.construction-preview{background:var(--soft);border-radius:7px;width:100%;height:64px;display:block;position:relative;overflow:hidden}.construction-preview img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.construction-card .construction-preview{background:#eef5f8;height:124px}.construction-preview .shower-sketch{display:none}.construction-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.construction-card span{color:var(--heading);font-size:12px;font-weight:760;line-height:1.2;overflow:hidden}.shower-sketch{width:100%;height:64px;color:var(--accent)}.sketch-floor{fill:#d7e4ec}.sketch-glass{fill:#b4e1f2bd;stroke:#4b9fc0;stroke-width:2px}.sketch-line{fill:none;stroke:#526574;stroke-linecap:round;stroke-width:2.5px}.dimension-list,.service-list,.price-list{flex-direction:column;gap:9px;display:flex}.field-row,.price-row,.toggle-row{align-items:center;gap:8px;min-height:54px;display:grid}.field-row{grid-template-columns:minmax(0,1fr) 118px}.field-row span,.toggle-row span,.price-row span,.text-field span,.select-field span,.km-field span{min-width:0;color:var(--heading);flex-direction:column;font-size:14px;font-weight:760;line-height:1.15;display:flex}.field-row small,.toggle-row small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:650}.field-row em{color:var(--danger);grid-column:2;font-size:11px;font-style:normal;font-weight:700}.field-row input,.km-field input,.text-field input,.price-row input,.select-field select,.search-field input{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--heading);font:inherit;background:#fff;border-radius:8px;outline:none;font-size:15px;font-weight:680}.field-row input,.price-row input{text-align:right;height:44px;padding:0 10px}.text-field input,.search-field input,.select-field select{height:45px;padding:0 12px}.field-row input:focus,.km-field input:focus,.text-field input:focus,.price-row input:focus,.select-field select:focus,.search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2384a626}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option-chip{border:1px solid var(--line);min-height:58px;color:var(--text);text-align:left;background:#fff;border-radius:8px;grid-template-columns:36px minmax(0,1fr);column-gap:8px;padding:10px;display:grid}.option-chip.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.option-chip span,.option-chip small{display:block}.option-chip small{grid-column:2}.option-chip span{color:var(--heading);font-size:13px;font-weight:760;line-height:1.15}.glass-swatch{border:1px solid #607a8a52;border-radius:8px;grid-row:1/span 2;width:36px;height:36px;box-shadow:inset 0 0 16px #ffffff8c}.swatch-clear{background:linear-gradient(135deg,#e9fbff,#bde6f4)}.swatch-matte{background:linear-gradient(135deg,#f4f6f5,#cfd6d7)}.swatch-tinted{background:linear-gradient(135deg,#848f91,#303638)}.swatch-optiwhite{background:linear-gradient(135deg,#f7fffa,#d8ecdf)}.option-chip small{color:var(--muted);margin-top:5px;font-size:11px;font-weight:700}.inline-selects,.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.select-field,.text-field{flex-direction:column;gap:6px;min-width:0;display:flex}.select-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) 19px,calc(100% - 11px) 19px;background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.service-list{gap:8px}.toggle-row{grid-template-columns:minmax(0,1fr) 56px;padding:8px 0}.toggle-row input{appearance:none;background:#d4dde5;border-radius:999px;outline:none;width:52px;height:32px;margin:0;transition:background .18s;position:relative}.toggle-row input:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #12253733}.toggle-row input:checked{background:var(--accent)}.toggle-row input:checked:after{transform:translate(20px)}.delivery-box{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:10px}.segmented{background:#e8eef3;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented button{height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:760}.segmented button.is-active{color:var(--heading);background:#fff;box-shadow:0 1px 4px #22364621}.km-field{grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:8px;margin-top:10px;display:grid}.km-field input{text-align:right;height:42px;padding:0 10px}.client-grid .is-wide{grid-column:1/-1}.summary-dock{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #265e713d;border-radius:8px;flex-direction:column;gap:10px;margin-top:2px;padding:12px;display:flex;position:static;box-shadow:0 16px 38px #142f432e}.summary-lines{gap:5px;display:grid}.summary-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.summary-details summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:760}.summary-details[open] summary{margin-bottom:9px}.summary-lines div,.summary-total{justify-content:space-between;gap:10px;min-width:0;display:flex}.summary-lines span,.summary-lines strong{color:var(--muted);font-size:12px;font-weight:700}.summary-total{border-top:1px solid var(--line);padding-top:8px}.summary-total span{color:var(--heading);font-size:15px;font-weight:760}.summary-total strong{color:var(--heading);font-size:24px;line-height:1.05}.summary-order-total{background:var(--accent-soft);color:var(--accent-dark);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:11px 10px;display:flex}.summary-order-total span{font-size:13px;font-weight:760}.summary-order-total strong{color:var(--heading);font-size:20px}.primary-action,.pdf-action,.notice,.quote-actions button,.admin-head button{border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:780;display:inline-flex}.primary-action{background:var(--accent);color:#fff;border:0;min-height:48px;font-size:15px}.summary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pdf-action{border:1px solid var(--accent);min-height:48px;color:var(--accent-dark);background:#fff;font-size:14px}.pdf-action:disabled{border-color:var(--line-strong);color:var(--muted)}.primary-action:disabled{background:#b7c3cb}.notice{z-index:18;color:#146247;background:#eaf8f1;border:1px solid #2e8e6f40;width:100%;min-height:40px;margin-bottom:10px;font-size:13px;position:sticky;top:82px}.bottom-tabs{z-index:30;width:min(100%,480px);padding:7px 10px calc(env(safe-area-inset-bottom) + 7px);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;right:0;transform:translate(-50%)}.tab-button{min-width:0;min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:760;display:flex}.tab-button.is-active{background:var(--accent-soft);color:var(--accent-dark)}.search-field{border:1px solid var(--line);background:var(--soft);min-height:48px;color:var(--muted);border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:0 10px;display:grid}.search-field input{background:0 0;border:0;height:40px;padding:0}.archive-count{margin-top:10px}.quote-list{gap:10px;display:grid}.quote-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.quote-head strong{color:var(--heading);font-size:15px;line-height:1.15;display:block}.quote-head span{color:var(--muted);font-size:12px;font-weight:650}.quote-head select{border:1px solid var(--line);background:var(--soft);height:34px;color:var(--heading);border-radius:8px;font-size:12px;font-weight:760}.quote-main{color:var(--heading);text-align:left;background:0 0;border:0;grid-template-columns:78px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:0;display:grid}.quote-main .shower-sketch{background:var(--soft);border-radius:8px;height:58px}.quote-main b,.quote-main small{display:block}.quote-main b{color:var(--heading);font-size:14px;line-height:1.2}.quote-main small{color:var(--muted);margin-top:5px;font-size:12px;font-weight:700}.quote-meta{flex-wrap:wrap;gap:6px;display:flex}.quote-meta span{background:var(--soft);color:var(--muted);border-radius:7px;padding:5px 7px;font-size:11px;font-weight:760}.quote-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quote-actions button,.admin-head button{border:1px solid var(--line);min-height:40px;color:var(--heading);background:#fff;font-size:13px}.quote-actions .danger{color:var(--danger)}.empty-state{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:34px 12px;display:grid}.empty-state strong{color:var(--heading)}.admin-head{align-items:flex-start}.admin-head button{padding:0 12px}.price-row{grid-template-columns:minmax(0,1fr) 108px 44px}.price-row small{color:var(--muted);font-size:12px;font-weight:760}@media (width<=360px){.app-main{padding-inline:12px}.field-row{grid-template-columns:minmax(0,1fr) 98px}.price-row{grid-template-columns:minmax(0,1fr) 78px 28px}.summary-total strong{font-size:21px}}@media (width>=760px){.app-shell{flex-direction:column;width:calc(100% - 48px);max-width:1440px;min-height:calc(100svh - 44px);display:flex}.app-header{padding:calc(env(safe-area-inset-top) + 20px) 28px 16px;order:1}.app-header h1{font-size:24px}.app-main{order:3;width:100%;max-width:1360px;margin:0 auto;padding:24px 28px 32px}.screen-stack{gap:20px}.section-block{padding-bottom:20px}.construction-strip{grid-template-columns:repeat(auto-fit,minmax(152px,1fr));grid-auto-columns:auto;grid-auto-flow:row;padding-bottom:2px;overflow-x:visible}.position-strip{grid-template-columns:repeat(auto-fit,minmax(154px,1fr));grid-auto-columns:auto;grid-auto-flow:row;overflow-x:visible}.construction-card{grid-template-rows:132px auto;min-height:186px;padding:10px}.construction-card .construction-preview,.shower-sketch{height:132px}.bottom-tabs{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;order:2;width:100%;padding:8px 20px;position:sticky;inset:84px auto auto;transform:none}}@media (width>=960px){.app-header,.app-main{padding-inline:36px}.calculator-screen{grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);align-items:start;gap:24px 28px;display:grid}.calculator-screen>.position-section{grid-column:1/-1}.calculator-screen>.config-tabs{grid-area:2/1}.calculator-screen>.config-panel{grid-area:3/1}.calculator-screen>.summary-dock{grid-area:2/2/span 2;align-self:start;margin-top:0;position:sticky;top:164px;bottom:auto}.option-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.archive-screen,.prices-screen{align-items:start;gap:24px;display:grid}.archive-screen{grid-template-columns:minmax(0,1fr)}.archive-screen .quote-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.prices-screen{grid-template-columns:repeat(2,minmax(0,1fr))}.prices-screen>.admin-head{grid-column:1/-1}.prices-screen>.section-block{margin:0}}@media (width>=1280px){.calculator-screen{grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr);column-gap:36px}.construction-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.archive-screen .quote-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
