._page_t2zs9_1{color:#172c2d;min-height:100vh;font-family:var(--font-geist-sans),Arial,sans-serif;background:#f3f6f4;padding:42px clamp(20px,5vw,80px) 70px}._topbar_t2zs9_1{justify-content:space-between;align-items:flex-end;gap:30px;max-width:1420px;margin:0 auto;display:flex}._topbarActions_t2zs9_1{align-items:center;gap:10px;display:flex}._adminLink_t2zs9_1{color:#227d72;background:#fff;border:1px solid #c9ddd8;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:700;text-decoration:none}._readonlyField_t2zs9_1{color:#718180;background:#f4f8f6;border:1px solid #dfe8e5;border-radius:8px;align-items:center;height:36px;padding:0 9px;font-size:12px;display:flex}._eyebrow_t2zs9_1{color:#5f8f88;letter-spacing:.18em;font-size:10px;font-weight:750}._topbar_t2zs9_1 h1{letter-spacing:-.07em;margin:12px 0 6px;font-size:clamp(34px,4vw,58px);line-height:1}._topbar_t2zs9_1 p{color:#819092;margin:0;font-size:13px}._versionBadge_t2zs9_1{color:#227d72;background:#e9f5f1;border:1px solid #a9cbc4;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:700}._modeTabs_t2zs9_1{border-bottom:1px solid #dce6e2;gap:24px;max-width:1420px;margin:34px auto 20px;display:flex}._modeTabs_t2zs9_1 button{color:#859493;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 2px;font-size:12px}._modeTabs_t2zs9_1 button._activeTab_t2zs9_1{color:#19796f;border-color:#19796f;font-weight:700}._workspace_t2zs9_1{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;gap:20px;max-width:1420px;margin:0 auto;display:grid}._formPanel_t2zs9_1,._resultPanel_t2zs9_1{background:#fff;border:1px solid #dfe9e5;border-radius:18px}._formPanel_t2zs9_1{padding:26px}._resultPanel_t2zs9_1{padding:25px;position:sticky;top:20px}._sectionIntro_t2zs9_1{align-items:flex-start;gap:13px;margin-bottom:18px;display:flex}._sectionIntro_t2zs9_1>span{color:#31958a;letter-spacing:.08em;padding-top:4px;font-size:11px;font-weight:800}._sectionIntro_t2zs9_1 h2{letter-spacing:-.035em;margin:0 0 5px;font-size:18px}._sectionIntro_t2zs9_1 p{color:#8c9b9b;margin:0;font-size:11px}._structureGrid_t2zs9_1{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:34px;display:grid}._structureCard_t2zs9_1{text-align:left;cursor:pointer;background:#fbfdfc;border:1px solid #e2ebe8;border-radius:11px;min-height:99px;padding:12px;transition:all .16s}._structureCard_t2zs9_1:hover{border-color:#9bcac2;transform:translateY(-1px)}._structureCard_t2zs9_1._selected_t2zs9_1{background:#eef9f5;border-color:#2b9b8d;box-shadow:0 0 0 2px #ccebe3}._structureIndex_t2zs9_1{color:#a4b5b1;margin-bottom:13px;font-size:10px;display:block}._structureCard_t2zs9_1 strong{color:#234342;font-size:12px;display:block}._structureCard_t2zs9_1 small{color:#879795;margin-top:5px;font-size:10px;line-height:1.45;display:block}._fieldGrid_t2zs9_1{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px;display:grid}._fieldGrid_t2zs9_1 label{color:#718180;gap:6px;font-size:10px;display:grid}._fieldGrid_t2zs9_1 input,._fieldGrid_t2zs9_1 select{color:#1b3534;background:#fbfdfc;border:1px solid #dfe8e5;border-radius:8px;outline:none;min-width:0;height:36px;padding:0 9px;font-size:12px}._fieldGrid_t2zs9_1 input:focus,._fieldGrid_t2zs9_1 select:focus{border-color:#63b7aa;box-shadow:0 0 0 3px #54bba52b}._switch_t2zs9_1{color:#7e8e8b;cursor:pointer;background:#fbfdfc;border:1px solid #dfe8e5;border-radius:8px;height:36px;font-size:11px}._switchOn_t2zs9_1{color:#19796f;background:#eaf7f2;border-color:#91cfc1;font-weight:700}._priceSummary_t2zs9_1{color:#6e8580;background:#f5fbf8;border:1px solid #dceee8;border-radius:9px;grid-template-columns:1fr 1fr;gap:6px 14px;margin:10px 0 18px;padding:11px;font-size:10px;display:grid}._priceSummary_t2zs9_1 strong{color:#17796d;grid-column:1/-1;font-size:11px}._priceSummary_t2zs9_1 small{color:#98aaa5;grid-column:1/-1;line-height:1.45}._checkbox_t2zs9_1{color:#4b6360;align-items:center;gap:8px;margin:14px 0 24px;font-size:11px;display:flex}._checkbox_t2zs9_1 input{display:none}._checkbox_t2zs9_1 span{background:#fff;border:1px solid #c7d8d4;border-radius:5px;width:16px;height:16px;position:relative}._checkbox_t2zs9_1 input:checked+span{background:#239484;border-color:#239484}._checkbox_t2zs9_1 input:checked+span:after{content:"✓";color:#fff;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}._checkbox_t2zs9_1 em{color:#9ca9a6;font-size:10px;font-style:normal}._sectionLabel_t2zs9_1{color:#607673;border-top:1px solid #edf2f0;margin-top:18px;padding-top:18px;font-size:11px;font-weight:750}._sectionLabel_t2zs9_1 small{color:#9caaa7;margin-left:7px;font-weight:400}._previewGrid_t2zs9_1{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px;margin-bottom:22px;display:grid}._previewCard_t2zs9_1{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2ebe8;border-radius:10px;padding:7px}._previewCard_t2zs9_1:hover,._previewCard_t2zs9_1._selected_t2zs9_1{background:#f2fbf8;border-color:#4da99c}._previewCard_t2zs9_1 img{object-fit:contain;background:#f7faf9;border-radius:6px;width:100%;height:92px;display:block}._previewCard_t2zs9_1 span{color:#496562;margin:7px 2px 2px;font-size:10px;line-height:1.35;display:block}._derivedBox_t2zs9_1{color:#4d6d68;background:#f5faf8;border-radius:10px;grid-template-columns:auto auto;gap:7px 14px;margin-top:22px;padding:13px;font-size:10px;display:grid}._derivedBox_t2zs9_1 strong{color:#26786d;grid-column:1/-1;font-size:11px}._derivedBox_t2zs9_1 small{color:#96a7a2;grid-column:1/-1;line-height:1.55}._resultHeader_t2zs9_1{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}._resultHeader_t2zs9_1 span{color:#5ca99f;letter-spacing:.16em;font-size:9px;font-weight:800}._resultHeader_t2zs9_1 h2{letter-spacing:-.05em;margin:7px 0 0;font-size:22px}._resultHeader_t2zs9_1>b{text-align:right;color:#5b7772;max-width:170px;font-size:10px;line-height:1.4}._total_t2zs9_1{border-bottom:1px solid #e8efed;padding:27px 0 20px}._total_t2zs9_1 small{color:#91a09e;font-size:10px}._total_t2zs9_1 strong{color:#147a6d;letter-spacing:-.075em;margin:6px 0;font-size:42px;line-height:1.1;display:block}._total_t2zs9_1 span{color:#8b9997;font-size:10px}._metrics_t2zs9_1{border-bottom:1px solid #e8efed;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px 0;display:grid}._metrics_t2zs9_1 div{gap:5px;display:grid}._metrics_t2zs9_1 small{color:#94a3a0;font-size:10px}._metrics_t2zs9_1 b{color:#3c5b57;font-size:13px}._resultSection_t2zs9_1{border-bottom:1px solid #e8efed;padding:17px 0}._resultSectionTitle_t2zs9_1{color:#526e69;justify-content:space-between;font-size:11px;font-weight:750;display:flex}._resultSectionTitle_t2zs9_1 small{color:#99a8a5;font-weight:400}._rows_t2zs9_1{gap:0;max-height:330px;margin-top:8px;display:grid;overflow:auto}._row_t2zs9_1{border-top:1px solid #f0f4f2;grid-template-columns:minmax(0,1.3fr) .55fr .65fr;align-items:center;gap:7px;padding:8px 0;display:grid}._row_t2zs9_1 div{gap:3px;min-width:0;display:grid}._row_t2zs9_1 strong{color:#566f6b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}._row_t2zs9_1 span,._row_t2zs9_1 small{color:#9ba8a5;font-size:9px}._row_t2zs9_1>b{text-align:right;color:#4b6d67;font-size:10px;font-weight:600}._row_t2zs9_1>small{text-align:right}._notes_t2zs9_1{color:#94a29f;gap:6px;padding:17px 0;font-size:10px;line-height:1.45;display:grid}._notes_t2zs9_1 strong{color:#59746f;font-size:11px}._ruleBadge_t2zs9_1{color:#a0ada9;background:#f5f8f7;border-radius:7px;padding:8px 9px;font-size:9px}._drawingWorkspace_t2zs9_1{background:#fff;border:1px solid #dfe9e5;border-radius:18px;max-width:1420px;margin:0 auto;padding:26px}._drawingIntro_t2zs9_1{border-bottom:1px solid #edf2f0;align-items:center;gap:14px;padding-bottom:18px;display:flex}._drawingIntro_t2zs9_1 h2{letter-spacing:-.04em;margin:0 0 5px;font-size:20px}._drawingIntro_t2zs9_1 p{color:#8b9a96;margin:0;font-size:11px;line-height:1.55}._matchNotice_t2zs9_1{color:#4d706a;background:#f5fbf8;border:1px solid #dceee8;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.5}._returnButton_t2zs9_1{color:#227d72;cursor:pointer;background:#fff;border:1px solid #cbdad9;border-radius:8px;margin-top:14px;padding:9px 14px;font-size:11px}._returnButton_t2zs9_1:hover{background:#f1faf7}._comingSoon_t2zs9_1{text-align:center;background:#fff;border:1px solid #dfe9e5;border-radius:18px;max-width:720px;margin:100px auto;padding:55px 35px}._comingSoonIcon_t2zs9_1{color:#278a7e;background:#e9f5f1;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:24px;display:grid}._comingSoon_t2zs9_1 h2{margin:0 0 8px;font-size:22px}._comingSoon_t2zs9_1 p{color:#8b9a96;font-size:12px}._comingSoon_t2zs9_1 button{color:#fff;cursor:pointer;background:#258d81;border:0;border-radius:8px;margin-top:15px;padding:10px 16px;font-size:11px}@media (width<=980px){._workspace_t2zs9_1{grid-template-columns:1fr}._resultPanel_t2zs9_1{position:static}._fieldGrid_t2zs9_1{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){._page_t2zs9_1{padding:25px 13px 45px}._drawingWorkspace_t2zs9_1{border-radius:13px;padding:17px}._drawingIntro_t2zs9_1{align-items:flex-start}._drawingIntro_t2zs9_1 h2{font-size:17px}._topbar_t2zs9_1{display:block}._topbarActions_t2zs9_1{justify-content:space-between;margin-top:18px}._versionBadge_t2zs9_1{display:inline-block}._modeTabs_t2zs9_1{margin-top:25px}._structureGrid_t2zs9_1{grid-template-columns:1fr 1fr}._formPanel_t2zs9_1,._resultPanel_t2zs9_1{border-radius:13px;padding:17px}._fieldGrid_t2zs9_1,._previewGrid_t2zs9_1{grid-template-columns:1fr 1fr}._previewCard_t2zs9_1 img{height:74px}._total_t2zs9_1 strong{font-size:35px}}._matchedDrawingPanel_t2zs9_2{background:#f6fbf8;border:1px solid #cfe5dd;border-radius:14px;grid-column:1/-1;padding:18px 20px}._matchedDrawingHeader_t2zs9_3{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}._matchedDrawingHeader_t2zs9_3>div>span{color:#41867b;letter-spacing:.12em;font-size:9px;font-weight:800}._matchedDrawingHeader_t2zs9_3 h2{color:#234642;margin:6px 0;font-size:17px;line-height:1.4}._matchedDrawingHeader_t2zs9_3 p{color:#7d8f8a;margin:0;font-size:10px;line-height:1.55}._matchedDrawingHeader_t2zs9_3 button{color:#26796f;cursor:pointer;background:#fff;border:1px solid #b9d5ce;border-radius:7px;flex-shrink:0;padding:8px 11px;font-size:10px}._matchedDrawingImages_t2zs9_8{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(170px,.65fr);align-items:stretch;gap:12px;margin-top:15px;display:grid}._matchedDrawingImages_t2zs9_8 figure{background:#fff;border:1px solid #e0ebe6;border-radius:9px;min-width:0;margin:0;padding:8px}._matchedDrawingImages_t2zs9_8 figcaption{color:#72837e;margin:0 0 6px;font-size:9px}._matchedDrawingImages_t2zs9_8 figure img{object-fit:contain;background:#fff;width:100%;height:190px;display:block}._matchedDrawingEmpty_t2zs9_12{color:#9aa8a3;background:#f8faf9;place-items:center;height:190px;font-size:10px;display:grid}._matchedDrawingFacts_t2zs9_13{color:#60746e;background:#fff;border:1px solid #e0ebe6;border-radius:9px;flex-direction:column;gap:7px;padding:12px;font-size:10px;line-height:1.5;display:flex}._matchedDrawingFacts_t2zs9_13 strong{color:#39786e;margin-top:3px;font-size:10px}._matchedDrawingFacts_t2zs9_13 small{color:#899993;font-size:9px;line-height:1.5}@media (width<=760px){._matchedDrawingImages_t2zs9_8{grid-template-columns:1fr 1fr}._matchedDrawingFacts_t2zs9_13{grid-column:1/-1}}@media (width<=520px){._matchedDrawingPanel_t2zs9_2{padding:14px}._matchedDrawingHeader_t2zs9_3{display:grid}._matchedDrawingImages_t2zs9_8{grid-template-columns:1fr}._matchedDrawingFacts_t2zs9_13{grid-column:auto}._matchedDrawingImages_t2zs9_8 figure img,._matchedDrawingEmpty_t2zs9_12{height:165px}}._serviceMessage_t2zs9_19{color:#66552a;background:#fff3db;border-radius:9px;max-width:1440px;margin:12px auto;padding:14px 18px;font-size:13px;line-height:1.5}._manualCost_t2zs9_19{color:#755a20;gap:8px;margin-top:20px;font-size:12px;display:grid}._manualCost_t2zs9_19 input,._saveBox_t2zs9_19 input{background:#fff;border:1px solid #cbdad3;border-radius:7px;height:40px;padding:8px}._saveBox_t2zs9_19{gap:10px;margin-top:20px;display:grid}._saveBox_t2zs9_19 label{gap:6px;font-size:12px;display:grid}._saveBox_t2zs9_19 button,._history_t2zs9_19>button,._savedQuote_t2zs9_19>button{color:#fff;cursor:pointer;background:#227d72;border:1px solid #bcd1c8;border-radius:8px;padding:12px}._saveBox_t2zs9_19 button:disabled{opacity:.45;cursor:not-allowed}._history_t2zs9_19{background:#fff;border:1px solid #dce7e1;border-radius:14px;max-width:1440px;margin:30px auto;padding:24px}._history_t2zs9_19 h2{font-size:20px}._history_t2zs9_19 p{color:#6c8178;font-size:12px}._historyGrid_t2zs9_19{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:18px;display:grid}._historyGrid_t2zs9_19 button{text-align:left;cursor:pointer;background:#f7faf8;border:1px solid #d5e3db;border-radius:8px;gap:7px;padding:16px;display:grid}._historyGrid_t2zs9_19 span{color:#6c8178;font-size:11px}._savedQuote_t2zs9_19{border:1px solid #d5e3db;margin-top:20px;padding:20px;font-size:13px;line-height:1.8}._savedQuote_t2zs9_19>button{float:right}@media print{._topbarActions_t2zs9_1,._modeTabs_t2zs9_1,._formPanel_t2zs9_1,._saveBox_t2zs9_19,._history_t2zs9_19,._matchedDrawingPanel_t2zs9_2,._serviceMessage_t2zs9_19{display:none!important}._workspace_t2zs9_1{display:block!important}._resultPanel_t2zs9_1{width:100%!important;max-height:none!important;position:static!important;overflow:visible!important}._rows_t2zs9_1{max-height:none!important;overflow:visible!important}._page_t2zs9_1{background:#fff!important;padding:0!important}._topbar_t2zs9_1{margin-bottom:16px!important}}._icpFooter_t2zs9_21{text-align:center;color:#647b76;max-width:1420px;margin:26px auto 0;padding:14px 0;font-size:12px}._icpFooter_t2zs9_21 a{color:inherit;text-underline-offset:3px;text-decoration:underline}@media print{._icpFooter_t2zs9_21{display:none}}._page_1amie_1{color:#172c2d;min-height:100vh;font-family:var(--font-geist-sans),Arial,sans-serif;background:#f3f6f4;padding:42px 20px 70px}._shell_1amie_1{max-width:560px;margin:0 auto}._back_1amie_1{color:#227d72;margin:12px 0 22px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}._card_1amie_1{background:#fff;border:1px solid #dfe9e5;border-radius:18px;padding:34px}._eyebrow_1amie_1{color:#5f8f88;letter-spacing:.18em;font-size:10px;font-weight:750}._card_1amie_1 h1{letter-spacing:-.06em;margin:14px 0 8px;font-size:32px}._intro_1amie_1{color:#819092;margin:0 0 26px;font-size:13px;line-height:1.6}._form_1amie_1{gap:15px;display:grid}._form_1amie_1 label{color:#718180;gap:7px;font-size:11px;display:grid}._form_1amie_1 input{color:#819092;background:#f5f8f7;border:1px solid #dfe8e5;border-radius:8px;height:40px;padding:0 11px;font-size:13px}._form_1amie_1 button{color:#fff;background:#b9cfca;border:0;border-radius:8px;height:40px;font-size:12px;font-weight:700}._notice_1amie_1{color:#6e8580;background:#f5fbf8;border:1px solid #dceee8;border-radius:10px;gap:7px;margin-top:26px;padding:14px;font-size:11px;line-height:1.45;display:grid}._notice_1amie_1 strong{color:#17796d;font-size:12px}._notice_1amie_1 span:before{content:"· ";color:#42a397}@media (width<=640px){._page_1amie_1{padding:25px 13px 45px}._card_1amie_1{border-radius:13px;padding:24px 18px}}._wide_1amie_2{max-width:960px}._grid_1amie_2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}._card_1amie_1 h2{margin:28px 0 8px;font-size:19px}._form_1amie_1 p{color:#58716b;margin:2px 0;font-size:13px;line-height:1.6}._form_1amie_1 input{color:#172c2d;background:#fff}._form_1amie_1 button{cursor:pointer;background:#227d72}._form_1amie_1 button:disabled{opacity:.5;cursor:wait}._message_1amie_2{background:#fff5df;border-radius:8px;padding:12px;font-size:13px;line-height:1.6}._logout_1amie_2{color:#227d72;cursor:pointer;background:#fff;border:1px solid #c8d9d2;border-radius:7px;padding:9px 14px}._records_1amie_2{gap:12px;margin-top:16px;display:grid}._records_1amie_2 article{border:1px solid #e1e9e4;border-radius:8px;gap:6px;padding:15px;font-size:13px;display:grid}._records_1amie_2 article span{color:#58716b}@media (width<=600px){._grid_1amie_2{grid-template-columns:1fr}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-cell{display:table-cell}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:var(--font-geist-sans),Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--paper);min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#f0f4f5;flex-direction:column;flex-shrink:0;width:236px;padding:28px 18px 20px;display:flex}.brand-lockup{align-items:center;gap:11px;padding:0 10px 38px;display:flex}.brand-mark{color:#d7efeb;background:linear-gradient(135deg,#255a58,#20343e);border:1px solid #ffffff3d;border-radius:10px;place-items:center;width:36px;height:36px;font-size:17px;font-weight:800;display:grid}.brand-mark.small{border-radius:8px;width:28px;height:28px;font-size:13px}.brand-name{letter-spacing:.03em;font-size:14px;font-weight:700}.brand-caption{color:#8e9ba4;letter-spacing:.04em;margin-top:3px;font-size:10px}.sidebar-kicker,.eyebrow{color:#80909b;letter-spacing:.18em;font-size:10px;font-weight:700}.sidebar-kicker{padding:0 10px 11px}.side-nav{gap:5px;display:grid}.nav-item{color:#aeb9bf;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;min-height:39px;padding:0 11px;font-size:13px;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-dot{background:#72d6ca;border-radius:99px;width:5px;height:5px;margin-left:auto}.nav-count{color:#829099;background:#ffffff14;border-radius:99px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-divider{background:#ffffff1a;height:1px;margin:27px 10px 24px}.sidebar-note{color:#d0dbdd;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;gap:9px;margin:0 10px;padding:12px;font-size:11px;line-height:1.6;display:flex}.sidebar-note svg{color:#7ad0c5;flex-shrink:0;margin-top:2px}.sidebar-note p{margin:0}.sidebar-footer{margin-top:auto;padding:18px 10px 0}.sync-pill{color:#a9b9bd;align-items:center;gap:7px;font-size:11px;display:flex}.sync-dot,.online-dot{background:#62c7aa;border-radius:99px;width:6px;height:6px;box-shadow:0 0 0 3px #62c7aa1a}.sidebar-footnote{color:#68767f;margin-top:10px;font-size:10px}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#ffffffbf;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,4vw,56px);display:flex}.breadcrumb{color:#87919b;align-items:center;gap:8px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:600}.top-actions{align-items:center;gap:16px;display:flex}.online-label{color:#7a858d;align-items:center;gap:7px;font-size:11px;display:flex}.secondary-button,.primary-button,.refresh-button,.export-button,.manage-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;transition:all .18s;display:inline-flex}.secondary-button{border:1px solid var(--line);color:#44515b;background:#fff;padding:9px 12px;font-size:12px}.primary-button{background:var(--teal);color:#fff;padding:10px 14px;font-size:12px;font-weight:600;box-shadow:0 5px 12px #0f7c7821}.primary-button.full{width:100%;min-height:42px}.refresh-button{color:var(--teal);background:var(--teal-soft);padding:8px 10px;font-size:11px}.content-wrap{max-width:1480px;margin:0 auto;padding:44px clamp(20px,4vw,56px) 50px}.page-intro{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px;display:flex}.page-intro h1{letter-spacing:-.055em;margin:9px 0 7px;font-size:clamp(28px,3vw,38px);line-height:1.1}.page-intro p{color:var(--muted);margin:0;font-size:13px}.project-meta{color:#72808a;text-align:right;grid-template-columns:auto auto;align-items:center;gap:8px 14px;padding-bottom:3px;font-size:11px;display:grid}.project-meta strong{color:var(--ink);letter-spacing:.06em;font-size:13px}.workspace-grid{grid-template-columns:minmax(0,1.47fr) minmax(320px,.76fr);align-items:start;gap:22px;display:grid}.quote-panel,.summary-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.panel-heading,.summary-top,.section-title{justify-content:space-between;align-items:flex-start;display:flex}.panel-heading h2,.summary-top h2{letter-spacing:-.025em;margin:0;font-size:17px}.panel-heading h2 span{color:var(--teal);padding-left:4px;font-size:12px}.panel-heading p{color:#909aa2;margin:5px 0 0;font-size:11px}.line-list{gap:12px;margin-top:23px;display:grid}.line-card{border:1px solid var(--line);border-radius:11px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.line-card.selected{border-color:#85c2bb;box-shadow:0 7px 18px #26504e14}.line-card-head{cursor:pointer;align-items:center;gap:13px;padding:14px 15px;display:flex}.line-index{color:#a0aab0;letter-spacing:.09em;align-self:flex-start;padding-top:3px;font-size:10px;font-weight:700}.line-title-wrap{flex:1;min-width:0}.line-name-input{color:var(--ink);background:0 0;border:0;outline:none;width:100%;padding:0;font-size:14px;font-weight:650}.line-name-input:focus{text-underline-offset:3px;-webkit-text-decoration:underline #9bcac4;text-decoration:underline #9bcac4}.line-subtitle{align-items:center;gap:8px;margin-top:6px;font-size:10px;display:flex}.color-chip{color:#849098;align-items:center;gap:5px;display:inline-flex}.color-dot{border:1px solid #0000001f;border-radius:50%;width:9px;height:9px;display:inline-block}.line-total{text-align:right;min-width:110px;margin-left:auto}.line-total div{letter-spacing:-.02em;font-size:14px;font-weight:700}.line-total span{color:#98a3aa;margin-top:4px;font-size:9px;display:block}.ghost-icon{color:#a1adb2;background:0 0;border:0;place-items:center;padding:4px;display:grid}.ghost-icon:hover{color:#c45c5c}.expand-chevron{color:#9ca8ad;transition:transform .2s}.expand-chevron.open{color:var(--teal);transform:rotate(180deg)}.line-editor{border-top:1px solid #edf0f2;padding:0 15px 15px 53px}.field-grid{gap:10px;margin-top:13px;display:grid}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field{color:#7c8991;gap:6px;font-size:10px;display:grid}.field input,.field select,.admin-modal input,.admin-modal select{width:100%;height:34px;color:var(--ink);background:#fbfcfc;border:1px solid #dfe5e8;border-radius:7px;outline:none;padding:0 9px;font-size:12px}.field input:focus,.field select:focus,.admin-modal input:focus,.admin-modal select:focus{border-color:#83bcb6;box-shadow:0 0 0 3px #0f7c7817}.field-section-label{color:#6f7c84;letter-spacing:.03em;margin-top:20px;font-size:10px;font-weight:700}.field-section-label span{color:#adb5ba;margin-left:4px;font-weight:400}.toggle-field .toggle{color:#708089;background:#fbfcfc;border:1px solid #dfe5e8;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 8px;font-size:11px;display:flex}.toggle span{background:#ccd4d8;border-radius:99px;width:21px;height:12px;display:inline-block;position:relative}.toggle span:after{content:"";background:#fff;border-radius:99px;width:8px;height:8px;transition:all .15s;position:absolute;top:2px;left:2px}.toggle.on{color:var(--teal-deep);background:#eff9f7;border-color:#9acbc4}.toggle.on span{background:var(--teal)}.toggle.on span:after{left:11px}.sensor-options{margin-top:3px;padding-top:1px}.sensor-subrow{flex-wrap:wrap;align-items:end;gap:17px;margin-top:13px;display:flex}.checkbox-row{color:#53616a;white-space:nowrap;align-items:center;gap:7px;height:34px;font-size:11px;display:flex}.checkbox-row input{display:none}.checkmark{color:#fff;border:1px solid #c7d3d5;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.checkbox-row input:checked+.checkmark{background:var(--teal);border-color:var(--teal)}.checkbox-row em{color:#a0aaaf;margin-left:2px;font-size:10px;font-style:normal}.inline-field{width:132px}.line-note{color:#98a3a8;flex-wrap:wrap;align-items:center;gap:7px;padding-top:14px;font-size:10px;display:flex}.line-note svg{color:#81b4af;flex-shrink:0}.line-note button{color:var(--teal);background:0 0;border:0;align-items:center;gap:3px;margin-left:auto;font-size:10px;display:inline-flex}.cutting-summary{background:#fbfdfd;border:1px solid #e7eded;border-radius:8px;margin:12px 0 0;font-size:10px;overflow:hidden}.cutting-head,.cutting-row{grid-template-columns:1.5fr 1.2fr .55fr;gap:9px;padding:8px 10px;display:grid}.cutting-row{color:#66747c;border-top:1px solid #edf1f1}.cutting-row b{color:var(--teal-deep);margin-left:4px;font-weight:600}.add-line-button{color:var(--teal);background:#fbfdfd;border:1px dashed #cbd9d9;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:40px;margin:14px 0 18px;font-size:12px;display:flex}.recognition-card{background:#f6f8f8;border-radius:9px;align-items:center;gap:11px;min-height:62px;padding:12px 13px;display:flex;position:relative}.recognition-icon{width:31px;height:31px;color:var(--teal);background:#e5f2f0;border-radius:8px;place-items:center;display:grid}.recognition-copy{gap:3px;min-width:0;display:grid}.recognition-copy strong{color:#51616a;font-size:11px}.recognition-copy span{color:#9aa6ab;font-size:10px}.upload-button{color:var(--teal-deep);white-space:nowrap;background:#fff;border:1px solid #cbdad9;border-radius:7px;margin-left:auto;padding:7px 10px;font-size:10px}.upload-button input{display:none}.upload-status{color:var(--teal);align-items:center;gap:3px;font-size:9px;display:flex;position:absolute;bottom:-19px;right:13px}.summary-panel{padding:24px;position:sticky;top:20px}.summary-top{align-items:center}.summary-top h2{margin-top:8px;font-size:20px}.grand-total{border-bottom:1px solid var(--line);padding:26px 0 20px}.grand-total span{color:#7f8d94;font-size:11px;display:block}.grand-total strong{color:var(--teal-deep);letter-spacing:-.07em;margin:8px 0;font-size:40px;line-height:1.1;display:block}.grand-total small{color:#a4adb2;font-size:10px}.summary-breakdown{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:10px;padding:17px 0 20px;display:grid}.summary-breakdown div{gap:5px;display:grid}.summary-breakdown span{color:#9ba5aa;font-size:10px}.summary-breakdown strong{letter-spacing:-.02em;font-size:14px}.summary-section{border-bottom:1px solid var(--line);padding:18px 0}.section-title{color:#607079;align-items:center;font-size:11px;font-weight:600}.mini-label{color:#9da8ad;font-size:10px;font-weight:400}.cost-bars{gap:11px;margin-top:15px;display:grid}.cost-bar-row{gap:6px;display:grid}.cost-bar-row>div:first-child{color:#9da8ad;justify-content:space-between;font-size:10px;display:flex}.bar-label{color:#63727a}.bar-track,.efficiency-track{background:#eef1f2;border-radius:99px;height:5px;overflow:hidden}.bar-track i,.efficiency-track i{border-radius:inherit;height:100%;display:block}.bar-material{background:#2d938a}.bar-processing{background:#6e9fa5}.bar-hardware{background:#d7a062}.efficiency-value{color:var(--teal);font-size:17px}.efficiency-track{background:#e7f0ef;height:8px;margin-top:14px}.efficiency-meta{color:#9da8ad;justify-content:space-between;margin-top:9px;font-size:10px;display:flex}.efficiency-meta b{color:#5c6a72;font-weight:600}.price-source{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 0;display:flex}.source-icon{color:#be7d2d;background:#f9efe1;border-radius:8px;place-items:center;width:29px;height:29px;font-size:13px;font-weight:700;display:grid}.price-source div:nth-child(2){flex:1;gap:3px;display:grid}.price-source strong{color:#5e6c74;font-size:11px}.price-source span{color:#a5aeb2;font-size:9px}.price-source>b{color:#95601e;font-size:14px}.price-source small{color:#aa9a87;font-size:9px;font-weight:400}.summary-actions{grid-template-columns:1fr 1fr;gap:8px;padding-top:18px;display:grid}.export-button{background:var(--teal);color:#fff;min-height:37px;font-size:11px;font-weight:600}.export-button:hover{background:var(--teal-deep)}.export-button.subtle{color:var(--teal-deep);background:#f2f6f6}.summary-footnote{color:#a5afb3;justify-content:center;align-items:center;gap:5px;padding-top:14px;font-size:9px;display:flex}.settings-strip{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:25px;min-height:72px;margin-top:22px;padding:14px 18px;display:flex}.settings-intro{align-items:center;gap:10px;min-width:180px;display:flex}.settings-icon{width:32px;height:32px;color:var(--teal);background:#edf6f5;border-radius:8px;place-items:center;display:grid}.settings-intro div:last-child{gap:3px;display:grid}.settings-intro strong{font-size:11px}.settings-intro span{color:#a0aaaf;font-size:9px}.settings-fields{flex:1;align-items:center;gap:13px;display:flex}.settings-fields label{color:#859198;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.settings-fields input{width:72px;height:31px;color:var(--ink);background:#fbfcfc;border:1px solid #dfe5e8;border-radius:6px;outline:none;padding:0 7px;font-size:11px}.settings-fields input:focus{border-color:#83bcb6}.settings-fields small{color:#b0b8bc;font-size:9px}.manage-button{color:var(--teal);white-space:nowrap;background:0 0;margin-left:auto;font-size:10px}.mobile-brand,.mobile-menu{display:none}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14202561;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:#fff;border-radius:16px;width:min(420px,100%);padding:28px;position:relative;box-shadow:0 24px 70px #121f2438}.admin-wide{width:min(630px,100%)}.modal-close{color:#9aa5aa;background:0 0;border:0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--ink);background:#f4f6f7}.admin-icon{width:38px;height:38px;color:var(--teal);background:var(--teal-soft);border-radius:10px;place-items:center;margin-bottom:18px;display:grid}.admin-modal h2{letter-spacing:-.04em;margin:8px 0;font-size:22px}.admin-modal p{color:#7e8a91;margin:0 0 20px;font-size:12px;line-height:1.6}.admin-modal>input{height:42px;margin-bottom:12px}.admin-safe-note{color:#9aa5aa;justify-content:center;align-items:center;gap:5px;margin-top:15px;font-size:10px;display:flex}.admin-setting-grid{grid-template-columns:1fr 1fr;gap:11px;margin:20px 0;display:grid}.admin-setting-grid label{color:#7e8a91;gap:6px;font-size:10px;display:grid}.admin-table{border:1px solid var(--line);border-radius:9px;margin-bottom:18px;overflow:hidden}.admin-table>div{color:#6b7880;grid-template-columns:1.2fr 1fr .55fr;gap:8px;padding:9px 11px;font-size:10px;display:grid}.admin-table>div:first-child{color:#9aa5aa;background:#f6f8f8}.admin-table>div+div{border-top:1px solid #edf0f1}.admin-table .status-live{color:var(--teal)}.admin-table span:first-child{align-items:center;gap:7px;display:flex}.toast{z-index:30;color:#e9f6f4;background:#1f2d31;border-radius:99px;align-items:center;gap:7px;padding:10px 14px;font-size:11px;display:flex;position:fixed;bottom:27px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #121f2433}@media (width<=1080px){.sidebar{width:200px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.summary-panel{position:static}.settings-strip{flex-wrap:wrap}.settings-fields{order:3;width:100%}.manage-button{margin-left:auto}}@media (width<=720px){.sidebar{display:none}.topbar{height:58px;padding:0 16px}.mobile-brand{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.breadcrumb,.online-label{display:none}.mobile-menu{display:grid}.top-actions{gap:7px}.secondary-button{padding:8px 9px;font-size:10px}.content-wrap{padding:27px 14px 36px}.page-intro{margin-bottom:25px;display:block}.page-intro h1{font-size:30px}.project-meta{text-align:left;flex-wrap:wrap;gap:6px 10px;margin-top:18px;display:flex}.workspace-grid{gap:14px}.quote-panel,.summary-panel{border-radius:12px;padding:16px}.panel-heading{align-items:center}.panel-heading h2{font-size:15px}.panel-heading p{max-width:180px;line-height:1.5}.line-card-head{gap:9px;padding:13px 11px}.line-index{display:none}.line-total{min-width:75px}.line-total div{font-size:12px}.line-total span{display:none}.line-editor{padding:0 11px 13px}.field-grid.three,.field-grid.four{grid-template-columns:1fr 1fr}.field-grid.three .field:first-child{grid-column:span 2}.sensor-subrow{gap:8px}.checkbox-row{width:100%}.inline-field{width:calc(50% - 4px)}.recognition-copy span{line-height:1.4}.upload-button{padding:7px 8px}.grand-total strong{font-size:34px}.settings-strip{gap:13px;padding:14px}.settings-intro{min-width:100%}.settings-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.settings-fields label{justify-content:space-between}.manage-button{margin-left:0}.admin-setting-grid{grid-template-columns:1fr}.cutting-head,.cutting-row{grid-template-columns:1.2fr 1fr .6fr;font-size:9px}}@media print{.sidebar,.topbar,.page-intro,.settings-strip,.recognition-card,.add-line-button,.summary-actions,.summary-footnote,.ghost-icon,.expand-chevron{display:none!important}.app-shell,.main-content{background:#fff}.content-wrap{max-width:none;padding:20px}.workspace-grid{grid-template-columns:1fr 340px;display:grid}.quote-panel,.summary-panel{box-shadow:none;border:1px solid #d7dfe2}.line-editor{display:none}.line-card-head{padding:9px}.summary-panel{position:static}.grand-total strong{font-size:30px}}.project-fields{grid-template-columns:1fr 1.45fr 1fr;gap:10px;max-width:860px;margin-top:19px;display:grid}.project-fields label{color:#7c8991;gap:6px;font-size:10px;display:grid}.project-fields input{height:34px;color:var(--ink);background:#fff;border:1px solid #dfe5e8;border-radius:7px;outline:none;padding:0 9px;font-size:12px}.project-fields input:focus{border-color:#83bcb6;box-shadow:0 0 0 3px #0f7c7817}.pricing-mode{color:#7f8b91;background:#f6f8f8;border-radius:8px;align-items:center;gap:7px;width:max-content;max-width:100%;margin-top:17px;padding:7px;font-size:10px;display:flex}.pricing-mode button{color:#829097;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 9px;font-size:10px}.pricing-mode button.active{color:var(--teal-deep);background:#fff;font-weight:700;box-shadow:0 2px 7px #14202512}@media (width<=720px){.project-fields{grid-template-columns:1fr;max-width:none}.pricing-mode{justify-content:space-between;width:100%}.pricing-mode button{padding:7px 6px}}.primary-button:disabled{opacity:.58;cursor:wait;transform:none}.records-page{min-height:520px}.records-intro{align-items:center;margin-bottom:22px}.records-toolbar{border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;color:#859198;background:#fbfcfc;border-bottom:0;justify-content:space-between;align-items:center;padding:13px 17px;font-size:11px;display:flex}.record-list{gap:10px;display:grid}.record-card{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;transition:border-color .18s,box-shadow .18s;display:flex}.record-card-main{gap:6px;min-width:0;display:grid}.record-no{color:var(--teal);letter-spacing:.08em;font-size:10px;font-weight:700}.record-card-main strong{letter-spacing:-.02em;font-size:15px}.record-card-main span{color:#8e9aa0;font-size:11px}.record-card-meta{white-space:nowrap;grid-template-columns:auto auto auto;align-items:center;gap:14px;display:grid}.record-card-meta>span{color:#8e9aa0;font-size:10px}.record-card-meta strong{font-size:15px}.record-card-meta small{color:var(--teal);align-items:center;gap:3px;font-size:10px;display:flex}.records-empty{border-radius:0 0 var(--radius) var(--radius);color:#95a0a5;background:#fff;border:1px dashed #cbd9d9;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:290px;font-size:11px;display:flex}.records-empty strong{color:#5d6a72;font-size:15px}.records-empty span{font-size:11px}.admin-wide{max-height:calc(100vh - 40px);overflow:auto}.rule-explain{grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0;padding-bottom:2px;display:grid}.rule-explain>div{background:#f8fbfb;border:1px solid #e5ecec;border-radius:9px;gap:6px;padding:11px;display:grid}.rule-explain strong{color:#4e6569;font-size:11px}.rule-explain span{color:#7f8e92;font-size:10px;line-height:1.6}.admin-setting-grid small{color:#a0aaaf;font-size:9px;font-weight:400}.admin-rule-section{border-top:1px solid var(--line);padding:19px 0 2px}.admin-section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.admin-section-heading strong{color:#53666b;font-size:12px}.admin-section-heading span{color:#a0aaaf;font-size:9px}.admin-color-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.admin-color-grid label{color:#6f7c82;border:1px solid #e8eded;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:10px;display:flex}.admin-color-grid label>span{white-space:nowrap;align-items:center;gap:6px;display:flex}.admin-color-grid input{width:64px;height:28px;color:var(--ink);border:1px solid #dfe5e8;border-radius:5px;padding:0 6px;font-size:11px}.admin-hardware-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-hardware-grid label{color:#627278;border:1px solid #e8eded;border-radius:7px;grid-template-columns:1fr 70px 20px;align-items:center;gap:6px;padding:8px;font-size:10px;display:grid}.admin-hardware-grid label>span{gap:3px;display:grid}.admin-hardware-grid small{color:#a0aaaf;font-size:9px;line-height:1.35}.admin-hardware-grid input,.admin-hardware-grid select{height:28px;color:var(--ink);border:1px solid #dfe5e8;border-radius:5px;min-width:0;padding:0 6px;font-size:11px}.admin-hardware-grid em{color:#a0aaaf;font-size:9px;font-style:normal}.admin-profile-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.admin-profile-table>div{color:#6b7880;grid-template-columns:1fr 100px 90px;align-items:center;gap:8px;padding:7px 9px;font-size:10px;display:grid}.admin-profile-table>div:first-child{color:#9aa5aa;background:#f6f8f8}.admin-profile-table>div+div{border-top:1px solid #edf0f1}.admin-profile-table input{width:100%;height:27px;color:var(--ink);border:1px solid #dfe5e8;border-radius:5px;min-width:0;padding:0 6px;font-size:10px}.door-rule-list{gap:8px;display:grid}.door-rule-list>div{border:1px solid #e8eded;border-radius:7px;grid-template-columns:125px 1fr;gap:10px;padding:9px 10px;display:grid}.door-rule-list strong{color:#52686b;font-size:10px}.door-rule-list span{color:#7e8c91;font-size:10px;line-height:1.6}.admin-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:19px;padding-top:15px;display:flex}@media (width<=720px){.record-card{align-items:flex-start;padding:14px}.record-card-meta{grid-template-columns:auto auto;gap:7px 12px}.record-card-meta small{grid-column:span 2}.record-card-meta strong{font-size:13px}.rule-explain,.admin-color-grid,.admin-hardware-grid{grid-template-columns:1fr}.admin-profile-table>div{grid-template-columns:1fr 74px 66px}.door-rule-list>div{grid-template-columns:1fr}.admin-section-heading{gap:4px;display:grid}}.settings-strip{flex-wrap:wrap;align-items:center;min-width:0}.settings-intro{flex:210px;min-width:0}.settings-intro span{line-height:1.45}.settings-fields{flex-wrap:wrap;flex:520px;gap:10px 13px;min-width:0;display:flex}.web-discount-total{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.web-discount-total span{color:#a06b1f;font-size:11px;font-weight:600;display:block}.web-discount-total strong{color:var(--teal-deep);margin:5px 0 0;font-size:28px;line-height:1.1;display:block}.grand-total small{margin-top:12px;display:block}.settings-fields label{flex:145px;min-width:0}.settings-fields input{flex:0 72px;min-width:0}@media (width<=1080px){.settings-fields{min-width:0}}@media (width<=720px){.settings-fields{width:100%;min-width:0}.settings-fields label{white-space:normal;grid-template-columns:minmax(0,1fr) 72px auto;align-items:center;min-width:0;display:grid}.settings-fields input{width:72px}.password-change-grid{grid-template-columns:1fr}.password-change-actions{flex-direction:column;align-items:flex-start}}@media (width<=520px){.settings-fields{grid-template-columns:1fr}.settings-fields label{grid-template-columns:minmax(0,1fr) 72px auto}}.project-fields{grid-template-columns:1fr 1.45fr 1fr}@media (width<=720px){.project-fields{grid-template-columns:1fr}}.password-change{border-top:1px solid var(--line);padding:19px 0 2px}.password-change-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.password-change-grid label{color:#7e8a91;gap:6px;font-size:10px;display:grid}.password-change-grid small{color:#a0aaaf;font-size:9px}.password-change-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.password-change-note{color:#8d999e;align-items:center;gap:5px;font-size:10px;line-height:1.45;display:flex}.records-toolbar{flex-wrap:wrap;gap:10px}.record-search{color:#8e9aa0;flex:1;align-items:center;gap:7px;min-width:220px;max-width:420px;display:flex}.record-search input{width:100%;height:32px;color:var(--ink);background:#fff;border:1px solid #dfe5e8;border-radius:7px;outline:none;padding:0 9px;font-size:11px}.record-search input:focus{border-color:#83bcb6;box-shadow:0 0 0 3px #0f7c7817}.record-card-open{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:0;display:flex}.record-delete{color:#ba7070;white-space:nowrap;background:#fff8f8;border:1px solid #efdada;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:10px;display:inline-flex}.record-delete:hover{color:#a85454;background:#fff1f1;border-color:#d99c9c}.record-delete:disabled{opacity:.6;cursor:wait}.search-empty{border-radius:11px;min-height:210px}@media (width<=720px){.records-toolbar{align-items:center}.record-search{flex-basis:100%;order:3;max-width:none}.record-card{gap:10px}.record-card-open{flex-direction:column;align-items:flex-start;gap:10px}.record-card-meta{width:100%}.record-delete{padding:0 8px}}.field-hint{color:#8b9692;margin-top:8px;font-size:10px;line-height:1.5}.admin-profile-table>div{grid-template-columns:minmax(160px,1fr) 76px 76px 76px 68px}.admin-profile-table>div>span{gap:2px;min-width:0;display:grid}.admin-profile-table>div>span small{color:#b06b45;font-size:9px;line-height:1.35}.profile-data-note{color:#a06b45;margin:10px 0 0;font-size:10px;line-height:1.55}@media (width<=720px){.admin-profile-table>div{grid-template-columns:minmax(0,1fr) 58px 58px 58px 54px;font-size:8px}.admin-profile-table>div>span small{font-size:8px}}.skip-link{z-index:50;color:#fff;background:var(--teal);border-radius:6px;padding:9px 12px;transition:transform .2s;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:root{--ink:#17211f;--muted:#66716e;--line:#dde3e0;--paper:#f6f7f5;--teal:#155f5a;--teal-deep:#0f4e4a;--teal-soft:#e7f0ee;--sidebar:#17211f;--radius:12px}.drawing-recognition{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;margin-top:18px;padding:18px}.drawing-heading{color:var(--teal);justify-content:space-between;gap:15px;display:flex}.drawing-heading h3{color:var(--ink);letter-spacing:-.02em;margin:5px 0 4px;font-size:15px}.drawing-heading p{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.drawing-upload-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.drawing-upload-row .upload-button{cursor:pointer;align-items:center;gap:5px;margin:0;display:inline-flex}.drawing-page-select{color:#71817b;align-items:center;gap:5px;font-size:10px;display:inline-flex}.drawing-page-select select{color:#40524c;background:#fff;border:1px solid #dfe5e8;border-radius:6px;height:31px;padding:0 7px;font-size:10px}.drawing-ai-button{min-height:31px;padding:6px 10px;font-size:10px}.drawing-file-name{color:#84918d;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.drawing-cost-note{color:#8d9895;align-items:center;gap:5px;margin-top:10px;font-size:9px;line-height:1.5;display:flex}.drawing-notice{color:#9c6a25;background:#fff7e9;border-radius:6px;align-items:flex-start;gap:6px;margin-top:10px;padding:8px 9px;font-size:10px;line-height:1.5;display:flex}.drawing-usage{color:#71807b;margin-top:7px;font-size:9px}.drawing-quality{color:#71807b;margin-top:6px;font-size:9px;line-height:1.5}.drawing-feedback{align-items:center;gap:8px;display:flex}.drawing-feedback .text-button{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;text-decoration:underline}.drawing-observation{background:#f5faf8;border:1px solid #dbe9e5;border-radius:8px;margin-top:12px;padding:10px 11px}.drawing-observation-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.drawing-observation-head strong{color:#285f5b;font-size:11px}.drawing-observation-head span{color:#82928e;font-size:9px}.drawing-observation-grid{grid-template-columns:1.7fr .7fr .7fr 1.2fr;gap:8px;margin-top:9px;display:grid}.drawing-observation-grid>div{gap:3px;min-width:0;display:grid}.drawing-observation-grid span{color:#8b9a96;font-size:9px}.drawing-observation-grid strong{color:#405d58;overflow-wrap:anywhere;font-size:10px;line-height:1.45}.drawing-observation-uncertain{color:#a56b32;margin-top:8px;font-size:9px;line-height:1.5}.drawing-workbench{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:15px;margin-top:15px;display:grid}.drawing-match-preview{background:#f5fbf8;border:1px solid #d7e9e4;border-radius:9px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:14px;padding:12px;display:grid}.drawing-match-preview-copy{gap:5px;min-width:0;display:grid}.drawing-match-preview-copy>span{color:#43877d;letter-spacing:.08em;font-size:9px;font-weight:750}.drawing-match-preview-copy>strong{color:#244843;font-size:12px;line-height:1.45}.drawing-match-preview-copy>small{color:#81918d;font-size:10px;line-height:1.5}.drawing-match-preview>img{object-fit:contain;background:#fff;border:1px solid #e2ebe8;border-radius:7px;width:100%;max-height:210px}.drawing-geometry-help{color:#607a72;background:#f6faf8;border:1px solid #dcebe6;border-radius:6px;margin:8px 0 10px;padding:8px 10px;font-size:10px;line-height:1.55}.drawing-preview-pair{grid-template-columns:1fr 1fr;gap:8px;min-width:0;display:grid}.drawing-panel-label{color:#7b8884;margin:0 0 6px;font-size:9px;display:block}.drawing-original,.drawing-svg{aspect-ratio:1.28;border:1px solid var(--line);color:#a2aca9;text-align:center;background:#fff;border-radius:7px;place-items:center;font-size:10px;line-height:1.6;display:grid;overflow:hidden}.drawing-original img{object-fit:contain;width:100%;height:100%}.drawing-svg svg{width:100%;height:100%;display:block}.drawing-preview-trigger{appearance:none;cursor:zoom-in;text-align:center;width:100%;font:inherit;color:inherit;padding:0}.drawing-preview-trigger:disabled{cursor:default}.drawing-preview-trigger:not(:disabled):hover{border-color:#83bcb6;box-shadow:0 0 0 3px #0f7c7817}.drawing-lightbox{z-index:60;background:#15211fcf;border:0;justify-content:center;align-items:center;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:24px;display:flex;position:fixed;inset:0}.drawing-lightbox-content{cursor:default;place-items:center;max-width:min(94vw,1400px);max-height:90vh;display:grid}.drawing-lightbox-content img,.drawing-lightbox-content svg{object-fit:contain;background:#fff;border-radius:10px;width:auto;max-width:92vw;height:auto;max-height:86vh;box-shadow:0 24px 90px #0008}.drawing-lightbox-content>div{background:#fff;border-radius:10px;max-width:92vw;max-height:86vh;padding:16px;overflow:auto;box-shadow:0 24px 90px #0008}.drawing-lightbox-content>div svg{width:min(88vw,1100px);height:auto;max-height:80vh;display:block}.drawing-lightbox-close{color:#fff;cursor:pointer;background:#ffffff18;border:1px solid #fff6;border-radius:50%;width:38px;height:38px;font-size:28px;line-height:1;position:fixed;top:16px;right:20px}.drawing-editor{min-width:0}.drawing-editor .field-grid{margin-top:10px}.drawing-editor .field.field-invalid input,.drawing-editor .field.field-invalid select{background:#fff8f8;border-color:#cf6262;box-shadow:0 0 0 2px #cf62621a}.drawing-editor .field.field-invalid input:focus,.drawing-editor .field.field-invalid select:focus{border-color:#bd4545;box-shadow:0 0 0 3px #cf62622b}.field-error-text{color:#b64c4c;font-size:9px;line-height:1.35}.drawing-leaf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.drawing-leaf-field{gap:7px;min-width:0;display:grid}.drawing-leaf-field .field{min-width:0}.drawing-meta-grid{margin-top:10px}.drawing-topology{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.drawing-topology span{color:#52716b;background:#edf5f3;border-radius:4px;padding:4px 6px;font-size:9px}.drawing-errors{color:#b64c4c;background:#fff7f7;border:1px solid #edcaca;border-radius:6px;gap:4px;margin-top:10px;padding:8px 9px;font-size:10px;display:grid}.drawing-errors div{align-items:flex-start;gap:5px;line-height:1.4;display:flex}.drawing-errors small{color:#8c5c5c;margin-left:17px;font-size:9px;line-height:1.5}.drawing-uncertain{color:#b64c4c;align-items:flex-start;gap:5px;margin-top:8px;font-size:10px;line-height:1.4;display:flex}.drawing-acknowledge{color:#7d642c;cursor:pointer;background:#fff8e9;border:1px solid #e2c98f;border-radius:6px;align-items:flex-start;gap:7px;margin-top:9px;padding:8px 9px;font-size:10px;line-height:1.45;display:flex}.drawing-acknowledge input{accent-color:var(--teal);flex-shrink:0;margin:2px 0 0}.drawing-confirm{width:100%;min-height:37px;margin-top:12px;font-size:10px}.drawing-confirm.invalid{box-shadow:none;background:#a9793e}.drawing-confirm-hint{color:#b64c4c;margin-top:6px;font-size:10px;line-height:1.4}.drawing-confirm:disabled{cursor:not-allowed}.spin{animation:.8s linear infinite drawing-spin}@keyframes drawing-spin{to{transform:rotate(360deg)}}@media (width<=900px){.drawing-workbench{grid-template-columns:1fr}.drawing-preview-pair{max-width:620px}}@media (width<=640px){.drawing-match-preview{grid-template-columns:1fr}.drawing-match-preview>img{max-height:190px}}@media (width<=720px){.drawing-observation-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.drawing-recognition{padding:13px}.drawing-preview-pair{grid-template-columns:1fr}.drawing-leaf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.45}button,input,select{font-variant-numeric:tabular-nums}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #155f5a42}.app-shell{background:var(--paper);min-height:100dvh}.sidebar{background:var(--sidebar);border-right:1px solid #0e302d;width:224px;padding:30px 16px 22px}.brand-lockup{padding:0 10px 42px}.brand-mark{background:#21423f;border-color:#9ac3bd3d;border-radius:8px}.brand-caption{color:#9cafaa}.sidebar-kicker,.eyebrow{color:#788783;letter-spacing:.16em;font-size:9px}.nav-item{color:#aebbb7;border-radius:7px;min-height:42px}.nav-item:hover{background:#ffffff10}.nav-item.active{color:#f1fbf8;background:#28514c}.sidebar-note{background:#ffffff08;border-color:#d7efeb1d;border-radius:8px}.sync-dot,.online-dot{background:#8bc7bd;box-shadow:0 0 0 3px #8bc7bd1c}.topbar{border-color:var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f7f5e8;height:64px;padding:0 clamp(20px,4vw,56px)}.breadcrumb{color:var(--muted)}.breadcrumb strong{color:var(--ink)}.content-wrap{width:100%;max-width:1440px;padding:48px clamp(20px,4vw,56px) 64px}.page-intro{margin-bottom:30px}.page-intro h1{color:var(--ink);letter-spacing:-.065em;text-wrap:balance;margin:10px 0 8px;font-size:clamp(30px,3vw,42px);font-weight:650;line-height:1.05}.page-intro p{max-width:55ch;color:var(--muted);line-height:1.6}.project-meta{color:var(--muted)}.project-meta strong{color:var(--ink)}.meta-label{color:#8b9692}.workspace-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.78fr);gap:24px}.quote-panel,.summary-panel{border-color:var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #17211f08}.quote-panel{padding:28px}.panel-heading h2,.summary-top h2{color:var(--ink);font-weight:650}.panel-heading h2 span{color:var(--teal)}.panel-heading p{color:var(--muted);line-height:1.55}.primary-button,.secondary-button,.refresh-button,.export-button,.manage-button{border-radius:7px;min-height:40px;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}.primary-button{background:var(--teal);box-shadow:0 5px 14px #155f5a20}.primary-button:hover{background:var(--teal-deep);transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.export-button:active,.refresh-button:active{transform:translateY(1px)scale(.985)}.secondary-button{border-color:var(--line);color:var(--ink);background:#fff}.secondary-button:hover{background:#fbfcfb;border-color:#a9bbb7}.refresh-button{color:var(--teal);background:var(--teal-soft)}.refresh-button:hover{background:#d8e9e6}.line-list{gap:10px;margin-top:24px}.line-card{border-color:var(--line);box-shadow:none;border-radius:9px}.line-card:hover{border-color:#a7c5c0}.line-card.selected{box-shadow:none;border-color:#0000}.four-pillar-style-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.four-pillar-style-option{color:var(--ink);text-align:left;cursor:pointer;background:#fbfdfc;border:1px solid #dfe8e6;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:3px 10px;padding:9px;display:grid}.four-pillar-style-option:hover{background:#f4faf8;border-color:#9bcac4}.four-pillar-style-option.selected{background:#eef8f5;border-color:#5eaaa1;box-shadow:0 0 0 2px #5eaaa11c}.four-pillar-style-option img{object-fit:contain;background:#fff;border:1px solid #e5ecea;border-radius:6px;grid-row:1/span 2;width:88px;height:58px}.four-pillar-style-option span{min-width:0;font-size:11px;font-weight:700;line-height:1.35}.four-pillar-style-option small{color:#879692;min-width:0;font-size:9px;line-height:1.35}@media (width<=720px){.four-pillar-style-picker{grid-template-columns:1fr}.four-pillar-style-option{grid-template-columns:96px minmax(0,1fr)}.four-pillar-style-option img{width:96px;height:64px}}.line-card-head{min-height:76px;padding:15px 16px}.line-name-input{color:var(--ink);font-size:15px;font-weight:650}.line-name-input:focus{-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.line-subtitle{margin-top:7px}.type-chip{color:var(--teal-deep);background:var(--teal-soft);border-radius:4px;padding:3px 7px}.color-chip{color:var(--muted)}.line-total div{color:var(--ink);font-size:15px}.line-total span,.line-index{color:#8b9692}.ghost-icon{border-radius:6px;min-width:36px;min-height:36px}.ghost-icon:hover{color:#9d5a5a;background:#fbefef}.line-editor{border-color:var(--line)}.field,.settings-fields label,.project-fields label{color:var(--muted)}.field input,.field select,.admin-modal input,.admin-modal select,.project-fields input,.settings-fields input{border-color:var(--line);color:var(--ink);background:#fbfcfb;border-radius:6px}.field input:focus,.field select:focus,.admin-modal input:focus,.admin-modal select:focus,.project-fields input:focus,.settings-fields input:focus,.record-search input:focus{border-color:#6eaaa2;box-shadow:0 0 0 3px #155f5a20}.field-section-label{color:var(--ink)}.field-section-label span,.mini-label{color:#8b9692}.toggle-field .toggle{border-color:var(--line);min-height:40px;color:var(--muted);background:#fbfcfb}.toggle.on{background:var(--teal-soft);color:var(--teal-deep);border-color:#8bbdb6}.checkmark{border-color:#aebbb7}.checkbox-row{min-height:40px}.line-note{color:#8b9692;line-height:1.5}.line-note svg{color:#57978e}.line-note button{min-height:32px;color:var(--teal)}.cutting-summary{border-color:var(--line);background:#fbfcfb}.cutting-head{color:#82908c;background:#eef4f2}.cutting-row{color:var(--muted);border-color:#e8eeeb}.cutting-row b{color:var(--teal)}.add-line-button{min-height:44px;color:var(--teal);background:#fbfcfb;border-color:#a9c7c2;border-radius:7px;margin:14px 0 20px}.add-line-button:hover{background:var(--teal-soft);border-color:#6eaaa2}.recognition-card{border:1px solid var(--line);background:#eef3f1;border-radius:8px}.recognition-icon{color:var(--teal);background:#dcebe8;border-radius:7px}.recognition-copy strong{color:var(--ink)}.recognition-copy span{color:var(--muted);line-height:1.45}.upload-button{min-height:36px;color:var(--teal-deep);border-color:#aac4bf;border-radius:6px}.summary-panel{padding:26px;top:20px}.summary-top h2{letter-spacing:-.04em;margin-top:8px;font-size:22px}.grand-total{border-color:var(--line);padding:28px 0 22px}.grand-total span,.summary-breakdown span,.cost-bar-row>div:first-child,.efficiency-meta,.price-source span{color:var(--muted)}.grand-total strong{color:var(--teal-deep);letter-spacing:-.07em;font-size:42px}.grand-total small{color:#8b9692}.summary-breakdown,.summary-section,.price-source{border-color:var(--line)}.summary-breakdown strong,.section-title{color:var(--ink)}.bar-track{background:#e7eeeb}.bar-material,.bar-processing,.bar-hardware{background:var(--teal)}.bar-processing{opacity:.72}.bar-hardware{opacity:.45}.efficiency-track{background:#dfeae7}.efficiency-track i{background:var(--teal)}.efficiency-value{color:var(--teal)}.source-icon{color:var(--teal);background:var(--teal-soft)}.price-source>b{color:var(--teal-deep)}.summary-actions{gap:10px}.export-button{background:var(--teal);min-height:44px}.export-button.subtle{background:var(--teal-soft);color:var(--teal-deep)}.export-button.subtle:hover{background:#d8e9e6}.summary-footnote{color:#8b9692;line-height:1.5}.settings-strip{border-color:var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 24px #17211f06}.settings-icon{color:var(--teal);background:var(--teal-soft)}.settings-intro strong{color:var(--ink)}.settings-intro span{color:var(--muted)}.manage-button{color:var(--teal)}.modal-backdrop{background:#17211f66}.admin-modal{border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px #17211f2e}.admin-modal h2{color:var(--ink)}.admin-modal p,.admin-setting-grid label,.admin-section-heading span,.door-rule-list span{color:var(--muted)}.admin-icon{color:var(--teal);background:var(--teal-soft)}.admin-table,.rule-explain>div,.admin-color-grid label,.admin-hardware-grid label,.door-rule-list>div{border-color:var(--line)}.rule-explain>div{background:#f8faf9}.admin-section-heading strong,.door-rule-list strong{color:var(--ink)}.toast{background:var(--ink);box-shadow:0 10px 30px #17211f33}.records-toolbar{border-color:var(--line);background:#fbfcfb}.record-card{border-color:var(--line);box-shadow:none;border-radius:9px}.record-card:hover{border-color:#8ebbb4;box-shadow:0 8px 20px #155f5a10}.record-no{color:var(--teal)}.record-card-main strong,.record-card-meta strong{color:var(--ink)}.record-card-main span,.record-card-meta>span{color:var(--muted)}.record-card-meta small{color:var(--teal)}.records-empty{color:#8b9692;background:#fff;border-color:#a9c7c2}.records-empty strong{color:var(--ink)}@media (width<=1080px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.summary-panel{position:static}.settings-strip{align-items:flex-start}}@media (width<=720px){.topbar{height:60px}.content-wrap{padding:32px 16px 44px}.page-intro{margin-bottom:24px}.page-intro h1{font-size:31px}.project-fields{gap:12px}.quote-panel,.summary-panel{border-radius:10px;padding:18px}.panel-heading p{max-width:210px}.line-card-head{min-height:74px;padding:13px 11px}.line-editor{padding:0 11px 15px}.line-total{min-width:78px}.line-total div{font-size:13px}.summary-panel{padding-top:20px}.grand-total strong{font-size:36px}.settings-strip{padding:16px}.settings-fields{gap:12px}.admin-modal{padding:22px}}@media (width<=520px){.top-actions{gap:5px}.top-actions .secondary-button,.top-actions .primary-button{padding:8px 9px;font-size:10px}.content-wrap{padding-left:14px;padding-right:14px}.project-meta{text-align:left;grid-template-columns:auto 1fr}.field-grid.three,.field-grid.four{grid-template-columns:1fr}.field-grid.three .field:first-child{grid-column:auto}.settings-fields{grid-template-columns:1fr}.settings-fields label{grid-template-columns:minmax(0,1fr) 76px auto}.inline-field{width:calc(50% - 4px)}.summary-breakdown{gap:7px}.summary-breakdown strong{font-size:13px}.summary-actions{grid-template-columns:1fr}.recognition-card{flex-wrap:wrap;align-items:flex-start}.upload-button{margin-left:42px}.record-card-open{min-width:0}}@page{size:A4;margin:14mm}@media print{html,body{color:#17211f;background:#fff}.sidebar,.topbar,.settings-strip,.recognition-card,.add-line-button,.summary-actions,.summary-footnote,.ghost-icon,.expand-chevron,.line-note button,.pricing-mode{display:none!important}.app-shell,.main-content{background:#fff;display:block}.content-wrap{max-width:none;padding:0}.page-intro{border-bottom:1px solid #dde3e0;margin:0 0 8mm;padding-bottom:5mm;display:flex!important}.page-intro h1{margin:2mm 0;font-size:25px}.page-intro p{font-size:10px}.project-fields{margin-top:4mm;display:grid}.project-fields input{background:0 0;border:0;height:auto;padding:0}.workspace-grid{display:block}.quote-panel,.summary-panel{box-shadow:none;border:0;border-radius:0;padding:0}.quote-panel{margin-bottom:14mm}.panel-heading{border-bottom:1px solid #dde3e0;padding-bottom:5mm}.line-list{margin-top:5mm;display:block}.line-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #dde3e0;margin:0 0 4mm}.line-card-head{min-height:auto;padding:4mm}.line-editor{display:none!important}.summary-panel{break-before:page;page-break-before:always}.grand-total strong{font-size:32px}.summary-section,.price-source{break-inside:avoid;page-break-inside:avoid}}@media screen{.web-discount-total{background:#fff8ed;border-top:1px solid #eadfcd;border-left:3px solid #c8893e;border-radius:8px;padding:12px 14px 4px}.web-discount-total span{color:#a06b1f}.web-discount-total strong{color:#9b5d23;letter-spacing:-.06em;font-size:36px}}.quote-elevation{color:#243b53;background:#fff;border-top:1px solid #dce7e1;margin-top:24px;padding:18px 0}.quote-elevation h2{margin:0 0 8px;font-size:18px}.quote-elevation p{font-size:12px;line-height:1.6}.quote-elevation svg{display:block}@media print{.quote-elevation{break-before:page;break-inside:avoid;page-break-before:always}.quote-elevation svg{max-height:230mm!important}.quote-elevation h2{font-size:22px}.quote-elevation p{font-size:14px}}.quote-image-dialog{color:#193c35;background:#fff;border:0;border-radius:16px;width:min(1100px,94vw);max-width:94vw;max-height:90vh;padding:20px;box-shadow:0 20px 80px #0005}.quote-image-dialog::backdrop{background:#0009}.quote-image-dialog header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.quote-image-dialog header button{cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:8px;padding:10px 18px}.quote-image-dialog-content{overflow:auto}.quote-image-dialog-content img{object-fit:contain;width:100%;height:auto;max-height:75vh;display:block}.quote-image-dialog-content svg{max-height:75vh!important}.quote-preview-hint{text-align:center;color:#667b72;display:block}@media print{.quote-image-dialog,.quote-preview-hint{display:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
