:root{--ink: #1a1a1a;--ink-soft: #6f6f6a;--ink-muted: #9a9a94;--border: #e3e3df;--divider: #ecece8;--panel: #ffffff;--canvas: #f3f3f0;--radius-sm: 6px;--radius-md: 10px}*{box-sizing:border-box}html,body,#root{height:100%;height:100svh}body{margin:0;overscroll-behavior:none;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-variant-numeric:tabular-nums}#root{overflow:hidden}.app{height:100%;height:100svh;display:flex;flex-direction:column;overflow-x:hidden}button{font:inherit;color:inherit}.app-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.app-title{margin:0;font-size:15px;font-weight:600}.app-body{flex:1;min-height:0;position:relative}.doc-screen{height:100%;overflow-y:auto;padding:20px 16px 48px}.doc-screen-inner{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.doc-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;min-height:44px;cursor:pointer}.btn-secondary:hover{border-color:var(--ink-muted)}.screen-menu{position:relative;display:inline-flex}.screen-menu-trigger{display:inline-flex;align-items:center;gap:7px}.screen-menu-trigger-icon svg,.screen-menu-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round;display:block}.screen-menu-caret{font-size:10px;color:var(--ink-muted);line-height:1}.screen-menu-card{transform:translateZ(0);width:232px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 0 15px #00000017;display:flex;flex-direction:column;gap:4px}.screen-menu-legend{margin:0 0 4px;font-size:13px;font-weight:600;-webkit-user-select:none;user-select:none}.screen-menu-row{position:relative;display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.screen-menu-row:hover{background:#f4f4f1}.screen-menu-row.is-selected{color:var(--ink);background:#f4f4f1;box-shadow:inset 0 0 0 1px var(--border)}.screen-menu-label{flex:1;min-width:0}.screen-menu-row input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--ink);flex:none}.screen-menu-divider{height:1px;background:var(--divider);margin:4px 0}.cfg-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#e4e6e6}.cfg-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.cfg-screenmenu{position:absolute;top:16px;right:16px;z-index:3}.cfg-panel{position:absolute;top:16px;left:16px;z-index:4;background:#fff;padding:12px 20px 16px;width:300px;border-radius:12px;box-shadow:0 2px 12px #0000001f;font-family:system-ui,-apple-system,sans-serif}.cfg-grab{display:none}.cfg-tabs{display:flex;gap:4px;margin:0 0 10px;border-bottom:1px solid #eee}.cfg-tab{font-size:13px;font-weight:600;padding:6px 10px 7px;cursor:pointer;color:#888;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:inherit}.cfg-tab.on{color:#d43f00;border-bottom-color:#d43f00}.cfg-pane{max-height:calc(100vh - 140px);overflow-y:auto}.cfg-panel input[type=range]{width:100%}.cfg-viewbar{position:absolute;left:332px;right:16px;bottom:20px;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none}.cfg-viewbar-pill{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;background:#fff;border-radius:999px;box-shadow:0 2px 10px #0000001f;font-size:13px;color:#555;padding:8px 18px;max-width:100%;pointer-events:auto}.cfg-viewport-3d{position:absolute;top:0;right:0;bottom:0;left:0}.cfg-viewport-doc{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:16px 16px 80px 332px}@media (max-width: 640px){html,body,#root{overflow:hidden;overscroll-behavior:none;width:100%;height:100%;position:fixed;top:0;right:0;bottom:0;left:0}.cfg-shell,.cfg-viewport canvas{touch-action:none}.cfg-panel{top:auto;left:0;right:0;bottom:0;width:auto;max-width:100vw;border-radius:14px 14px 0 0;box-shadow:0 -2px 14px #00000029;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-top:4px;touch-action:pan-y;overscroll-behavior-x:none;overflow-x:clip;transition:height .22s ease-out}.cfg-panel.dragging{transition:none}.cfg-pane{overflow-x:clip;overscroll-behavior-x:none;max-width:100%;min-width:0;max-height:none}.cfg-pane>*{max-width:100%;min-width:0}.cfg-viewport-3d,.cfg-viewport-doc{bottom:var(--sheet-h, 45vh)}.cfg-viewbar{left:16px;bottom:calc(var(--sheet-h, 45vh) + 14px)}.cfg-viewport-3d .cfg-viewbar{bottom:14px}.cfg-panel input[type=range]{max-width:100%;touch-action:pan-y}.cfg-grab{display:block;width:38px;height:4px;border-radius:2px;background:#ddd;margin:2px auto 8px;cursor:grab;touch-action:none;box-shadow:0 -10px 0 14px #0000,0 10px 0 14px #0000}.cfg-screenmenu{top:12px;right:12px}.cfg-viewport-doc{padding:64px 16px 72px}}.quote-doc-scroll{flex:1;overflow-y:auto;padding:24px 16px 48px}.quote-doc{max-width:800px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 34px #00000014;padding:32px;position:relative;font-variant-numeric:tabular-nums}.quote-watermark{font-size:11px;font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:20px}.quote-titleblock{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1.5px solid var(--ink);padding-bottom:16px;margin-bottom:20px}.quote-doc-kind{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.quote-titleblock h1{font-size:22px;font-weight:550;letter-spacing:-.01em;margin:6px 0 0}.quote-meta{display:flex;gap:24px;margin:0}.quote-meta dt{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin:0}.quote-meta dd{font-size:13px;margin:2px 0 0;color:var(--ink)}.quote-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:20px}.quote-table th,.quote-table td{padding:7px 6px;text-align:left;border-bottom:1px solid var(--divider)}.quote-table thead th{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1.5px solid var(--ink)}.quote-col-qty,.quote-col-price{text-align:right;white-space:nowrap}.quote-line-desc{font-size:11px;color:var(--ink-muted);margin-top:2px}.quote-group-row th{background:var(--canvas);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--border)}.quote-group-subtotal-row td{font-weight:550;border-bottom:1px solid var(--border)}.quote-group-body{break-inside:avoid}.quote-totals{max-width:320px;margin-left:auto;display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:24px}.quote-totals-row{display:flex;justify-content:space-between}.quote-totals-grand{border-top:1.5px solid var(--ink);padding-top:8px;margin-top:4px;font-size:17px;font-weight:600}.quote-notes{display:flex;flex-direction:column;gap:8px}.quote-notes-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font:inherit;font-size:13px;color:var(--ink);resize:vertical}.quote-view-mode-print-note{margin-top:16px;font-size:11px;color:var(--ink-muted);text-align:right}.quote-doc .panel-section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}@media print{.quote-doc,.quote-doc *{visibility:visible}.quote-doc{max-width:none;border:none;border-radius:0;box-shadow:none;padding:0;margin:0}.quote-notes-textarea{border:none;padding:0}.quote-group-body,.quote-titleblock,.quote-totals{break-inside:avoid}.quote-doc-chrome{display:none!important}}.plans-screen{display:flex;flex-direction:column;gap:20px;padding:16px;padding-bottom:calc(16px + var(--sheet-h, 0px))}.plans-sheet{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto}.plans-sheet-head{margin-bottom:12px}.plans-sheet-head h2{font-size:14px;font-weight:600;margin:0;color:var(--ink)}.plans-sheet-head p{font-size:12px;color:var(--ink-soft);margin:3px 0 0}
