@font-face{font-family:Noto Sans TC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-tc-chinese-traditional-400-normal-ijqRPkq_.woff2)format("woff2"),url(/assets/noto-sans-tc-chinese-traditional-400-normal-B_Fp4KPb.woff)format("woff")}@font-face{font-family:Noto Sans TC Local;src:local(Noto Sans TC),local(Microsoft JhengHei);font-display:swap}:root{color:#22313a;font-synthesis:none;text-rendering:optimizelegibility;--blueprint:#102a3a;--blueprint-soft:#183b4f;--copper:#c7653a;--copper-dark:#9d4725;--pipe:#167d70;--plaster:#f3f6f4;--paper:#fff;--graphite:#22313a;--muted:#62737c;--line:#cbd6d4;--alert:#c84b42;--shadow:0 18px 50px #102a3a1a;background:#e7ecea;font-family:Noto Sans TC Local,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}body{background-color:var(--plaster);background-image:linear-gradient(#102a3a08 1px,#0000 1px),linear-gradient(90deg,#102a3a08 1px,#0000 1px);background-size:28px 28px;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #c7653a73}.app-frame{min-height:100vh}.app-navigation{z-index:20;min-height:72px;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));color:#d9e2e2;background:var(--blueprint);border-top:3px solid var(--copper);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.brand-block,.local-note{display:none}.nav-links{display:contents}.nav-link{min-height:52px;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.nav-link.active{color:#fff;background:#ffffff14}.nav-icon{font-size:1.25rem;line-height:1}.content-frame{min-height:100vh;padding-bottom:82px}.page{width:min(100%,1200px);margin:0 auto;padding:28px 18px 64px}.day-brief{flex-direction:column;gap:18px;padding:8px 0 26px;display:flex}.date-line,.section-heading p{color:var(--pipe);margin:0 0 6px;font-size:.84rem;font-weight:700}h1,h2,p{overflow-wrap:anywhere}h1{color:var(--blueprint);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,8vw,4.25rem);line-height:1.02}h2{color:var(--blueprint);margin:0;font-size:1.16rem;line-height:1.35}.page-lead{max-width:40rem;color:var(--muted);margin:10px 0 0;line-height:1.7}.backup-pill{color:#71502f;background:#fff3dc;border:1px solid #e6c58d;align-self:flex-start;align-items:center;gap:8px;min-height:40px;padding:8px 13px;font-size:.8rem;font-weight:700;display:flex}.status-light{background:var(--copper);border-radius:50%;width:8px;height:8px}.priority-strip{background:var(--blueprint);color:#fff;box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);display:grid}.priority-strip article{border-right:1px solid #ffffff24;min-width:0;padding:16px 12px}.priority-strip article:last-child{border-right:0}.priority-strip span{color:#b9cbcf;font-size:.72rem;display:block}.priority-strip strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(1.2rem,6vw,2rem);display:block}.money-cell strong{color:#f7bc83}.workspace-grid{gap:14px;margin-top:14px;display:grid}.next-job-panel,.attention-panel,.recent-section{border:1px solid var(--line);background:#fffffff0;padding:22px;box-shadow:0 10px 30px #102a3a0f}.next-job-panel{border-top:5px solid var(--copper)}.attention-panel{border-top:5px solid var(--pipe)}.section-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.section-heading.inline{align-items:center}.tool-mark{color:#cbd6d4;font-variant-numeric:tabular-nums;font-size:2.8rem;font-weight:800;line-height:.9}.empty-copy{color:var(--muted);margin:20px 0 26px;line-height:1.7}.primary-action{color:#fff;background:var(--copper);width:100%;min-height:54px;box-shadow:6px 6px 0 var(--blueprint);cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-weight:800;display:inline-flex}.primary-action:hover{background:var(--copper-dark)}.clear-state{color:var(--muted);align-items:center;gap:14px;margin-top:22px;display:flex}.clear-state p{margin:0;line-height:1.55}.check-ring{width:42px;height:42px;color:var(--pipe);border:2px solid var(--pipe);border-radius:50%;flex:0 0 42px;place-items:center;font-weight:900;display:grid}.recent-section{margin-top:14px}.text-action{min-height:44px;color:var(--pipe);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:800}.empty-ledger{color:var(--muted);border-top:1px dashed var(--line);align-items:center;gap:14px;margin-top:18px;padding:18px 0 4px;display:flex}.empty-ledger>span{color:var(--copper);font-size:1.7rem}.empty-ledger p{margin:0;line-height:1.55}.placeholder-page{padding-top:48px}.page-header{margin-bottom:28px}.split-header,.editor-header{flex-direction:column;gap:18px;display:flex}.record-count,.autosave-note,.mode-badge{color:var(--pipe);background:#e4f2ef;border:1px solid #9bc9c1;align-self:flex-start;padding:7px 10px;font-size:.75rem;font-weight:800}.mode-badge.viewer{color:#71502f;background:#fff3dc;border-color:#e6c58d}.paper-form,.sheet-section,.ledger-list,.settings-list,.quote-paper{border:1px solid var(--line);background:#fffffff5;box-shadow:0 12px 36px #102a3a12}.paper-form,.sheet-section{padding:22px}.paper-form{border-top:5px solid var(--copper)}.compact-form{align-content:start;gap:16px;display:grid}.form-page .paper-form{max-width:760px}.form-grid{gap:16px;display:grid}.field{gap:7px;min-width:0;display:grid}.field>span{color:var(--blueprint);font-size:.78rem;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:46px;color:var(--graphite);background:#fff;border:1px solid #adbfbd;border-radius:0;padding:10px 11px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--copper);outline:2px solid #c7653a2e}.field input:disabled{color:#829095;background:#e9eeec}.form-error,.form-message{margin:0;font-size:.82rem;font-weight:700}.form-error{color:var(--alert)}.form-message{color:var(--pipe)}.secondary-action,.primary-link,.secondary-link{cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.secondary-action,.secondary-link{color:var(--blueprint);background:#fff;border:1px solid #9eb1af}.primary-link{color:#fff;background:var(--copper);border:1px solid var(--copper);box-shadow:4px 4px 0 var(--blueprint)}.secondary-action:disabled,.primary-action:disabled{cursor:wait;opacity:.58}.header-actions,.total-actions{flex-wrap:wrap;gap:10px;display:flex}.header-actions .primary-action,.total-actions .primary-action{width:auto;min-width:150px}.master-layout{gap:16px;display:grid}.ledger-list{overflow:hidden}.ledger-row{width:100%;color:inherit;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;padding:15px 16px;text-decoration:none;display:grid}.ledger-row:last-child{border-bottom:0}.ledger-row:hover{background:#f7faf8}.static-row{cursor:default}.ledger-code,.status-stamp{color:var(--pipe);text-align:center;background:#e4f2ef;padding:5px 6px;font-size:.68rem;font-weight:800}.ledger-main{min-width:0}.ledger-main strong,.ledger-main small,.ledger-amount,.ledger-amount small{display:block}.ledger-main strong{color:var(--blueprint)}.ledger-main small,.ledger-amount small,.setting-row small{color:var(--muted);margin-top:4px;font-size:.72rem;line-height:1.45}.ledger-amount{color:var(--blueprint);font-variant-numeric:tabular-nums;grid-column:2;font-weight:800}.status-scheduled,.status-inProgress{color:#71502f;background:#fff3dc}.status-completed{color:var(--pipe);background:#e4f2ef}.status-cancelled{color:#7c8589;background:#e8eceb}.settings-list{display:grid}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row p,.setting-row h2{margin:0}.setting-row p{color:var(--pipe);margin-bottom:5px;font-size:.72rem;font-weight:800}.quote-editor-page{padding-bottom:210px}.notice-banner,.error-summary{color:#71502f;background:#fff3dc;border:1px solid #e6c58d;padding:13px 15px;font-size:.82rem;font-weight:700}.notice-banner{margin:0 0 16px}.error-summary{color:#8c342e;background:#fff0ee;border-color:#e1aaa5}.error-summary p{margin:4px 0}.editor-layout,.editor-main{gap:14px;min-width:0;display:grid}.sheet-section{min-width:0;overflow:hidden;box-shadow:0 8px 26px #102a3a0d}.sheet-section>.form-grid,.sheet-section>.section-heading+.form-grid{margin-top:20px}.catalog-picker{scroll-snap-type:x proximity;gap:9px;margin:18px -22px 0;padding:2px 22px 12px;display:flex;overflow-x:auto}.catalog-picker button{border:1px solid var(--line);text-align:left;scroll-snap-align:start;cursor:pointer;background:#f6f9f7;flex:0 0 174px;gap:3px;min-height:96px;padding:12px;display:grid}.catalog-picker button:hover{border-color:var(--copper);background:#fff8f3}.catalog-picker span,.catalog-picker small{color:var(--muted);font-size:.68rem}.catalog-picker strong{color:var(--blueprint);line-height:1.4}.quote-lines{gap:12px;margin-top:10px;display:grid}.quote-line{border:1px solid var(--line);border-left:4px solid var(--copper);background:#fbfcfb;padding:15px}.quote-line-heading{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:14px;display:grid}.quote-line-heading h3{color:var(--blueprint);margin:0;font-size:1rem}.line-index{color:#9aabae;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.danger-text-action{color:var(--alert);cursor:pointer;background:0 0;border:0;padding:8px;font-size:.75rem;font-weight:800}.line-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-name{grid-column:1/-1}.advanced-fields{color:var(--muted);margin-top:14px;font-size:.78rem}.advanced-fields summary{cursor:pointer;min-height:36px;font-weight:800}.cost-fields{padding-top:10px}.compact-empty{margin-top:0;padding:22px 0 8px}.quote-summary{display:none}.quote-summary>p{color:#b9cbcf;margin:0;font-size:.75rem;font-weight:800}.quote-summary dl{margin:15px 0 0}.quote-summary dl div,.quote-paper-bottom dl div{border-bottom:1px solid #ffffff1f;justify-content:space-between;gap:16px;padding:8px 0;display:flex}.quote-summary dt,.quote-summary dd,.quote-paper-bottom dt,.quote-paper-bottom dd{margin:0}.quote-summary dd{font-variant-numeric:tabular-nums;font-weight:800}.quote-summary .internal-total{color:#9fe0d6;margin-top:8px}.total-rail{z-index:15;padding:12px 16px calc(12px + env(safe-area-inset-bottom));color:#fff;background:var(--blueprint);border-top:4px solid var(--copper);justify-content:space-between;align-items:center;gap:14px;display:flex;position:fixed;bottom:72px;left:0;right:0;box-shadow:0 -10px 30px #102a3a2e}.total-rail>div:first-child span,.total-rail>div:first-child strong{display:block}.total-rail>div:first-child span{color:#b9cbcf;font-size:.72rem}.total-rail>div:first-child strong{color:#f7bc83;font-variant-numeric:tabular-nums;font-size:1.45rem}.total-rail .secondary-action{color:#fff;background:0 0;border-color:#738991;display:none}.total-rail .primary-action{min-width:130px;min-height:48px;box-shadow:none}.quote-paper{border-top:6px solid var(--copper);max-width:900px;margin:0 auto;padding:clamp(22px,5vw,52px)}.quote-paper-header,.quote-party-grid,.quote-paper-bottom{gap:18px;display:grid}.quote-paper-header{border-bottom:2px solid var(--blueprint);grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-bottom:20px}.quote-paper-header h2,.quote-paper-header p{margin:0}.quote-paper-header>div:last-child{text-align:right}.quote-paper-header>div:last-child strong,.quote-paper-header>div:last-child span{display:block}.quote-paper-header>div:last-child strong{color:var(--blueprint);font-size:1.5rem}.quote-party-grid{padding:20px 0}.quote-party-grid span,.quote-party-grid strong,.quote-party-grid p{margin:0;display:block}.quote-party-grid span{color:var(--pipe);font-size:.72rem;font-weight:800}.quote-party-grid strong{color:var(--blueprint);margin:4px 0}.quote-party-grid p{color:var(--muted);font-size:.8rem;line-height:1.55}.quote-table-wrap{overflow-x:auto}.quote-table{border-collapse:collapse;width:100%;min-width:560px}.quote-table th,.quote-table td{border:1px solid var(--line);text-align:left;padding:11px 9px}.quote-table th{color:#fff;background:var(--blueprint);font-size:.75rem}.quote-table th:last-child,.quote-table td:last-child,.quote-table th:nth-child(3),.quote-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.quote-paper-bottom{margin-top:18px}.quote-note-box{border:1px solid var(--line);align-self:start;min-height:118px}.quote-note-box h3{color:var(--blueprint);background:var(--plaster);border-bottom:1px solid var(--line);margin:0;padding:8px 11px;font-size:.78rem}.quote-note-box p{min-height:76px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:11px;line-height:1.65}.quote-paper-bottom dl{margin:0}.quote-paper-bottom dl div{border-color:var(--line)}.quote-paper-bottom dd{font-variant-numeric:tabular-nums;font-weight:800}.quote-paper-bottom .grand-total{color:var(--copper);border-bottom:3px double var(--blueprint);font-size:1.08rem;font-weight:900}@media (width<=759px){.quote-table{table-layout:fixed;min-width:100%}.quote-table th,.quote-table td{overflow-wrap:anywhere;padding:9px 4px;font-size:.66rem}.quote-table th:first-child{width:9%}.quote-table th:nth-child(3){width:14%}.quote-table th:nth-child(4){width:12%}.quote-table th:last-child{width:23%}.quote-table th:last-child,.quote-table td:last-child{white-space:nowrap}}.setup-callout{color:#fff;background:var(--pipe);border-left:5px solid var(--copper);flex-direction:column;gap:4px;margin:-10px 0 14px;padding:14px 16px;text-decoration:none;display:flex}.setup-callout span{color:#c9e4df;font-size:.78rem}.next-job-copy{margin-top:20px}.next-job-copy>strong,.next-job-copy>p{margin:0 0 12px;display:block}.next-job-copy>strong{color:var(--copper);font-size:1.35rem}.next-job-copy>p{color:var(--muted)}.attention-panel.has-alert{border-top-color:var(--alert)}.attention-panel.has-alert .check-ring{color:var(--alert);border-color:var(--alert)}.recent-job-list{border-top:1px dashed var(--line);margin-top:17px;display:grid}.recent-job-list a{color:inherit;border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);gap:4px 12px;padding:13px 0;text-decoration:none;display:grid}.recent-job-list span{color:var(--pipe);grid-row:1/3;font-size:.7rem;font-weight:800}.recent-job-list strong{color:var(--blueprint)}.recent-job-list small{color:var(--muted)}.viewer-banner,.overpayment-warning{margin:0 0 16px;padding:13px 15px;font-size:.82rem;font-weight:800}.viewer-banner{color:#71502f;background:#fff3dc;border:1px solid #e6c58d}.overpayment-warning{color:#8c342e;background:#fff0ee;border:1px solid #e1aaa5}.success-notice{color:#12665c;background:#e4f2ef;border-color:#9bc9c1}.financial-strip{color:#fff;background:var(--blueprint);box-shadow:var(--shadow);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid}.financial-strip article{border-right:1px solid #ffffff24;min-width:0;padding:15px 10px}.financial-strip article:last-child{border-right:0}.financial-strip span,.financial-strip strong,.financial-strip small{display:block}.financial-strip span,.financial-strip small{color:#b9cbcf;font-size:.66rem}.financial-strip strong{color:#fff;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:clamp(.95rem,4vw,1.55rem);overflow:hidden}.financial-strip .is-overdue strong,.financial-strip .is-overdue small{color:#f7bc83}.case-grid,.case-main{gap:14px;min-width:0;display:grid}.case-form{margin-top:20px}.compact-action{width:auto;min-width:120px;min-height:44px;box-shadow:4px 4px 0 var(--blueprint)}.contract-line,.change-list article,.payment-history article{justify-content:space-between;align-items:center;gap:14px;display:flex}.contract-line{border-block:1px solid var(--line);margin-top:18px;padding:15px 0}.contract-line strong,.contract-line small,.contract-line span{display:block}.contract-line small,.change-list small,.payment-history small{color:var(--muted);margin-top:3px;font-size:.7rem}.contract-line>span{color:var(--blueprint);font-variant-numeric:tabular-nums;font-weight:900}.change-list{display:grid}.change-list article{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) auto;padding:12px 0;display:grid}.change-sign{color:#fff;background:var(--pipe);place-items:center;width:28px;height:28px;font-weight:900;display:grid}.change-sign.deduction{background:var(--alert)}.change-list b{font-variant-numeric:tabular-nums}.inline-entry-form,.photo-upload-form{border-top:2px dashed var(--line);gap:12px;margin-top:18px;padding-top:18px;display:grid}.check-field{min-height:44px;color:var(--blueprint);align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.check-field input{width:20px;height:20px;accent-color:var(--pipe)}.file-field{cursor:pointer;background:#f6f9f7;border:1px dashed #9eb1af;gap:5px;padding:11px;display:grid}.file-field>span{color:var(--blueprint);font-size:.78rem;font-weight:800}.file-field small{color:var(--muted)}.photo-stages{gap:18px;margin-top:22px;display:grid}.photo-stages h3,.payment-history h3{color:var(--blueprint);margin:0 0 9px;font-size:.88rem}.photo-stages h3 span{color:var(--pipe)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-grid figure{border:1px solid var(--line);background:#e7ecea;min-width:0;margin:0}.photo-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-grid figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:7px;font-size:.66rem;overflow:hidden}.photo-grid>p{color:var(--muted);border:1px dashed var(--line);text-align:center;background:#f6f9f7;margin:0;padding:20px 10px;font-size:.72rem}.payment-panel{border:1px solid var(--line);border-top:5px solid var(--pipe);background:#fff;align-self:start;padding:20px;box-shadow:0 12px 36px #102a3a12}.payment-panel>.compact-form{margin-top:18px}.inline-warning{color:var(--alert);margin:-6px 0 0;font-size:.74rem;font-weight:800}.payment-history{border-top:2px dashed var(--line);margin-top:24px;padding-top:18px}.payment-history article{border-bottom:1px solid var(--line);padding:11px 0}.payment-history strong,.payment-history small{display:block}.payment-history article>span{color:var(--muted);font-size:.65rem}.payment-history>p{color:var(--muted);font-size:.78rem}.readonly-instruction,.readonly-side-note,.settings-section{border:1px solid var(--line);background:#fff;padding:22px;box-shadow:0 12px 36px #102a3a12}.readonly-instruction{border-top:5px solid var(--copper);max-width:620px;margin-top:28px}.readonly-instruction>strong{color:var(--blueprint)}.readonly-instruction p,.readonly-side-note p{color:var(--muted);line-height:1.65}.readonly-side-note{border-top:5px solid #e6c58d;align-self:start}.setting-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.settings-section{margin-top:16px}.settings-explainer{color:var(--muted);margin:18px 0;line-height:1.7}.restore-panel{border-top:2px dashed var(--line);gap:14px;padding-top:18px;display:grid}.backup-file-field{max-width:480px}.backup-inspection{color:#12665c;border-left:4px solid var(--pipe);background:#e4f2ef;margin:0;padding:12px;font-size:.78rem;font-weight:700}.restore-mode{border:1px solid var(--line);flex-direction:column;gap:10px;margin:0;padding:14px;display:flex}.restore-mode legend{color:var(--blueprint);padding:0 7px;font-size:.78rem;font-weight:800}.restore-mode label{color:var(--graphite);align-items:center;gap:8px;font-size:.82rem;display:flex}.restore-mode input{width:19px;height:19px;accent-color:var(--pipe)}.restore-warning{color:#71502f;margin:0;font-size:.75rem;line-height:1.6}.install-steps{gap:10px;margin-top:18px;display:grid}.install-steps p{border-left:4px solid var(--pipe);background:#f6f9f7;gap:4px;margin:0;padding:13px;display:grid}.install-steps strong{color:var(--blueprint)}.install-steps span{color:var(--muted);font-size:.78rem}.pwa-status-region{z-index:40;top:max(10px, env(safe-area-inset-top));pointer-events:none;justify-items:end;gap:8px;display:grid;position:fixed;right:10px}.offline-badge,.install-button,.update-toast{pointer-events:auto;box-shadow:0 8px 24px #102a3a33}.offline-badge{color:#fff;background:#5d6a70;padding:8px 11px;font-size:.72rem;font-weight:800}.offline-badge span{color:#f7bc83;margin-right:6px}.install-button{color:#fff;background:var(--pipe);cursor:pointer;border:0;min-height:40px;padding:0 13px;font-size:.76rem;font-weight:800}.update-toast{color:#fff;background:var(--blueprint);border-left:4px solid var(--copper);align-items:center;gap:10px;padding:10px 12px;font-size:.75rem;font-weight:800;display:flex}.update-toast button{color:#fff;background:var(--copper);cursor:pointer;border:0;min-height:32px;font-weight:800}@media (width>=760px){.day-brief{flex-direction:row;justify-content:space-between;align-items:flex-end}.backup-pill{align-self:auto}.priority-strip article{padding:19px 22px}.workspace-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.primary-action{width:auto;min-width:200px}.split-header,.editor-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.record-count,.autosave-note{align-self:auto}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-field{grid-column:1/-1}.master-layout{grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);align-items:start}.ledger-row{grid-template-columns:72px minmax(0,1fr) minmax(120px,auto)}.ledger-amount{text-align:right;grid-column:auto}.line-fields{grid-template-columns:minmax(210px,2fr) repeat(5,minmax(88px,.72fr))}.field-name{grid-column:auto}.cost-fields{grid-template-columns:repeat(2,minmax(120px,180px))}.total-rail .secondary-action{display:inline-flex}.quote-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-paper-bottom{grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr)}.financial-strip article{padding:18px 22px}.inline-entry-form{grid-template-columns:110px minmax(160px,1fr) 140px auto auto;align-items:end}.photo-upload-form{grid-template-columns:140px minmax(0,1fr) auto;align-items:end}.photo-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.restore-mode,.install-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.restore-mode{display:grid}}@media (width>=1024px){.app-frame{grid-template-columns:238px minmax(0,1fr);display:grid}.app-navigation{border-top:0;border-right:4px solid var(--copper);flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;inset:0 auto auto 0}.brand-block{border-bottom:1px solid #ffffff21;align-items:center;gap:12px;padding:0 10px 28px;display:flex}.brand-block strong,.brand-block small{display:block}.brand-block strong{color:#fff;letter-spacing:.04em}.brand-block small{color:#91abb2;margin-top:3px;font-size:.68rem}.brand-symbol{color:#fff;background:var(--copper);place-items:center;width:38px;height:38px;font-weight:900;display:grid}.nav-links{gap:5px;margin-top:28px;display:grid}.nav-link{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 13px;font-size:.92rem}.nav-icon{text-align:center;width:22px;font-size:1.1rem}.local-note{color:#8fa5aa;margin:auto 8px 0;font-size:.72rem;line-height:1.6;display:block}.content-frame{padding-bottom:0}.page{padding:58px 50px 80px}.quote-editor-page{padding-bottom:128px}.editor-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start}.quote-summary{color:#fff;background:var(--blueprint);border-top:5px solid var(--pipe);padding:20px;display:block;position:sticky;top:28px}.total-rail{padding-left:max(50px,50vw - 669px);padding-right:max(50px,50vw - 669px);bottom:0;left:238px}.case-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start}.payment-panel{position:sticky;top:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
