:root{color-scheme:light;--bg: #eef1ed;--surface: #ffffff;--surface-2: #f7f8f4;--surface-3: #ebe9df;--ink: #202522;--muted: #677069;--quiet: #8b938b;--line: #d9ded5;--strong-line: #bac5b7;--teal: #0f766e;--teal-2: #115e59;--amber: #d97706;--red: #b42318;--green: #17803c;--shadow: 0 18px 50px rgba(33, 40, 35, .12);--radius: 8px;--theme-accent: var(--teal);--theme-accent-soft: #d7f3ef;--theme-surface: #eff9f7;--theme-border: #9fd8d1}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);background:linear-gradient(90deg,rgba(15,118,110,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(15,118,110,.04) 1px,transparent 1px),var(--bg);background-size:42px 42px;font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:14px}.topbar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-area{display:flex;align-items:center;gap:10px;min-width:230px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,var(--teal),#1f9d8f);font-weight:800}.brand-area strong,.brand-area span{display:block}.brand-area span{color:var(--muted);font-size:13px}.command-bar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.command,.small-action,.icon-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 12px;font-weight:700;transition:transform .16s ease,border-color .16s ease,background .16s ease}.command:hover,.small-action:hover,.icon-button:hover{transform:translateY(-1px);border-color:var(--strong-line)}.command.primary{color:#fff;background:var(--theme-accent);border-color:var(--theme-accent)}.command.ghost{background:var(--surface-2)}.toast{position:fixed;top:86px;right:18px;z-index:40;max-width:min(360px,calc(100vw - 36px));padding:12px 14px;color:#fff;background:#202522;border-radius:var(--radius);box-shadow:var(--shadow)}.workspace{display:grid;grid-template-columns:280px minmax(460px,1fr) minmax(420px,.92fr);gap:14px;align-items:start;margin-top:14px}.side-panel,.editor-panel,.preview-panel{min-width:0}.side-panel,.editor-stack,.preview-panel{display:grid;gap:14px}.panel-block,.tool-section,.summary-strip,.proposal-paper{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffeb;box-shadow:0 8px 28px #21282314}.panel-block,.tool-section{padding:14px}.panel-heading,.section-title.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading span,.section-title h2{font-size:16px;font-weight:800}.panel-heading small,.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.template-list,.saved-list,.items-list{display:grid;gap:8px;margin-top:12px}.template-button,.saved-item button:first-child{position:relative;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff80,#fff0),var(--template-surface, var(--surface-2));padding:11px 12px 10px;color:var(--ink);overflow:hidden;box-shadow:inset 0 1px #ffffff80}.template-button:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--template-accent, var(--teal))}.template-button strong,.template-button span,.template-button small,.saved-item strong,.saved-item span,.saved-item small{display:block}.template-top{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:5px}.template-top strong{font-size:15px;line-height:1.2}.template-pill{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--template-accent-soft, var(--surface-3));color:var(--template-accent, var(--teal-2));font-size:11px;font-weight:800}.template-button span,.saved-item span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35}.template-button.active{border-color:var(--template-border, var(--teal));background:linear-gradient(180deg,#ffffffc7,#ffffff59),var(--template-surface, #e2f3ed);box-shadow:0 8px 24px #21282314}.template-button.active .template-pill{background:var(--template-accent);color:#fff}.template-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.template-foot small{color:var(--muted);font-size:12px;font-weight:700}.template-foot i{width:36px;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--template-accent),var(--template-border))}.saved-item{display:grid;grid-template-columns:1fr auto;gap:8px}.saved-search{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--muted)}.saved-search input{border:0;background:transparent;min-height:0;padding:0}.saved-search input:focus{box-shadow:none}.saved-item small{margin-top:6px;color:var(--teal);font-weight:800}.empty-state{margin:0;padding:12px;color:var(--muted);background:var(--surface-2);border:1px dashed var(--strong-line);border-radius:var(--radius);font-size:14px}.icon-button{width:38px;padding:0}.icon-button.danger{color:var(--red)}.section-title{margin-bottom:12px}.section-title h2{margin:0}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.item-grid{grid-template-columns:1fr 92px 120px}.field{display:grid;gap:6px;margin-bottom:10px}.field span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}input,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);outline:none;padding:10px}textarea{min-height:76px;resize:vertical;line-height:1.45}input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1f}.item-editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:12px}.item-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;background:var(--line)}.summary-strip div{padding:13px;background:var(--surface)}.summary-strip span,.proposal-meta span,.proposal-totals span,.proposal-header span,.proposal-footer span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.summary-strip strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-strip .total-summary{background:var(--theme-accent-soft)}.total-summary strong{color:var(--theme-accent)}.template-preview{background:linear-gradient(180deg,#ffffffeb,#ffffffc7),var(--theme-surface);border-color:var(--theme-border)}.template-preview-box{padding:12px;border-radius:var(--radius);border:1px solid var(--theme-border);background:#fff}.template-preview-box strong{display:block;margin-bottom:6px;font-size:15px}.template-preview-box p{margin:0;color:var(--muted);font-size:13px}.preview-swatches{display:flex;gap:8px;margin-top:12px}.preview-swatches button{width:26px;height:26px;border-radius:999px;border:1px solid var(--swatch-border, var(--line));background:radial-gradient(circle at 30% 30%,#fffc,#fff0),var(--swatch-surface, #fff);box-shadow:inset 0 0 0 6px var(--swatch-accent, var(--teal));padding:0;transition:transform .16s ease,box-shadow .16s ease}.preview-swatches button:hover{transform:translateY(-1px)}.preview-swatches button.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--swatch-border, var(--line)),inset 0 0 0 6px var(--swatch-accent, var(--teal))}.palette-picker{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.proposal-paper{padding:28px;background:var(--proposal-surface, #fffdf8);-webkit-print-color-adjust:exact;print-color-adjust:exact}.proposal-header{display:grid;grid-template-columns:1fr auto;gap:24px;padding-bottom:22px;border-bottom:2px solid var(--proposal-border, var(--ink))}.proposal-header h1{margin:8px 0;font-size:32px;line-height:1.05}.proposal-header p,.proposal-section p,.proposal-item p,.proposal-item small{color:var(--muted);line-height:1.5}.proposal-provider{min-width:190px;text-align:right}.proposal-provider strong,.proposal-provider span{display:block}.proposal-provider strong{margin-bottom:8px;color:var(--proposal-accent, var(--ink))}.proposal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.proposal-meta div{padding:12px;border:1px solid var(--proposal-border, var(--line));border-radius:var(--radius);background:var(--proposal-soft, var(--surface-2))}.proposal-section{margin-top:18px}.proposal-section h2{margin:0 0 12px;font-size:18px}.proposal-items{display:grid;gap:10px}.proposal-item{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px;border:1px solid var(--proposal-border, var(--line));border-radius:var(--radius);background:#ffffffeb}.proposal-item strong,.proposal-money strong{display:block}.proposal-item p,.proposal-item small{display:block;margin:5px 0 0}.proposal-money{min-width:135px;text-align:right}.proposal-money span{display:block;color:var(--muted);margin-bottom:8px}.proposal-section.split{display:grid;grid-template-columns:1fr 260px;gap:18px}.proposal-totals{border:1px solid var(--proposal-border, var(--line));border-radius:var(--radius);overflow:hidden}.proposal-totals div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;background:var(--proposal-soft, var(--surface-2));border-bottom:1px solid var(--proposal-border, var(--line))}.proposal-totals div:last-child{border-bottom:0}.proposal-totals .grand-total{background:var(--proposal-accent, var(--ink));color:#fff}.grand-total span{color:#ffffffb3}.grand-total strong{font-size:22px}.proposal-footer{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:14px;border-top:1px solid var(--proposal-border, var(--line))}.mobile-tabs,.mobile-actions{display:none}@media(max-width:1180px){.workspace{grid-template-columns:250px minmax(430px,1fr)}.preview-panel{grid-column:1 / -1}}@media(max-width:860px){.app-shell{padding:10px 10px 76px}.topbar{position:static;align-items:flex-start;flex-direction:column}.command-bar{display:none}.mobile-tabs{position:sticky;top:0;z-index:18;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0;padding:6px;background:#eef1edeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-tabs button{min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-weight:800}.mobile-tabs button.active{color:#fff;background:var(--teal);border-color:var(--teal)}.workspace{display:block;margin-top:0}.side-panel,.editor-panel,.preview-panel{display:none}.side-panel.mobile-visible,.editor-panel.mobile-visible,.preview-panel.mobile-visible{display:grid}.form-grid.two,.form-grid.three,.form-grid.item-grid,.summary-strip,.proposal-header,.proposal-meta,.proposal-item,.proposal-section.split{grid-template-columns:1fr}.proposal-provider,.proposal-money{text-align:left}.proposal-paper{padding:18px}.proposal-header h1{font-size:25px}.mobile-actions{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-actions button{min-height:48px;border:0;border-radius:var(--radius);background:var(--surface-2);color:var(--ink);display:grid;place-items:center;gap:2px;font-size:11px;font-weight:800}}@media print{body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}body *{visibility:hidden}.proposal-paper,.proposal-paper *{visibility:visible}.proposal-paper{position:relative;inset:auto;width:100%;border:0;border-radius:0;box-shadow:none;padding:28px}@page{margin:12mm}}
