:root{--bg:#ece9df;--card:#fff;--card2:#f4f1e8;--card3:#fbfaf5;--text:#111713;--muted:#68716b;--border:#cfc8b6;--border2:#e5decf;--ink:#17201d;--steel:#32413d;--line:#cfd7cf;--signal:#e2b044;--signal-2:#b98524;--green:#216b56;--green-soft:#edf7f1;--green-border:#b7d9cb;--purple-bg:#e9eee9;--purple:#30413a;--warn-bg:#fffaf1;--warn-border:#e7dfc8;--warn-text:#7a5a18;--danger:#8f1d1d;--danger-border:#f1d0d0;--shadow-soft:0 16px 40px #1e211a14;--shadow-card:0 1px 0 #fffc inset, 0 18px 42px #22261f14;--radius-xl:24px;--radius-lg:18px;--radius-md:12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(90deg, #17201d0a 1px, transparent 1px), linear-gradient(180deg, #17201d09 1px, transparent 1px), radial-gradient(circle at 7% 0%, #e2b04442, transparent 28%), radial-gradient(circle at 91% 14%, #216b5624, transparent 24%), var(--bg);color:var(--text);background-size:36px 36px,36px 36px,auto,auto,auto;margin:0;padding:24px;font-family:Bahnschrift,Aptos Narrow,Segoe UI,Tahoma,sans-serif;line-height:1.35}button,input,select,textarea{font:inherit}button{appearance:none}.page{counter-reset:calc-section;max-width:1240px;margin:0 auto}.quick-action-panel{background:#ffffff6b;border:1px solid #17201d2e;border-radius:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:-8px 0 14px;padding:9px;display:flex;box-shadow:0 8px 22px #1e211a0f}.calc-hero{color:#f8fbf4;background:linear-gradient(135deg,#e2b04433,#0000 32%),linear-gradient(120deg,#17201d 0%,#263530 54%,#101715 100%);border:1px solid #1f2d29;border-radius:28px;margin-bottom:18px;padding:26px;position:relative;overflow:hidden;box-shadow:0 28px 75px #17201d3d}.calc-hero:before{content:"";opacity:.18;pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 18px,#ffffff2e 18px 19px),linear-gradient(135deg,#0000 0 68%,#e2b04473 68% 69%,#0000 69%);position:absolute;inset:0}.calc-hero__rail{opacity:.8;grid-template-columns:repeat(3,46px);gap:7px;display:grid;position:absolute;top:18px;right:22px}.calc-hero__rail span{background:var(--signal);border-radius:999px;height:5px}.calc-hero:after{content:"";opacity:.7;pointer-events:none;background:linear-gradient(90deg,#0000 49%,#e2b0442e 49% 51%,#0000 51%),linear-gradient(#0000 49%,#e2b0442e 49% 51%,#0000 51%);border:1px solid #e2b04438;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-100px;right:-86px}.calc-hero__main,.calc-metrics{z-index:1;position:relative}.calc-hero__main{grid-template-columns:1fr minmax(220px,300px);align-items:end;gap:22px;display:grid}.calc-kicker{color:#f1c866;text-transform:uppercase;letter-spacing:.08em;border:1px solid #e2b0448c;border-radius:999px;width:max-content;max-width:100%;padding:6px 10px;font-size:12px;font-weight:700}.calc-hero h1{letter-spacing:-.035em;max-width:760px;margin:14px 0 10px;font-size:clamp(36px,5vw,58px);line-height:.98}.calc-hero__meta{flex-wrap:wrap;gap:8px;display:flex}.calc-hero__meta span{color:#dce6df;background:#ffffff0f;border:1px solid #f8fbf42e;border-radius:999px;padding:7px 10px;font-size:13px}.calc-hero__total{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080d0c59;border:1px solid #e2b04473;border-radius:20px;padding:18px}.calc-hero__total-label,.calc-hero__total-sub,.calc-metric span{color:#aebbb5;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.calc-hero__total-value{color:#fff7d5;letter-spacing:-.03em;margin:6px 0 4px;font-size:32px;font-weight:800}.calc-metrics{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.calc-metric{background:#ffffff12;border:1px solid #f8fbf424;border-radius:15px;min-width:0;padding:13px}.calc-metric strong{color:#fff;margin-top:6px;font-size:20px;line-height:1.05;display:block}.price-upload-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#e2b0441f,#0000 38%),#ffffffb8;border:1px solid #7c715938;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:grid;box-shadow:0 12px 30px #17201d0f}.price-upload-title{letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-weight:900}.price-upload-sub,.price-upload-message{color:var(--muted);margin-top:3px;font-size:12px}.price-upload-message{color:var(--green);font-weight:700}.price-upload-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.price-upload-file{position:relative;overflow:hidden}.price-upload-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.theme-mono{--bg:#eeeeea;--card2:#efefec;--card3:#fbfbf8;--ink:#111;--steel:#343434;--signal:#111;--signal-2:#111;--green:#111;--green-soft:#f4f4f1;--green-border:#b9b9b1}.theme-mono .calc-hero{background:repeating-linear-gradient(135deg,#ffffff12 0 1px,#0000 1px 12px),linear-gradient(120deg,#111 0%,#2a2a2a 58%,#050505 100%);box-shadow:0 28px 75px #0000003d}.theme-mono .calc-hero h1{text-transform:uppercase;letter-spacing:-.012em;white-space:nowrap;max-width:none;font-family:Bahnschrift Condensed,Aptos Narrow,Arial Narrow,sans-serif;font-size:clamp(34px,4.4vw,54px);font-weight:900;line-height:.92}.theme-mono .calc-hero__main{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.theme-mono .btn,.theme-mono .btn-next,.theme-mono .input,.theme-mono .select,.theme-mono textarea.input,.theme-mono .choice,.theme-mono .check,.theme-mono .choice-name{font-size:15px}.theme-mono .label{font-size:13px}.theme-mono .section:before{text-align:right;color:#11111121;width:76px;font-size:48px;line-height:1;top:16px;right:18px}.theme-mono .section-head{grid-template-columns:minmax(280px,.8fr) minmax(260px,.55fr);padding-right:92px}.theme-mono .section-sub{text-align:right;justify-self:end;max-width:520px}.theme-mono .section:after{border-top-color:#111}.theme-mono .section,.theme-mono .facade-card,.theme-mono .corner-card,.theme-mono .corner-auto,.theme-mono .openings,.theme-mono .summary,.theme-mono .cassette-spec-table-wrap,.theme-mono .price-upload-panel{background:#fff;border:2px solid #111;border-radius:4px;box-shadow:8px 8px #1111111f}.theme-mono .section:before{color:#1111111c}.theme-mono .facade-top,.theme-mono .corner-head,.theme-mono .summary-head{color:#fff;background:#111;border-bottom-color:#111}.theme-mono .openings-head{color:#f8fbf4;background:#3a453f;border-bottom-color:#111}.theme-mono .facade-sub,.theme-mono .corner-sub{color:#d8d8d8}.theme-mono .facade-badge,.theme-mono .choice.active:after{color:#fff;background:#111;border-radius:2px}.theme-mono .input,.theme-mono .select,.theme-mono textarea.input,.theme-mono .choice,.theme-mono .check,.theme-mono .btn{color:#111;box-shadow:none;background:#fff;border:2px solid #111;border-radius:4px}.theme-mono .choice.active{outline-offset:3px;background:repeating-linear-gradient(135deg,#11111129 0 7px,#0000 7px 14px),#fff;border-color:#111;outline:3px solid #111;box-shadow:6px 6px #11111138}.theme-mono .btn-primary,.theme-mono .btn-next{color:#fff;background:#111;border-color:#111;box-shadow:5px 5px #1111112e}.theme-mono .cassette-spec-table .spec-section-row td{color:#111;background:#f2f2f2;border-top:2px solid #111}.theme-mono .cassette-spec-table .spec-total-row td{color:#111;background:#fff;border-top:2px solid #111}.theme-mono .cassette-spec-table tr:not(.spec-section-row):not(.spec-total-row):hover td{background:#f7f7f7}.theme-mono .cassette-spec-table th,.theme-mono .cassette-spec-table tbody>tr:last-child td{background:linear-gradient(#111,#050505)}.section{background:linear-gradient(180deg, #ffffffeb, #fffffffa), var(--card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);counter-increment:calc-section;border:1px solid #7c715938;margin-bottom:18px;padding:22px;position:relative;overflow:hidden}.section:before{content:counter(calc-section, decimal-leading-zero);color:#17201d14;letter-spacing:-.08em;pointer-events:none;font-size:58px;font-weight:800;line-height:1;position:absolute;top:18px;right:20px}.section:after{content:"";pointer-events:none;border-top:3px solid #e2b0446b;position:absolute;inset:0}.section-head{z-index:1;border-bottom:1px solid #7c715929;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:16px;padding-bottom:14px;display:grid;position:relative}.section-title{letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:800}.section-title-line{align-items:flex-start;gap:6px;display:inline-flex}.section-sub{color:var(--muted);font-size:13px}.facade-list{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.facade-card,.corner-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffff0,#fbfaf5f5),#fff;border:1px solid #7c715933;overflow:hidden;box-shadow:0 10px 28px #17201d0d}.facade-top,.corner-head{background:linear-gradient(90deg, #17201d0b, transparent), var(--card3);border-bottom:1px solid #7c715929;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.facade-name-row{align-items:center;gap:10px;display:flex}.facade-badge{background:var(--ink);color:#fff4cf;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #e2b04459}.facade-title,.corner-title{letter-spacing:-.01em;font-size:15px;font-weight:800}.facade-sub,.corner-sub{color:var(--muted);margin-top:2px;font-size:12px}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn,.btn-next{color:var(--text);cursor:pointer;background:linear-gradient(#fffffff5,#f6f3ebf5);border:1px solid #7c715957;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s,color .18s,box-shadow .18s}.btn:hover,.btn-next:hover{border-color:#e2b044bf;transform:translateY(-1px);box-shadow:0 8px 18px #17201d14}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{color:#fff;background:linear-gradient(#2f7f65,#1f604e);border-color:#1d5b49;font-weight:600}.btn-quiet{color:#4b5563;background:#fff;border-color:#e3e6ea}.btn-danger{color:var(--danger);border-color:var(--danger-border);background:#fff}.btn-quick-action{min-height:34px;color:var(--ink);box-shadow:none;background:#fbfaf5;border-color:#17201d38;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:800}.btn-quick-action:hover{background:var(--green-soft);border-color:#216b5673}.btn-quick-action-primary{background:var(--green);color:#fff;border-color:#216b5680}.btn-quick-action-primary:hover{color:#fff;background:#174a3d;border-color:#17201dcc}.btn-next{color:#1b211d;background:linear-gradient(#f2ca63,#d9a83a);border:1px solid #e2b044b8;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:700}.facade-body,.corner-body{padding:15px}.grid-4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.grid-5{grid-template-columns:1.15fr .8fr .8fr .8fr 1.45fr;gap:10px;display:grid}.opening-grid{grid-template-columns:.92fr 1.24fr .8fr .8fr .72fr auto;align-items:start;gap:10px;display:grid}.opening-delete-field{min-width:120px}.opening-delete-btn{white-space:nowrap;border-radius:8px;width:100%;min-height:40px}.corner-row{grid-template-columns:.82fr .82fr .92fr 1.44fr;align-items:start;gap:10px;display:grid}.grid-2,.corners-grid,.choice-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.subsystem-settings-grid{grid-template-columns:1.45fr .85fr .85fr}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:12px;font-weight:700}.hint{color:var(--muted);font-size:11px;line-height:1.45}.input,.select,textarea.input{width:100%;color:var(--text);background:linear-gradient(#fff,#fcfbf7);border:1px solid #7c71595c;border-radius:13px;outline:none;padding:12px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:inset 0 1px #ffffffe6}textarea.input{resize:vertical;min-height:88px}.input:focus,.select:focus,textarea.input:focus{border-color:var(--signal-2);background:#fff;box-shadow:0 0 0 4px #e2b04424,inset 0 1px #ffffffe6}.switches{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.check{background:#fff;border:1px solid #7c715938;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.check input{margin:0}.openings{border-radius:var(--radius-lg);background:var(--card3);border:1px solid #7c715933;margin-top:12px;overflow:hidden}.openings-head{background:#3a453f;border-bottom:1px solid #7c715929;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.openings-title,.summary-head{font-size:13px;font-weight:600}.opening-list{flex-direction:column;gap:8px;padding:10px;display:flex}.opening-row{border-radius:var(--radius-md);background:#fff;border:1px solid #7c715929;padding:10px}.summary{border-radius:var(--radius-lg);background:#fff;border:1px solid #7c715933;margin-top:12px;overflow:hidden;box-shadow:0 10px 24px #17201d0b}.summary-head{background:var(--ink);color:#fff8d8;border-bottom:1px solid #e2b04447;padding:11px 13px}.summary-grid{grid-template-columns:repeat(4,1fr);display:grid}.price-summary-grid{grid-template-columns:.7fr 2.1fr .9fr .9fr}.summary-item{border-right:1px solid #7c715929;padding:13px}.summary-item:last-child{border-right:none}.summary-name{color:var(--muted);margin-bottom:4px;font-size:12px}.summary-val{letter-spacing:-.015em;font-size:16px;font-weight:700}.price-summary-grid .summary-val{font-weight:500}.corner-auto{border-radius:var(--radius-lg);background:linear-gradient(135deg,#e2b0441a,#0000 34%),#fbfaf5;border:1px solid #7c715933;margin-bottom:10px;padding:14px}.corner-auto-row{grid-template-columns:2fr 160px auto;align-items:end;gap:10px;display:grid}.auto-badge,.manual-badge{border-radius:999px;align-items:center;gap:6px;width:max-content;margin-top:6px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.auto-badge{color:#0b6b4b;background:var(--green-soft);border:1px solid var(--green-border)}.manual-badge{color:#6b7280;background:#f3f4f6;border:1px solid #d8dbe1}.choice-row{margin-top:10px}.choice{cursor:pointer;background:linear-gradient(#fff,#fbfaf5);border:1px solid #7c715947;border-radius:15px;padding:12px 13px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;position:relative}.choice:hover{border-color:#e2b044b8;transform:translateY(-1px);box-shadow:0 9px 22px #17201d12}.corner-row .choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.corner-row .choice{align-items:center;min-height:42px;display:flex}.corner-row .choice-name{margin-bottom:0}.grid-5 .choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5 .choice{align-items:center;min-height:42px;display:flex}.grid-5 .choice-name{margin-bottom:0}.grid-5 .hint{text-align:center}.choice.active{color:#111713;background:linear-gradient(135deg,#ffe49aeb,#e2b04452 46%,#fffdf6fa),#fff3c8;border:2px solid #d49b28;box-shadow:0 0 0 4px #e2b04433,0 16px 34px #17201d21}.choice.active:after{content:"✓";background:var(--ink);color:#ffe7a1;border-radius:999px;place-items:center;width:20px;height:20px;font-size:13px;font-weight:700;display:grid;position:absolute;top:9px;right:10px;box-shadow:0 5px 12px #17201d38}.choice-name{margin-bottom:2px;padding-right:24px;font-size:13px;font-weight:800}.choice-sub{color:var(--muted);font-size:11px}.fixed-note{border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text);border-radius:var(--radius-md);margin-top:10px;padding:10px 11px;font-size:13px}.footer-nav{justify-content:flex-end;margin-top:14px;display:flex}.field-help{width:18px;height:18px;color:var(--steel);vertical-align:middle;cursor:pointer;appearance:none;box-shadow:none;background:#17201d14;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;font-size:11px;font-weight:700;display:inline-flex}.field-help-header{width:16px;height:16px;color:inherit;opacity:.86;background:0 0;border:1px solid;flex:none;margin-left:0;font-size:10px;line-height:1;transform:translateY(2px)}.field-help-header:hover{opacity:1;transform:translateY(1px)}.corner-head .field-help-header{width:18px;height:18px;transform:none}.corner-head .field-help-header:hover{transform:translateY(-1px)}.field-title{align-items:center;display:inline-flex}.cassette-spec-table-wrap{background:#fff;border:1px solid #7c71592e;border-radius:20px;overflow-x:auto;box-shadow:0 18px 42px #17201d14}.cassette-spec-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.cassette-spec-table .spec-col-section{width:13%}.cassette-spec-table .spec-col-element{width:27%}.cassette-spec-table .spec-col-name{width:28%}.cassette-spec-table .spec-col-qty{width:7%}.cassette-spec-table .spec-col-unit{width:5%}.cassette-spec-table .spec-col-price,.cassette-spec-table .spec-col-total{width:10%}.cassette-spec-table th,.cassette-spec-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #7c715921;padding:12px 10px}.summary-spec-table td:first-child{white-space:nowrap;overflow-wrap:normal;word-break:normal}.cassette-spec-table th{z-index:2;color:#fff8d8;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;text-align:center;background:linear-gradient(#1b2723,#131c19);border-top:0;font-size:11px;font-weight:800;position:sticky;top:0}.cassette-spec-table td{color:var(--text);background:#ffffffeb}.cassette-spec-table tr:not(.spec-section-row):not(.spec-total-row):hover td{background:#fffdf6}.cassette-spec-table td:nth-child(4),.cassette-spec-table td:nth-child(5),.cassette-spec-table td:nth-child(6),.cassette-spec-table td:nth-child(7){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Cascadia Mono,Consolas,monospace}.cassette-spec-table .spec-section-row td{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg,#e2b04447,#0000 38%),#f2eee2;border-top:2px solid #7c715933;font-size:12px;font-weight:900}.cassette-spec-table .spec-total-row td{color:var(--text);background:#f8f5ec;font-size:14px;font-weight:800}.cassette-spec-table tbody>tr:last-child td{color:#fff8d8;border-top:2px solid var(--signal);white-space:nowrap;background:linear-gradient(#1d2a25,#131c19);font-size:17px}.cassette-spec-table tbody>tr:last-child td:nth-child(6),.cassette-spec-table tbody>tr:last-child td:nth-child(7){color:#ffe6a3;white-space:nowrap;font-size:18px;font-weight:900}.cassette-spec-notes{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff9e;border:1px solid #7c71592e;border-radius:18px;margin-top:12px;padding:13px 14px}.packaging-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.packaging-table th:first-child{width:8%}.packaging-table th:nth-child(2){width:18%}.packaging-table th:nth-child(3),.packaging-table th:nth-child(4){width:10%}.packaging-table th:nth-child(5){width:38%}.packaging-table th:nth-child(6){width:16%}.packaging-table td:nth-child(2),.packaging-table td:nth-child(3),.packaging-table td:nth-child(4){font-variant-numeric:tabular-nums;white-space:nowrap;font-family:Cascadia Mono,Consolas,monospace}.packaging-table tbody>tr:last-child td,.packaging-table tbody>tr:last-child td:nth-child(6),.packaging-table tbody>tr:last-child td:nth-child(7){color:var(--text);background:#ffffffeb;border-top:1px solid #7c715921;font-size:13px;font-weight:400}.theme-mono .packaging-table tbody>tr:last-child td,.theme-mono .packaging-table tbody>tr:last-child td:nth-child(6),.theme-mono .packaging-table tbody>tr:last-child td:nth-child(7){color:#111;background:#fff;border-top:1px solid #1111111f;font-size:13px;font-weight:400}.packaging-item-line+.packaging-item-line{margin-top:5px}.pending-costs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pending-cost-card{background:repeating-linear-gradient(135deg,#11111114 0 7px,#0000 7px 14px),#fff;border:2px solid #111;border-radius:4px;padding:16px;box-shadow:6px 6px #11111124}.pending-cost-name{min-height:44px;font-size:16px;font-weight:900;line-height:1.18}.pending-cost-status{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#111;border:2px solid #111;margin-top:14px;padding:7px 10px;font-size:13px;font-weight:900;display:inline-flex}.methodology-link-section{background:#fff;border:2px solid #111;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:18px;display:grid;box-shadow:8px 8px #1111111f}.methodology-link-title{font-size:20px;font-weight:900}.methodology-link-sub{color:#5c5c5c;margin-top:4px;font-size:13px;line-height:1.45}.methodology-link-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.methodology-page{max-width:1040px}.visualization-page{max-width:1180px}.visualization-hero{background-color:#fff;background-image:linear-gradient(90deg,#11111114 1px,#0000 1px),linear-gradient(#11111114 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:2px solid #111;border-radius:4px;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px 22px;margin-bottom:16px;padding:22px;display:grid;box-shadow:8px 8px #1111111f}.visualization-hero .btn{align-self:start}.visualization-hero .calc-kicker{color:#fff;background:#111;border-color:#111;box-shadow:4px 4px #11111129}.visualization-hero h1{text-transform:uppercase;letter-spacing:-.01em;margin:12px 0 8px;font-family:Bahnschrift Condensed,Aptos Narrow,Arial Narrow,sans-serif;font-size:clamp(38px,6vw,70px);line-height:.92}.visualization-hero p{color:#222;max-width:780px;margin:0;font-size:15px;line-height:1.55}.visualization-legend{border-top:2px solid #111;flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:14px;display:flex}.visualization-legend span{background:#fff;border:2px solid #111;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:900;display:inline-flex}.visualization-legend i{border:2px solid #111;width:18px;height:14px;display:inline-block}.legend-standard{background:#eaf2ed}.legend-extra{background:#f7cf68}.legend-corner{background:#86b9d6}.legend-opening{background-color:#f4f4f4;background-image:linear-gradient(135deg,#1111112e 25%,#0000 25% 50%,#1111112e 50% 75%,#0000 75%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.legend-rust{background:repeating-linear-gradient(135deg,#111 0 2px,#0000 2px 6px),#fff}.visualization-rule-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.visualization-mode-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 14px;display:flex}.visualization-mode-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.visualization-mode-btn{background:#fff;border-radius:8px;font-size:13px;font-weight:900}.visualization-mode-btn.active{color:#fff;background:#111;border-color:#111}.visualization-rule-strip>div{background:#fff;border:2px solid #111;border-radius:4px;min-width:0;padding:13px;box-shadow:5px 5px #11111114}.visualization-rule-strip span,.visualization-card-total span,.visualization-stats span{color:#5c5c5c;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900;display:block}.visualization-rule-strip strong,.visualization-card-total strong,.visualization-stats strong{overflow-wrap:anywhere;margin-top:5px;font-size:18px;line-height:1.1;display:block}.visualization-list{gap:16px;display:grid}.visualization-card{background:#fff;border:2px solid #111;border-radius:4px;padding:16px;box-shadow:8px 8px #1111111a}.visualization-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;margin-bottom:14px;display:grid}.visualization-card h2{margin:0;font-size:24px;line-height:1.1}.visualization-card p{color:#5c5c5c;margin:5px 0 0;font-size:13px}.visualization-size-lines{color:#4b4b4b;gap:4px;margin-top:6px;font-size:13px;font-weight:800;display:grid}.visualization-card-total{color:#fff;text-align:right;background:#111;border:2px solid #111;border-radius:4px;min-width:116px;padding:10px}.visualization-card-total span{color:#cfcfcf}.visualization-drawing-wrap{background:#111;border:2px solid #111;border-radius:4px;padding:0;overflow:hidden}.visualization-drawing{background:#f9f7ef;width:100%;height:auto;display:block}.facade-surface{fill:#f6f2e7;opacity:0}.cassette-field-background{opacity:1}.visualization-drawing.facade-view,.visualization-drawing.subsystem-view{background-color:#f8f6ee;background-image:linear-gradient(90deg,#11111109 1px,#0000 1px),linear-gradient(#11111109 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:420px 420px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.visualization-drawing.facade-view .facade-surface,.visualization-drawing.subsystem-view .facade-surface{opacity:1}.visualization-drawing.facade-view .cassette-field-background{opacity:.08}.visualization-drawing.subsystem-view .cassette-field-background{opacity:.04}.visualization-drawing.facade-view .cassette-field-layer{opacity:.18}.visualization-drawing.subsystem-view .cassette-field-layer{opacity:.07}.visualization-drawing.facade-view .cassette-cell-label,.visualization-drawing.facade-view .visual-corner-label{opacity:0}.visualization-drawing.facade-view .visual-opening{fill:#fffffff5;stroke-width:6px}.visualization-drawing.facade-view .visual-opening-label{font-size:150px}.subsystem-layer{opacity:0;pointer-events:none}.visualization-drawing.subsystem-view .subsystem-layer{opacity:1}.subsystem-vertical-guide{stroke:#1b5f49;stroke-width:9px;vector-effect:non-scaling-stroke}.subsystem-vertical-guide-g{stroke:#365f8f;stroke-width:8px}.subsystem-vertical-guide-p-double{stroke:#1b5f49;stroke-width:7px}.subsystem-front-vertical-guide{stroke:#742f8f;stroke-dasharray:42 24;stroke-width:7px;vector-effect:non-scaling-stroke}.subsystem-horizontal-guide{stroke:#1f597cb3;stroke-dasharray:55 28;stroke-width:7px;vector-effect:non-scaling-stroke}.subsystem-horizontal-guide-g{stroke:#365f8fcc;stroke-dasharray:none;stroke-width:8px}.subsystem-bracket{fill:#f3c84d;stroke:#111;stroke-width:5px;vector-effect:non-scaling-stroke}.subsystem-bracket-g{fill:#fff;stroke:#365f8f}.cassette-cell{stroke:#111;stroke-width:4px;vector-effect:non-scaling-stroke}.cassette-cell-standard{fill:#d8e7deeb}.cassette-cell-extra{fill:#f7cf68f2}.visual-corner-cell{fill:#4491bc73;stroke:#111;stroke-width:4px;vector-effect:non-scaling-stroke}.visual-corner-label{fill:#111;paint-order:stroke;stroke:#ffffffdb;stroke-width:10px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Consolas,monospace;font-size:96px;font-weight:900}.visual-opening{fill:#ffffffd1;stroke:#111;stroke-width:5px;vector-effect:non-scaling-stroke}.visual-opening-group{cursor:grab;touch-action:none}.visual-opening-group:active{cursor:grabbing}.visual-opening-label{fill:#111;paint-order:stroke;stroke:#ffffffdb;stroke-width:8px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Consolas,monospace;font-size:110px;font-weight:900}.visual-opening-coords{fill:#111;paint-order:stroke;pointer-events:none;stroke:#ffffffe0;stroke-width:8px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Consolas,monospace;font-size:82px;font-weight:900}.opening-distance-panel{background:#fbfaf5;border:2px solid #111;border-radius:4px;margin-top:12px}.opening-distance-head{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#3a453f;border-bottom:2px solid #111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:9px 11px;font-size:12px;font-weight:900;display:flex}.opening-distance-actions{letter-spacing:0;text-transform:none;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:11px;font-weight:800;display:flex}.opening-distance-actions label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.opening-distance-actions input{accent-color:#111;width:14px;height:14px}.opening-distance-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:11px;display:grid}.opening-distance-field{gap:6px;min-width:0;display:grid}.opening-distance-field span{color:#4b4b4b;font-size:12px;font-weight:800}.cassette-cell-label{fill:#111;paint-order:stroke;stroke:#ffffffd1;stroke-width:8px;vector-effect:non-scaling-stroke;font-family:Cascadia Mono,Consolas,monospace;font-size:92px;font-weight:900}.facade-outline{fill:none;stroke:#111;stroke-width:8px;opacity:0;vector-effect:non-scaling-stroke}.cassette-field-outline{fill:none;stroke:#1111113d;stroke-width:5px;opacity:0;vector-effect:non-scaling-stroke}.visualization-drawing.facade-view .facade-outline,.visualization-drawing.subsystem-view .facade-outline{opacity:1;stroke-width:5px}.visualization-drawing.facade-view .cassette-field-outline{opacity:1;stroke:#216b5661;stroke-dasharray:70 42}.visualization-drawing.subsystem-view .cassette-field-outline{opacity:.55;stroke:#216b5647;stroke-dasharray:70 42}.visualization-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px;display:grid}.visualization-stats>div{background:#f8f8f8;border:2px solid #111;border-radius:4px;min-width:0;padding:10px}.methodology-hero{background:repeating-linear-gradient(135deg,#11111114 0 7px,#0000 7px 14px),#fff;border:2px solid #111;border-radius:4px;margin-bottom:18px;padding:24px;box-shadow:8px 8px #1111111f}.methodology-hero .btn{margin-bottom:18px}.methodology-hero .calc-kicker{color:#fff;background:#111;border-color:#111;box-shadow:4px 4px #11111129}.methodology-hero h1{text-transform:uppercase;letter-spacing:-.02em;margin:12px 0;font-family:Bahnschrift Condensed,Aptos Narrow,Arial Narrow,sans-serif;font-size:clamp(38px,6vw,72px);line-height:.92}.methodology-hero p,.methodology-section p{color:#222;max-width:860px;font-size:15px;line-height:1.6}.methodology-section{background:#fff;border:2px solid #111;border-radius:4px;margin-bottom:14px;padding:22px;box-shadow:6px 6px #1111111a}.methodology-section h2{border-bottom:2px solid #111;margin:0 0 12px;padding-bottom:10px;font-size:24px;line-height:1.15}.methodology-section ul{margin:12px 0 0;padding-left:20px}.methodology-section li{margin:7px 0;font-size:15px;line-height:1.45}.methodology-formula{background:#f2f2f2;border:2px solid #111;margin:10px 0;padding:10px 12px;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:700}.methodology-sources{columns:2;column-gap:34px}.modal-backdrop{z-index:50;background:#11182747;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #7c71593d;border-radius:22px;width:min(720px,100%);max-height:min(760px,90vh);overflow:auto;box-shadow:0 34px 90px #1118273d}.modal-head{background:var(--card3);border-bottom:1px solid #7c71592e;justify-content:space-between;gap:14px;padding:16px;display:flex}.help-content{padding:16px}.help-content h3{margin:14px 0 6px;font-size:15px}.help-content h3:first-child{margin-top:0}.help-content p{color:var(--text);margin:0 0 10px;font-size:13px;line-height:1.5}@media (width<=860px){.calc-hero__main,.calc-metrics{grid-template-columns:1fr 1fr}.calc-hero__main>:first-child{grid-column:1/-1}.calc-hero h1{font-size:38px}.theme-mono .calc-hero h1{white-space:normal;overflow-wrap:anywhere;line-height:.98}.section{padding:18px}.section-head{grid-template-columns:1fr}.theme-mono .section-head{grid-template-columns:1fr;padding-right:82px}.theme-mono .section-sub{text-align:left;justify-self:start}.price-upload-panel{grid-template-columns:1fr}.price-upload-actions{justify-content:flex-start}.grid-4,.grid-5,.opening-grid,.corner-row,.summary-grid,.price-summary-grid,.corners-grid,.packaging-summary-grid,.pending-costs-grid{grid-template-columns:1fr 1fr}.methodology-link-section{grid-template-columns:1fr}.methodology-link-actions{justify-content:flex-start}.visualization-hero,.visualization-card-head,.visualization-rule-strip,.visualization-stats{grid-template-columns:1fr 1fr}.visualization-hero>div:nth-child(2),.visualization-legend{grid-column:1/-1}.methodology-sources{columns:1}.corner-auto-row{grid-template-columns:1fr 1fr}.corner-auto-row>:last-child{grid-column:1/-1}}@media (width<=620px){body{padding:12px}.calc-hero{border-radius:22px;padding:18px}.calc-hero__main,.calc-metrics,.theme-mono .calc-hero__main{grid-template-columns:1fr}.calc-hero__rail{display:none}.calc-hero h1{font-size:31px}.theme-mono .calc-hero h1{letter-spacing:-.018em;max-width:100%;font-size:clamp(27px,8.4vw,34px);line-height:1}.calc-kicker{width:auto;font-size:10px;line-height:1.2}.calc-hero__meta span{border-radius:12px;width:100%}.calc-hero__total{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;padding:13px 14px;display:grid}.calc-hero__total-label{letter-spacing:.08em;grid-column:1/-1;font-size:10px}.calc-hero__total-value{white-space:nowrap;margin:0;font-size:clamp(22px,7vw,28px);line-height:1}.calc-hero__total-sub{color:#fff7d5;text-align:right;white-space:nowrap;justify-self:end;font-size:clamp(13px,4vw,16px);line-height:1}.section{border-radius:20px;padding:15px}.section:before{font-size:42px;top:14px;right:15px}.facade-top,.corner-head{flex-direction:column;align-items:flex-start}.grid-4,.grid-5,.opening-grid,.corner-row,.grid-2,.summary-grid,.price-summary-grid,.corners-grid,.packaging-summary-grid,.pending-costs-grid,.choice-row,.corner-auto-row{grid-template-columns:1fr}.methodology-hero,.visualization-hero,.visualization-card,.methodology-section,.methodology-link-section{padding:16px}.methodology-link-actions,.visualization-legend{grid-template-columns:1fr;display:grid}.methodology-link-actions .btn{width:100%}.visualization-hero,.visualization-card-head,.visualization-rule-strip,.visualization-stats{grid-template-columns:1fr}.visualization-card-total{text-align:left}.visualization-drawing-wrap{padding:0}.actions{width:100%}.actions .btn{flex:1}.footer-nav{justify-content:stretch}.btn-next{width:100%}.summary-spec-table-wrap{box-shadow:none;background:0 0;border:0;overflow-x:visible}.summary-spec-table,.summary-spec-table tbody,.summary-spec-table tr,.summary-spec-table td{width:100%;display:block}.summary-spec-table colgroup,.summary-spec-table thead{display:none}.summary-spec-table{border-collapse:separate;border-spacing:0;table-layout:auto;font-size:13px}.summary-spec-table tbody{gap:10px;display:grid}.summary-spec-table tr{background:#fff;border:2px solid #111;border-radius:4px;overflow:hidden;box-shadow:5px 5px #1111111a}.summary-spec-table td{overflow-wrap:anywhere;background:#fff;border-top:1px solid #e4e4e4;grid-template-columns:minmax(96px,.38fr) minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid;text-align:left!important;white-space:normal!important;font-family:inherit!important}.summary-spec-table td:first-child{border-top:0}.summary-spec-table td:before{content:"";color:#686868;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.summary-spec-table td:first-child:before{content:"Раздел"}.summary-spec-table td:nth-child(2):before{content:"Элемент"}.summary-spec-table td:nth-child(3):before{content:"Наименование"}.summary-spec-table td:nth-child(4):before{content:"Кол-во"}.summary-spec-table td:nth-child(5):before{content:"Ед."}.summary-spec-table td:nth-child(6):before{content:"Цена"}.summary-spec-table td:nth-child(7):before{content:"Сумма"}.summary-spec-table .spec-section-row{box-shadow:none}.summary-spec-table .spec-section-row td,.theme-mono .summary-spec-table .spec-section-row td{color:#fff;background:#111;border-top:0;padding:10px 12px;font-size:12px;display:block}.summary-spec-table .spec-section-row td:before{content:none}.summary-spec-table .spec-total-row td,.theme-mono .summary-spec-table .spec-total-row td{background:#f7f7f7;font-weight:900}.summary-spec-table tbody>tr:last-child,.theme-mono .summary-spec-table tbody>tr:last-child{background:#111;box-shadow:6px 6px #11111129}.summary-spec-table tbody>tr:last-child td,.theme-mono .summary-spec-table tbody>tr:last-child td{color:#fff;background:#111;border-top-color:#333;grid-template-columns:1fr;font-size:16px;white-space:normal!important}.summary-spec-table tbody>tr:last-child td:before{color:#cfcfcf}.summary-spec-table tbody>tr:last-child td:nth-child(6),.summary-spec-table tbody>tr:last-child td:nth-child(7),.theme-mono .summary-spec-table tbody>tr:last-child td:nth-child(6),.theme-mono .summary-spec-table tbody>tr:last-child td:nth-child(7){color:#fff;font-size:18px}.cassette-spec-notes{margin-top:16px}}@media print{body{background:#fff;padding:0}.calc-hero,.btn,.btn-next,.actions,.footer-nav{display:none!important}.page{max-width:none}.section{break-inside:avoid;box-shadow:none;border-color:#d8d0bf;border-radius:0;margin-bottom:10px}.cassette-spec-table-wrap{box-shadow:none;border-radius:0}.cassette-spec-table th{position:static}}
