:root{--bg: #f9f7f4;--sidebar: #f0ece6;--panel: #ffffff;--orange: #e8630a;--orange-dark: #bd4c04;--text: #1a1a1a;--muted: #6b6b6b;--border: #e0dbd4;--shadow: 0 14px 35px rgba(36, 26, 18, .08);--radius: 12px;--document-font: "Inter", Arial, Helvetica, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--document-font)}body.is-resizing-panels{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-moving-ai-chat{cursor:grabbing;-webkit-user-select:none;user-select:none}body.is-resizing-ai-chat{cursor:nwse-resize;-webkit-user-select:none;user-select:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{display:grid;grid-template-columns:var(--sidebar-width, 220px) 8px var(--library-width, 360px) 8px minmax(0,1fr);height:100dvh;min-height:100vh;overflow-x:hidden}.app-shell.library-collapsed{grid-template-columns:var(--sidebar-width, 220px) 8px 0 0 minmax(0,1fr)}.sidebar-backdrop{display:none}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);display:grid;gap:12px;grid-template-rows:minmax(0,1fr) auto;height:100dvh;max-width:100%;min-width:0;overflow:hidden;padding:22px 16px;position:relative;z-index:9}.sidebar-main{align-content:stretch;display:grid;gap:24px;grid-template-rows:auto minmax(0,1fr) auto;max-width:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;-webkit-overflow-scrolling:touch}.sidebar-top{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.brand-mark{align-items:center;display:flex;flex:1;gap:12px;min-width:0}.brand-mark img{aspect-ratio:4 / 3;background:#fff;border:1px solid var(--border);border-radius:8px;display:block;height:auto;max-height:120px;max-width:172px;object-fit:contain;padding:8px;width:100%}.sidebar-toggle{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.sidebar.collapsed{justify-items:center;padding-left:12px;padding-right:12px}.sidebar.collapsed .sidebar-top{justify-content:center}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .sidebar-nav button,.sidebar.collapsed .sidebar-status,.sidebar.collapsed .sidebar-ai-launcher,.sidebar.collapsed .sidebar-signout{justify-content:center;padding-left:0;padding-right:0;width:40px}.sidebar.collapsed .sidebar-bottom{align-items:center}.sidebar-status{display:grid;gap:2px}.sidebar-status span,.muted{color:var(--muted)}.sidebar-nav{align-content:start;display:grid;gap:8px;min-width:0}.sidebar-nav button,.ghost-button,.primary-button,.link-button,.export-actions button{align-items:center;border:0;border-radius:8px;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:9px 12px}.sidebar-nav button,.ghost-button{background:transparent;color:var(--text)}.sidebar-nav button{justify-content:flex-start;width:100%}.sidebar-nav button.active,.sidebar-nav button:hover,.ghost-button:hover{background:#e8630a1a}.primary-button{background:var(--orange);color:#fff;font-weight:700}.primary-button:hover{background:var(--orange-dark)}.sidebar-status{align-items:center;display:flex;font-size:13px;min-width:0}.sidebar-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{align-content:end;display:grid;gap:10px;margin-top:auto;min-width:0}.sidebar-ai-launcher{align-items:center;background:var(--orange);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:15px;font-weight:900;gap:8px;justify-content:flex-start;min-height:44px;padding:10px 14px;width:100%}.sidebar-ai-launcher:hover,.sidebar-ai-launcher:focus-visible{background:var(--orange-dark)}.sidebar-signout{align-items:center;background:transparent;border:1px solid var(--line);color:var(--ink-soft);display:flex;gap:10px;justify-content:center;min-height:40px;padding:8px 12px;width:100%}.sidebar-signout:hover,.sidebar-signout:focus-visible{background:#fff;color:var(--ink)}.web-auth-screen{align-items:center;background:#f7f5f2;display:flex;justify-content:center;min-height:100vh;padding:24px}.web-auth-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px #1e1c191f;display:grid;gap:18px;max-width:430px;padding:30px;width:100%}.web-auth-heading{align-items:center;display:flex;gap:14px}.web-auth-heading svg,.web-auth-heading span{color:var(--orange)}.web-auth-heading span{display:block;font-size:12px;font-weight:700;margin-bottom:4px}.web-auth-heading h1{font-size:24px;line-height:1.2;margin:0}.web-auth-panel label{color:var(--ink-soft);display:grid;font-size:13px;font-weight:700;gap:7px}.web-auth-panel input{font-size:16px;min-height:44px}.web-auth-intro,.web-auth-help{color:var(--muted);line-height:1.5;margin:0}.web-owner-setup-panel{max-width:560px}.web-owner-pin-fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.web-auth-methods{background:#f3f0ec;border:1px solid var(--line);border-radius:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px}.web-auth-methods button{background:transparent;border:0;border-radius:4px;color:var(--ink-soft);font-weight:700;min-height:40px}.web-auth-methods button.active{background:#fff;box-shadow:0 1px 3px #1e1c1924;color:var(--orange)}.web-auth-pin-input{font-size:24px!important;letter-spacing:0;text-align:center}.web-auth-submit,.web-auth-retry{align-items:center;display:flex;gap:8px;justify-content:center;min-height:44px}.web-auth-error{background:#fff1ec;border:1px solid #f2b7a2;border-radius:6px;color:#9c2f14;font-size:14px;line-height:1.45;padding:12px 14px}@media(max-width:520px){.web-auth-screen{align-items:stretch;padding:0}.web-auth-panel{border:0;border-radius:0;box-shadow:none;max-width:none;padding:28px 20px}.web-owner-pin-fields{grid-template-columns:1fr}}.ai-chat-box{border-top:4px solid var(--orange);display:grid;gap:8px;margin-top:6px;max-width:100%;min-height:44px;min-width:0;overflow:hidden;width:100%}.ai-chat-header{align-items:center;background:transparent;color:var(--orange);display:flex;flex-wrap:wrap;font-size:15px;font-weight:900;gap:6px;justify-content:space-between;max-width:100%;min-height:34px;min-width:0;overflow:hidden;padding:8px 0 4px;text-align:left;width:100%}.ai-chat-title-button,.ai-chat-toggle-button,.ai-chat-new-button{align-items:center;background:transparent;border:0;color:var(--orange);display:inline-flex;font:inherit}.ai-chat-title-button{flex:0 0 auto;align-items:center;gap:6px;max-width:68px;min-width:0;overflow:hidden;padding:0;text-align:left}.ai-chat-history-select{background:#fff;border:1px solid rgba(232,99,10,.28);border-radius:6px;color:#1b1b1b;flex:1 1 34px;font-size:11px;font-weight:700;min-height:24px;min-width:0;max-width:100%;padding:3px 4px;width:100%}.ai-chat-history-select:disabled{cursor:not-allowed;opacity:.55}.ai-chat-toggle-button{flex:0 0 auto;height:28px;justify-content:center;padding:0;width:24px}.ai-chat-new-button{background:#fff4ec;border:1px solid rgba(232,99,10,.34);border-radius:6px;flex:0 0 auto;font-size:11px;font-weight:900;min-height:24px;padding:4px 7px;white-space:nowrap}.ai-chat-new-button:disabled{cursor:not-allowed;opacity:.55}.ai-chat-new-button:not(:disabled):hover,.ai-chat-toggle-button:hover,.ai-chat-title-button:hover{color:var(--orange-dark)}.ai-chat-box.open{background:#fff;border:2px solid var(--orange);border-top-width:4px;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto auto;height:min(440px,calc(100vh - 44px));min-height:320px;padding:0 8px 8px}.ai-chat-messages{display:grid;gap:8px;max-width:100%;min-height:0;min-width:0;overflow-y:auto;padding-right:2px}.ai-chat-message{display:flex;max-width:100%;min-width:0}.ai-chat-message-content{background:#f5f5f5;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;line-height:1.35;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:7px 8px;white-space:pre-wrap;word-break:break-word}.ai-chat-message.user{justify-content:flex-end}.ai-chat-message.user .ai-chat-message-content{background:#fff4ec;border-color:#e8630a3d}.ai-chat-message-content.formatted{display:grid;gap:6px;max-width:100%;white-space:normal}.ai-chat-message-content.formatted h4,.ai-chat-message-content.formatted h5,.ai-chat-message-content.formatted p,.ai-chat-message-content.formatted ul,.ai-chat-message-content.formatted ol{margin:0}.ai-chat-message-content.formatted h4,.ai-chat-message-content.formatted h5{color:var(--text);font-size:12px;font-weight:900;line-height:1.25}.ai-chat-message-content.formatted ul,.ai-chat-message-content.formatted ol{display:grid;gap:4px;padding-left:16px}.ai-chat-message-content.formatted li{padding-left:1px}.ai-chat-message-content.formatted code{background:#fff;border:1px solid var(--border);border-radius:4px;font-size:11px;padding:1px 3px}.ai-chat-table-wrap{max-width:100%;overflow-x:auto}.ai-chat-table-wrap table{border-collapse:collapse;font-size:11px;min-width:100%}.ai-chat-table-wrap th,.ai-chat-table-wrap td{border:1px solid var(--border);padding:4px 5px;text-align:left;vertical-align:top}.ai-chat-table-wrap th{background:#fff4ec;color:var(--text);font-weight:900}.ai-action-preview{background:#fff8f3;border:1px solid rgba(232,99,10,.28);border-radius:8px;display:grid;gap:6px;padding:8px}.ai-action-preview strong,.ai-action-preview span{font-size:12px}.ai-action-buttons{display:flex;gap:6px}.ai-action-preview .primary-button,.ai-action-preview .ghost-button{min-height:30px;padding:6px 8px}.ai-quote-source-approval{border-top:1px solid rgba(232,99,10,.24);display:grid;gap:8px;margin-top:2px;min-width:0;padding-top:8px}.ai-quote-source-title,.ai-quote-source-approved{align-items:center;display:flex;gap:5px}.ai-quote-source-approval dl{display:grid;gap:4px;margin:0}.ai-quote-source-approval dl div{display:grid;gap:6px;grid-template-columns:58px minmax(0,1fr)}.ai-quote-source-approval dt,.ai-quote-source-approval dd{font-size:11px;margin:0;overflow-wrap:anywhere}.ai-quote-source-approval dt{color:var(--muted);font-weight:800}.ai-quote-source-approval fieldset{border:0;display:grid;gap:5px;margin:0;min-width:0;padding:0}.ai-quote-source-approval legend{font-size:11px;font-weight:800;margin-bottom:4px}.ai-quote-source-approval fieldset label{align-items:flex-start;display:grid;gap:6px;grid-template-columns:18px minmax(0,1fr)}.ai-quote-source-approval fieldset input{height:17px;margin:1px 0 0;width:17px}.ai-quote-source-approval fieldset span{display:grid;gap:1px;min-width:0}.ai-quote-source-approval fieldset small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.ai-quote-source-filing-controls{align-items:end;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto}.ai-quote-source-filing-controls label{display:grid;font-size:11px;gap:4px}.ai-quote-source-filing-controls select{font-size:11px;min-height:30px;min-width:0;padding:5px 7px;width:100%}.ai-quote-source-filing-controls .ghost-button{white-space:nowrap}.ai-quote-source-approved{color:#276438;font-size:11px;font-weight:800;grid-column:1 / -1}.ai-email-approval,.ai-document-approval{background:#fff8f3;border:1px solid rgba(232,99,10,.28);border-radius:8px;display:grid;gap:8px;max-width:100%;padding:8px}.ai-email-approval strong,.ai-document-approval strong{font-size:12px}.ai-email-approval label,.ai-document-approval label{display:grid;font-size:11px;gap:4px}.ai-email-approval input,.ai-email-approval select,.ai-email-approval textarea,.ai-document-approval input,.ai-document-approval select,.ai-document-approval textarea{font-size:12px;min-height:30px;padding:6px 8px}.ai-email-approval textarea,.ai-document-approval textarea{min-height:96px;resize:vertical}.ai-email-approval>div:last-child,.ai-document-approval>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.ai-email-approval .primary-button,.ai-email-approval .ghost-button,.ai-document-approval .primary-button,.ai-document-approval .ghost-button{min-height:30px;padding:6px 8px}.ai-document-approval-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-document-approval .ai-document-checkbox{align-items:center;display:flex;gap:7px}.ai-document-approval .ai-document-checkbox input{min-height:18px;width:18px}.ai-document-totals{align-items:center;display:flex;gap:18px;justify-content:flex-end}.ai-chat-input{align-items:end;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;max-width:100%;min-width:0}.ai-chat-attachments{display:flex;gap:8px;grid-column:1 / -1;max-width:100%;overflow-x:auto;padding:2px 0}.ai-chat-attachment{align-items:center;background:#fbfaf8;border:1px solid var(--border);border-radius:8px;display:grid;flex:0 0 190px;gap:7px;grid-template-columns:42px minmax(0,1fr) 28px;min-height:52px;padding:4px}.ai-chat-attachment img{border-radius:5px;height:42px;object-fit:cover;width:42px}.ai-chat-attachment span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-attachment button{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.ai-chat-input-actions{align-items:stretch;display:flex;flex-direction:column;gap:6px}.ai-chat-input .ai-chat-attach-button{color:var(--orange);height:44px;min-height:44px;width:44px}.ai-chat-input textarea{border:1px solid var(--border);border-radius:8px;font-size:15px;line-height:1.35;min-height:168px;min-width:0;padding:8px;resize:vertical;width:100%}.ai-chat-input .primary-button{height:44px;min-height:44px;padding:8px;width:44px}.ai-chat-collapsed-button{align-items:center;background:#fff;border:2px solid var(--orange);border-radius:8px;color:var(--orange);display:inline-flex;height:40px;justify-content:center;margin-top:auto;width:40px}.ai-chat-launcher{align-items:center;background:var(--orange);border:0;border-radius:8px;bottom:calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 12px 28px #241a122e;color:#fff;display:inline-flex;font-size:15px;font-weight:900;gap:8px;left:calc(var(--sidebar-width, 220px) + 16px);min-height:44px;padding:10px 14px;position:fixed;z-index:250}.ai-chat-launcher:hover{background:var(--orange-dark)}.ai-chat-box.ai-chat-floating.open{background:#fff;border:2px solid var(--orange);border-radius:10px;box-shadow:0 24px 60px #241a123d;display:grid;gap:0;grid-template-rows:auto minmax(0,1fr) auto auto auto;margin:0;max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);min-height:320px;min-width:296px;overflow:hidden;padding:0;position:fixed;z-index:300}.ai-chat-floating .ai-chat-header{background:#fff8f3;border-bottom:1px solid rgba(232,99,10,.22);cursor:grab;flex-wrap:nowrap;gap:8px;min-height:52px;overflow:visible;padding:10px 12px;touch-action:none}.ai-chat-drag-handle{align-items:center;background:transparent;border:0;color:var(--orange);display:inline-flex;flex:0 0 auto;font-size:15px;font-weight:900;gap:6px;min-height:32px;min-width:0;padding:0}.ai-chat-floating .ai-chat-header:active,.ai-chat-drag-handle:active{cursor:grabbing}.ai-chat-session-controls{align-items:center;cursor:default;display:flex;flex:1 1 auto;gap:8px;justify-content:flex-end;min-width:0}.ai-chat-floating .ai-chat-history-select{flex:1 1 auto;max-width:210px;min-height:30px;width:auto}.ai-chat-floating .ai-chat-toggle-button{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.ai-chat-floating .ai-chat-messages{gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:12px;-webkit-overflow-scrolling:touch}.ai-chat-floating .ai-chat-message-content{font-size:13px;line-height:1.4}.ai-chat-floating .ai-action-preview,.ai-chat-floating .ai-email-approval,.ai-chat-floating .ai-document-approval{margin:0 12px 10px;max-height:min(42dvh,320px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ai-chat-floating .ai-email-approval input,.ai-chat-floating .ai-email-approval select,.ai-chat-floating .ai-email-approval textarea,.ai-chat-floating .ai-document-approval input,.ai-chat-floating .ai-document-approval select,.ai-chat-floating .ai-document-approval textarea{width:100%}@media(max-width:520px){.ai-document-approval-grid{grid-template-columns:1fr}}.ai-chat-floating .ai-chat-input{align-items:stretch;border-top:1px solid var(--border);gap:8px;grid-template-columns:minmax(0,1fr) 48px;padding:12px}.ai-chat-floating .ai-chat-input textarea{max-height:180px;min-height:112px;resize:none}.ai-chat-floating .ai-chat-input .primary-button{align-self:end;height:48px;min-height:48px;width:48px}.ai-chat-floating .ai-chat-input .ai-chat-attach-button{height:48px;min-height:48px;width:48px}.ai-chat-resize-handle{background:transparent;border:0;bottom:0;cursor:nwse-resize;height:34px;padding:0;position:absolute;right:0;touch-action:none;width:34px}.ai-chat-resize-handle span{border-bottom:2px solid rgba(232,99,10,.72);border-right:2px solid rgba(232,99,10,.72);bottom:8px;display:block;height:12px;position:absolute;right:8px;width:12px}.library-panel{background:var(--sidebar);border-right:1px solid var(--border);display:grid;grid-column:3;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;max-height:100dvh;min-width:280px;overflow:hidden;padding:22px 16px;position:relative;z-index:1}.library-drawer-close{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:none;height:40px;justify-content:center;width:40px}.library-drawer-close:hover{background:#e8630a1a;color:var(--orange)}.panel-resizer{align-items:center;cursor:col-resize;display:flex;justify-content:center;min-width:8px;position:relative;touch-action:none;z-index:8}.panel-resizer span{background:#6b6b6b52;border-radius:999px;display:block;height:52px;transition:background .12s ease,height .12s ease;width:3px}.panel-resizer:hover span,.panel-resizer:focus-visible span,body.is-resizing-panels .panel-resizer span{background:var(--orange);height:76px}.sidebar-library-resizer,.library-builder-resizer{background:#f4f0ea}.sidebar-library-resizer{grid-column:2}.app-shell.sidebar-collapsed .sidebar-library-resizer{cursor:default}.library-builder-resizer{grid-column:4}.builder-preview-resizer{background:#f4f0ea}.panel-header,.builder-toolbar,.canvas-header,.quote-list-header{align-items:center;display:flex;justify-content:space-between;gap:16px}.builder-toolbar{background:var(--bg);position:sticky;top:0;z-index:100}.eyebrow{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:0}h2{font-size:18px;margin-bottom:0}.add-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 38px;margin:16px 0}.add-row.compact{margin:8px 0 12px}input,textarea{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:36px;outline:none;overflow:hidden;padding:10px 11px;resize:none;width:100%}input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.add-row button,.icon-button,.tiny-button,.row-action,.drag-handle{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-flex;height:36px;justify-content:center;width:36px}.space-list{display:grid;gap:10px;overflow:auto;overscroll-behavior:contain;padding-right:4px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.space-group{border-bottom:1px solid var(--border);padding-bottom:10px}.space-row{align-items:center;cursor:pointer;display:grid;gap:6px}.space-row{grid-template-columns:34px minmax(0,1fr) 34px 34px 34px}.space-collapse-button{color:var(--muted)}.item-row{align-items:start;background:transparent;display:grid;gap:5px;grid-template-columns:minmax(0,1fr);margin-bottom:6px;min-width:0}.item-row.editing{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px}.library-space-drag,.library-item-drag{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;gap:6px;min-height:36px;padding:8px;text-align:left;width:100%}.library-space-drag{display:grid;font-size:13px;font-weight:800;grid-template-columns:26px minmax(0,1fr);min-width:0;text-transform:uppercase}.library-space-drag span{overflow-wrap:anywhere}.library-item-drag{align-items:start;color:#333;display:grid;font-size:13px;gap:6px;grid-template-columns:26px minmax(0,1fr);min-width:0;padding:7px 8px}.library-item-grip{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;height:28px;justify-content:center;padding:0;width:24px;touch-action:none}.library-item-text-button{align-items:start;background:transparent;border:0;color:inherit;display:grid;gap:5px;grid-template-columns:13px minmax(0,1fr);justify-items:start;line-height:1.35;min-height:28px;min-width:0;padding:3px 0 0;text-align:left;width:100%}.library-item-bullet{font-weight:700;line-height:1.35}.library-item-rich-text{min-width:0;overflow-wrap:anywhere}.item-action-row{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;padding-left:34px}.item-action-row .tiny-button{border-color:#e6e0d8;color:#595959;height:26px;width:26px}.rich-editor-shell{display:grid;gap:6px;min-width:0}.rich-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:5px;position:relative}.rich-toolbar button,.rich-font-select,.rich-font-size-select{background:#fbfaf8;border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:12px;font-weight:800;height:28px;min-width:28px;padding:3px 8px}.rich-font-select{font-weight:600;min-width:126px}.rich-font-size-select{font-weight:600;min-width:72px}.rich-color-control{display:inline-flex;position:relative}.rich-toolbar .rich-color-button{align-items:center;display:inline-grid;font-weight:800;gap:1px;justify-items:center;padding:2px 7px}.rich-color-button i{border:1px solid rgba(26,26,26,.2);border-radius:999px;display:block;height:3px;width:16px}.rich-color-popover{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:6px;grid-template-columns:repeat(10,22px);left:0;padding:7px;position:absolute;top:calc(100% + 6px);z-index:120}.rich-color-popover.above{bottom:calc(100% + 6px);top:auto}.rich-toolbar .rich-color-swatch,.rich-toolbar .rich-color-wheel{align-items:center;background:#fff;border:1px solid rgba(26,26,26,.25);border-radius:6px;color:var(--text);display:inline-flex;height:22px;justify-content:center;min-width:22px;padding:0;position:relative;width:22px}.rich-toolbar .rich-color-swatch.white{border-color:#1a1a1a73}.rich-toolbar .rich-color-wheel{background:#fbfaf8;overflow:hidden}.rich-color-input{height:100%;top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;width:100%}.rich-editable{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-weight:400;line-height:1.4;min-height:36px;outline:none;overflow-wrap:anywhere;padding:9px 10px;white-space:pre-wrap;word-wrap:break-word}.rich-editable:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.rich-editable ul,.rich-editable ol,.formatted-field-value ul,.formatted-field-value ol{margin:4px 0 4px 22px;padding:0}.rich-editable li,.formatted-field-value li{margin:2px 0}.item-list{padding:8px 0 0 40px}.tiny-button{font-size:12px;height:28px;width:28px}.push-scope-button.pushed{background:#e8630a24;border-color:var(--orange);color:var(--orange)}.edit-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.edit-actions button{background:#fff;border:1px solid var(--border);border-radius:8px;min-height:32px;padding:4px 10px}.small{font-size:13px}.builder-page{display:grid;grid-column:5;grid-template-columns:minmax(0,1fr);height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.builder-page.with-preview{grid-template-columns:minmax(460px,1fr) 8px minmax(320px,var(--preview-width, 390px))}.builder-workspace,.preview-column,.quote-list-page{max-height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:24px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.builder-workspace{align-content:start;display:grid;gap:16px;grid-auto-rows:max-content;min-width:0}.builder-workspace>*{max-width:100%;min-width:0;width:100%}.toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.read-only-banner,.read-only-pill{align-items:center;background:#f4e7db;border:1px solid #edc4a5;border-radius:999px;color:#9c3b08;display:inline-flex;font-size:11px;font-weight:900;letter-spacing:0;line-height:1;padding:5px 8px;text-transform:uppercase}.read-only-banner{margin-top:8px}.read-only-pill{margin-left:4px}.details-panel,.quote-canvas,.exclusions-panel,.pricing-panel,.preview-panel,.export-panel,.quote-table,.search-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-width:100%;min-width:0}.details-toggle{align-items:center;background:transparent;border:0;display:flex;font-weight:800;justify-content:space-between;padding:14px 16px;width:100%}.details-toggle span{align-items:center;display:inline-flex;gap:8px}.details-grid{border-top:1px solid var(--border);display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:16px}label{color:var(--muted);display:grid;font-size:12px;font-weight:700;gap:6px}label.wide{grid-column:span 2}label.highlight-label{color:var(--orange)}.field-label-text{align-items:center;display:inline-flex;gap:6px}.field-note{color:var(--muted);font-size:11px;font-weight:700}.auto-field input,input[readonly]{background:#f1f1f1;color:#555}.quote-canvas{align-content:start;display:grid;gap:14px;height:max-content;min-height:360px;overflow:visible;padding:16px;touch-action:pan-y}.quote-canvas.over{border-color:var(--orange)}.quote-canvas.read-only{background:#fbfaf8}.canvas-list{align-content:start;display:grid;gap:8px;min-height:0;min-width:0}.canvas-row{align-items:start;background:#fff;border:1px solid var(--border);border-radius:10px;display:grid;gap:8px;grid-template-columns:36px minmax(0,1fr) 36px 36px;min-width:0;padding:8px;width:100%}.canvas-row.heading{grid-template-columns:36px minmax(0,1fr) auto 36px 36px}.canvas-row.dotpoint{grid-template-columns:36px 18px minmax(0,1fr) 36px;margin-left:clamp(10px,4vw,28px);width:calc(100% - clamp(10px,4vw,28px))}.canvas-row.dragging{opacity:.65}.canvas-row.heading .canvas-textarea,.canvas-row.heading .canvas-rich-display,.canvas-row.heading .canvas-rich-editable{color:var(--orange);font-weight:800;text-transform:uppercase}.canvas-row.dotpoint .canvas-textarea,.canvas-row.dotpoint .canvas-rich-display{padding-left:10px}.canvas-textarea{border:0;min-height:38px;min-width:0;overflow:hidden;padding:9px 10px}.canvas-textarea:focus{border:1px solid var(--orange)}.canvas-rich-display,.canvas-rich-editable{background:#fff;border:0;border-radius:8px;color:var(--text);line-height:1.45;min-height:38px;min-width:0;outline:none;overflow-wrap:anywhere;padding:9px 10px;white-space:pre-wrap;word-wrap:break-word}.canvas-rich-display{display:block;min-height:38px;text-align:left;width:100%}.canvas-rich-editable:focus{border:1px solid var(--orange);box-shadow:0 0 0 3px #e8630a1f}.canvas-rich-editor{min-width:0}.drag-handle{color:var(--muted)}.bullet-marker{color:var(--text);font-size:22px;line-height:36px;text-align:center}.row-action{opacity:0;transition:opacity .12s ease}.canvas-row:hover .row-action,.canvas-row:focus-within .row-action{opacity:1}.row-action.danger{color:#9c2f16}.heading-row-button{align-items:center;align-self:start;background:var(--orange);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:800;gap:5px;height:36px;justify-content:center;padding:0 10px;white-space:nowrap}.heading-row-button:hover{background:var(--orange-dark)}.empty-canvas,.empty-list,.inline-error{border:1px dashed var(--border);border-radius:10px;color:var(--muted);padding:28px;text-align:center}.inline-error{border-color:#e5a08f;color:#9c2f16;padding:12px}.pricing-panel{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:16px}.pricing-panel>*,.price-readout{min-width:0}.price-readout strong{overflow-wrap:anywhere}.price-readout{background:#fbfaf8;border:1px solid var(--border);border-radius:10px;display:grid;gap:4px;padding:11px}.price-readout span{color:var(--muted);font-size:12px;font-weight:700}.quote-gst-toggle{align-items:center;cursor:pointer;display:flex;gap:8px}.quote-gst-toggle:has(input:disabled){cursor:default}.quote-gst-toggle input{accent-color:var(--orange);height:18px;margin:0;width:18px}.price-readout.total strong{color:var(--orange);font-size:18px}.preview-column{background:#f4f0ea;border-left:1px solid var(--border);display:grid;gap:16px;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;min-width:320px;min-width:0;overflow:hidden}.preview-edge-toggle,.preview-drawer-close{align-items:center;background:#fff;border:2px solid var(--orange);border-radius:8px;box-shadow:0 8px 20px #2d2d2d24;color:var(--orange);display:none;height:44px;justify-content:center;width:44px}.preview-edge-toggle:hover,.preview-drawer-close:hover{background:#fff6ef}.preview-panel{max-width:100%;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.preview-paper-frame{display:flex;justify-content:center;max-width:100%;min-width:0;overflow:hidden;position:relative;width:100%}.preview-paper{background:#fff;color:#222;font-family:var(--document-font);font-size:13px;font-weight:400;line-height:1.45;min-height:0;padding:clamp(18px,5vw,44px);width:min(100%,794px)}.document-header{align-items:start;background:var(--pdf-header-bg, #f5f5f4);border-bottom:3px solid var(--pdf-accent, var(--orange));border-radius:12px 12px 0 0;display:flex;justify-content:space-between;gap:18px;min-width:0;padding:clamp(14px,3vw,20px)}.document-logo{align-items:center;aspect-ratio:4 / 3;border:0;display:flex;flex:0 1 230px;justify-content:center;min-width:120px}.document-logo img{border:0;height:100%;max-width:100%;object-fit:contain;width:100%}.document-company{color:#6b6b6b;display:grid;font-size:clamp(9px,1.8vw,13px);font-weight:400;gap:5px;line-height:1.45;min-width:0;overflow-wrap:anywhere;text-align:right}.document-company .document-supplier-catalogue-link,.document-company .document-supplier-catalogue-link:visited{color:#0563c1;display:inline-block;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:1px}.document-header-right{align-items:flex-end;align-self:stretch;display:flex;flex:1 1 auto;flex-direction:column;gap:12px;justify-content:space-between;min-width:0;position:relative}.document-qr-row{align-items:center;display:flex;flex:0 1 auto;gap:6px;justify-content:flex-end;margin-top:0;max-width:100%;min-width:0}.document-header-right .document-qr-row{bottom:0;position:absolute;right:0}.document-qr-caption{color:#555;flex:1 1 auto;font-size:8pt;font-weight:600;line-height:1.15;margin:0;max-width:210px;min-width:0;overflow-wrap:anywhere;text-align:right;text-transform:uppercase;white-space:pre-line}.document-qr{background:#fff;border:1px solid #dddddd;border-radius:4px;display:block;flex:0 0 var(--document-qr-size, 28px);height:var(--document-qr-size, 28px);object-fit:contain;padding:2px;width:var(--document-qr-size, 28px)}.document-qr-strip{display:flex;justify-content:flex-end;margin:8px 24px 0 0;min-height:34px}.document-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:10px 0 14px;min-width:0}.document-company strong{color:#1a1a1a;font-size:clamp(10px,2vw,15px);font-weight:700}.document-title{color:var(--pdf-accent, var(--orange));font-size:clamp(24px,5vw,36px);font-weight:700;letter-spacing:0;margin:10px 0 14px}.document-title-row .document-title{flex:1 1 auto;margin:0;min-width:0}.document-title-row .document-qr-strip{flex:0 0 auto;margin:0 24px 0 0;min-height:30px}.document-card{background:var(--pdf-card-bg, #f5f5f5);border:1px solid #dddddd;border-radius:12px;break-inside:avoid;height:auto;margin:0 0 12px;min-height:0;padding:14px 18px}.preview-paper:not(.invoice-print-paper)>.document-card{margin-bottom:10px;padding:12px 16px}.document-detail-grid{display:grid;font-size:13px;gap:8px 18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.preview-paper:not(.invoice-print-paper)>.document-section .document-detail-grid{gap:6px 18px}.document-detail-grid div{min-width:0}.document-detail-grid dt{color:#555;font-size:11px;font-weight:600;letter-spacing:0;margin-bottom:3px;text-transform:uppercase}.preview-paper:not(.invoice-print-paper)>.document-section .document-detail-grid dt{margin-bottom:2px}.document-detail-grid dd{color:#1a1a1a;font-weight:600;line-height:1.45;margin:0;overflow-wrap:anywhere}.document-section h3,.document-scope h3,.document-acceptance h3{color:var(--pdf-accent, var(--orange));font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 9px;text-transform:uppercase}.preview-paper:not(.invoice-print-paper)>.document-section h3,.preview-paper:not(.invoice-print-paper)>.document-scope h3,.preview-paper:not(.invoice-print-paper)>.document-acceptance h3{margin-bottom:7px}.document-subheading,.document-muted{color:#555;font-size:13px;margin-bottom:8px}.document-acknowledgement{break-before:auto;break-inside:avoid;height:auto;overflow:visible;page-break-before:auto;page-break-inside:avoid}.document-acknowledgement-new-page{break-before:page;page-break-before:always}.document-acknowledgement .acknowledgement-text{color:#1a1a1a;font-size:8pt;line-height:1.22;margin:0}.scope-group{background:var(--pdf-nested-bg, #eeeeee);border-radius:10px;height:auto;margin-top:10px;min-height:0;padding:10px 12px}.scope-group h3{color:var(--pdf-accent, #c95108);font-size:14px;font-weight:700;margin-bottom:6px}.scope-continuation-page{break-before:page;page-break-before:always}.document-scope-continuation{height:auto;min-height:0}.document-scope-continuation-title{color:var(--pdf-accent, var(--orange));font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 9px;text-transform:uppercase}.document-scope ul{margin:0 0 8px 20px;padding:0}.document-scope li{font-size:13px;line-height:1.45;margin-bottom:3px}@media screen{.preview-panel .document-header{flex-wrap:wrap}.preview-panel .document-logo{flex:0 1 min(180px,100%);max-width:min(180px,100%);min-width:0}.preview-panel .document-header-right{flex:1 1 min(220px,100%);max-width:100%;min-width:min(220px,100%);padding-bottom:42px;width:100%}.preview-panel .document-company{width:100%}.preview-panel .document-qr-row{max-width:min(100%,220px)}.preview-panel .document-qr-strip .document-qr-row{max-width:100%}.preview-panel .document-qr-caption{flex:0 1 auto;font-size:7pt;max-width:min(160px,calc(100% - 38px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{.document-header-right{gap:0!important;justify-content:flex-start!important;position:relative!important}.document-header-right .document-qr-row{bottom:0!important;gap:4px!important;margin-top:0!important;position:absolute!important;right:0!important}.document-qr-caption{font-size:6pt!important;line-height:1.05!important;max-width:none!important;min-width:0!important;overflow-wrap:anywhere!important;white-space:normal!important}.document-qr{flex:0 0 var(--document-qr-size, 28px)!important;height:var(--document-qr-size, 28px)!important;max-height:var(--document-qr-size, 28px)!important;max-width:var(--document-qr-size, 28px)!important;padding:1px!important;width:var(--document-qr-size, 28px)!important}.document-qr-strip{break-inside:avoid!important;display:flex!important;justify-content:flex-end!important;margin:6px 24px 0 0!important;min-height:32px!important;page-break-inside:avoid!important}.document-qr-strip .document-qr-row{display:grid!important;gap:4px!important;grid-template-columns:minmax(0,1fr) var(--document-qr-size, 28px)!important;justify-items:end!important;max-width:270px!important;position:static!important;width:270px!important}.document-title-row{align-items:center!important;margin:10px 0 14px!important}.document-title-row .document-qr-strip{flex:0 0 270px!important;margin:0 24px 0 0!important;max-width:270px!important;min-height:30px!important}.document-scope{background:var(--pdf-card-bg, #f5f5f5)!important;border-radius:8px!important;break-inside:auto!important;height:auto!important;margin-bottom:8px!important;min-height:0!important;page-break-inside:auto!important;padding:12px!important}.scope-group{background:var(--pdf-nested-bg, #eeeeee)!important;border-radius:6px!important;break-inside:auto!important;height:auto!important;min-height:0!important;page-break-inside:auto!important;padding:10px!important}.document-card{height:auto!important;min-height:0!important}.scope-group h3{break-after:avoid!important;page-break-after:avoid!important}.document-scope li,.document-pricing,.document-acceptance{break-inside:avoid!important;page-break-inside:avoid!important}.document-acknowledgement{break-before:auto!important;break-inside:avoid!important;page-break-before:auto!important;page-break-inside:avoid!important}.document-acknowledgement-new-page{break-before:page!important;page-break-before:always!important}}.document-list li{break-inside:avoid;font-size:13px;line-height:1.45;margin-bottom:3px}.document-list{margin:0 0 8px 18px;padding:0}.document-pricing{border:1px solid #dddddd;border-radius:12px;break-inside:avoid;display:grid;gap:0;margin:0 0 12px;overflow:hidden}.document-pricing div{display:flex;justify-content:space-between;gap:16px;padding:8px 16px}.document-pricing .subtotal,.document-pricing .gst{background:var(--pdf-price-bg, #f0f0f0)}.document-pricing .total{background:var(--pdf-total-bg, #dedede);color:#1a1a1a;font-size:14px;font-weight:700}.document-pricing .total span{color:var(--pdf-accent, var(--orange))}.document-pricing strong{white-space:nowrap}.bank-details-row-card{align-items:stretch;background:var(--pdf-card-bg, #f5f5f5);border:1px solid #dddddd;border-radius:12px;break-inside:avoid;display:grid;grid-template-columns:1.05fr 1.65fr 1.3fr 1fr;margin:0 0 12px;overflow:hidden;page-break-inside:avoid}.bank-details-row-title,.bank-details-row-field{min-width:0;padding:12px 14px}.bank-details-row-title{align-items:center;color:var(--pdf-accent, var(--orange));display:flex;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.bank-details-row-field{border-left:1px solid rgba(201,81,8,.18);margin:0}.bank-details-row-field dt{color:#555;font-size:11px;font-weight:600;letter-spacing:0;margin-bottom:3px;text-transform:uppercase}.bank-details-row-field dd{color:#1a1a1a;font-weight:600;line-height:1.45;margin:0;overflow-wrap:anywhere}.invoice-print-paper .document-header{padding:12px 16px}.invoice-print-paper .document-logo{flex-basis:190px;min-width:100px}.invoice-print-paper .document-title,.invoice-print-paper .invoice-title-row{margin:14px 0 10px}.invoice-print-paper .invoice-title-row .document-title{margin:0}.invoice-print-paper .invoice-title-row .document-qr-strip{margin:0 6px 0 0}.invoice-print-paper .document-card{margin-bottom:9px;padding:11px 14px}.invoice-print-paper .document-detail-grid{gap:6px 14px}.invoice-print-paper .document-section h3,.invoice-print-paper .document-scope h3,.invoice-print-paper .document-acceptance h3{margin-bottom:7px}.invoice-print-paper .document-pricing{margin-bottom:9px}.invoice-print-paper .document-pricing div{padding:6px 14px}.project-balance-toggle{align-items:flex-start;background:#fffaf6;border:1px solid rgba(232,99,10,.28);border-radius:8px;display:flex;gap:10px;margin:0 0 14px;padding:10px 12px}.project-balance-toggle input{margin-top:3px}.project-balance-toggle span{display:grid;gap:3px}.project-balance-toggle small{color:#6a625b;font-size:12px;line-height:1.35}.project-balance-toggle.auto{background:#f8f5f1;border-color:#ded8cf}.invoice-print-paper .bank-details-row-card{margin-bottom:0}.signature-line{border-bottom:1px solid rgba(26,26,26,.45);height:24px;margin:8px 0 0}.document-acceptance p{font-weight:600;margin:8px 0 0}.signature-line+p{margin-top:32px}.signature-line+p+p{margin-top:10px}.export-panel{display:grid;gap:12px;padding:16px}.export-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.export-actions button{background:var(--orange);color:#fff;font-weight:800}.download-hint{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px}.quote-ai-toolbar-button.recording{background:#e8630a1f;color:var(--orange-dark)}.quote-ai-toolbar-button>span{align-items:center;background:var(--orange);border-radius:999px;color:#fff;display:inline-flex;font-size:10px;font-weight:900;height:20px;justify-content:center;min-width:20px;padding:0 5px}.quote-ai-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:14px;padding:16px}.quote-ai-header,.quote-ai-section-heading,.quote-ai-recording-status,.quote-ai-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.quote-ai-header .icon-button{flex:0 0 auto}.quote-ai-tabs{background:#fbfaf8;border:1px solid var(--border);border-radius:10px;display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.quote-ai-tabs button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--muted);display:inline-flex;font-weight:800;gap:7px;justify-content:center;min-height:38px}.quote-ai-tabs button.active{background:#fff;box-shadow:var(--shadow);color:var(--orange)}.quote-ai-content,.quote-ai-rules,.quote-ai-rule-list,.quote-ai-recording-card,.quote-ai-session-summary,.quote-ai-draft-preview,.quote-ai-notes{display:grid;gap:12px}.quote-ai-form-grid{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-ai-form-grid .wide{grid-column:1 / -1}.quote-ai-form-grid select{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:36px;outline:none;padding:8px 11px;width:100%}.quote-ai-form-grid select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.quote-ai-recording-card,.quote-ai-rule-card,.quote-ai-draft-preview{background:#fbfaf8;border:1px solid var(--border);border-radius:10px;padding:14px}.quote-ai-recording-badge,.quote-ai-rule-count,.quote-ai-applied{align-items:center;border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;gap:6px;padding:5px 8px}.quote-ai-recording-badge i{background:var(--muted);border-radius:50%;height:8px;width:8px}.quote-ai-recording-badge.active,.quote-ai-applied{border-color:var(--orange);color:var(--orange-dark)}.quote-ai-recording-badge.active i{background:var(--orange);box-shadow:0 0 0 3px #e8630a29}.quote-ai-session-summary p,.quote-ai-rule-card p,.quote-ai-draft-grid p,.quote-ai-warning p,.quote-ai-replace-confirmation p,.quote-ai-draft-scope p{margin:0}.quote-ai-rule-count{color:var(--muted);white-space:nowrap}.quote-ai-rule-card{display:grid;gap:9px}.quote-ai-rule-meta{color:var(--orange-dark);display:flex;font-size:11px;font-weight:800;gap:10px;justify-content:space-between;text-transform:uppercase}.quote-ai-rule-card p,.quote-ai-draft-grid p,.quote-ai-draft-grid li,.quote-ai-notes li{color:var(--muted);font-size:12px;line-height:1.45}.quote-ai-warning,.quote-ai-replace-confirmation{align-items:start;background:#fff1ec;border:1px solid #e5a08f;border-radius:10px;color:#9c2f16;display:flex;gap:10px;padding:11px}.quote-ai-warning>svg,.quote-ai-replace-confirmation>svg{flex:0 0 auto}.quote-ai-replace-confirmation{align-items:center;flex-wrap:wrap}.quote-ai-replace-confirmation>div{flex:1 1 260px}.quote-ai-draft-scope{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:6px;max-height:280px;overflow:auto;padding:12px}.quote-ai-draft-scope strong{color:var(--orange-dark);font-size:12px;margin-top:5px}.quote-ai-draft-heading,.quote-ai-library-item,.quote-ai-custom-select,.quote-ai-library-target-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.quote-ai-draft-heading{border-bottom:1px solid var(--border);padding:6px 0}.library-wording-badge,.new-wording-badge{border:1px solid #b9c7bb;border-radius:999px;color:#315f39;flex:0 0 auto;font-size:10px;font-weight:800;padding:2px 7px;text-transform:uppercase}.new-wording-badge{border-color:#e5a08f;color:var(--orange-dark)}.quote-ai-library-item span:first-child{min-width:0}.quote-ai-custom-item{background:#fffaf7;border:1px solid #efc3b3;border-radius:8px;display:grid;gap:8px;padding:9px}.quote-ai-custom-select{justify-content:flex-start}.quote-ai-custom-select input{width:auto}.quote-ai-custom-item textarea,.quote-ai-library-target-row select{width:100%}.quote-ai-library-target-row select{min-width:0}.quote-ai-library-target-row .ghost-button{flex:0 0 auto}.quote-ai-add-selected{justify-self:start}.quote-ai-draft-scope p{font-size:12px;padding-left:8px}.quote-ai-draft-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-ai-draft-grid>div{background:#fff;border:1px solid var(--border);border-radius:8px;padding:11px}.quote-ai-draft-grid ul,.quote-ai-notes ul{margin:7px 0 0;padding-left:18px}.exclusions-panel{display:grid;gap:10px;padding:16px}.exclusion-options{display:grid;gap:6px}.check-row{align-items:start;color:var(--text);display:grid;font-size:12px;font-weight:600;gap:8px;grid-template-columns:16px minmax(0,1fr)}.check-row input{height:15px;margin:1px 0 0;padding:0;width:15px}.selected-exclusions{display:grid;gap:6px}.selected-exclusion-item{align-items:center;background:#fbfaf8;border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;font-size:12px;gap:6px;grid-template-columns:minmax(0,1fr) auto;padding:6px 8px}.selected-exclusion-text{background:transparent;border:0;color:var(--text);font:inherit;min-width:0;overflow-wrap:anywhere;padding:0;text-align:left}.selected-exclusion-text:disabled{opacity:1}.selected-exclusion-remove{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--muted);display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.selected-exclusion-remove:hover{border-color:#f0b08a;color:var(--orange)}.exclusion-rich-editor{min-width:0}.exclusion-rich-editor.add{border:1px solid var(--border);border-radius:8px;padding:8px}.exclusion-rich-editor.edit{grid-column:1 / -1}.exclusion-rich-editable{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;line-height:1.4;min-height:36px;outline:none;overflow-wrap:anywhere;padding:9px 10px;white-space:pre-wrap;word-wrap:break-word}.exclusion-rich-editable:empty:before{color:var(--muted);content:attr(data-placeholder);pointer-events:none}.exclusion-rich-editable:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.rich-add-button svg{display:block}.toast-stack{bottom:18px;display:grid;gap:8px;position:fixed;right:18px;z-index:40}.toast{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);color:inherit;display:flex;gap:8px;max-width:420px;padding:12px 14px;text-align:left}.toast.error{background:#fff1ec;color:#9c2f16}.toast.success{background:#f0fff5;color:#1b6935}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.quote-list-page{grid-column:3 / -1}.invoices-page{display:grid;gap:0;grid-column:3 / -1;grid-template-columns:minmax(280px,330px) minmax(0,1fr);max-height:100vh;min-width:0}.invoice-history{background:var(--sidebar);border-right:1px solid var(--border);display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;overflow:hidden;padding:22px 16px}.invoice-history-header{display:grid;gap:14px}.invoice-history-header h1,.invoice-form-card h2,.invoice-empty-state h2{margin:0}.invoice-create-actions{border-bottom:4px solid var(--orange);display:grid;gap:8px;grid-template-columns:1fr;padding-bottom:10px}.invoice-history-list{align-content:start;display:grid;gap:4px;grid-auto-rows:max-content;margin-top:10px;overflow-y:auto;padding-right:4px}.invoice-group{align-content:start;display:grid;gap:6px}.invoice-group-toggle{align-items:center;background:#fff;border:2px solid rgba(232,99,10,.86);border-radius:8px;color:var(--text);display:grid;font-size:14px;font-weight:800;gap:6px;grid-template-columns:18px minmax(0,1fr) auto;justify-items:stretch;letter-spacing:0;line-height:1.25;min-height:36px;padding:5px 8px;text-align:left;width:100%}.invoice-group-toggle:hover,.invoice-group-toggle:focus-visible{background:#e8630a1a}.invoice-group-label{align-self:center;overflow-wrap:anywhere}.invoice-group-balance{align-items:flex-end;color:var(--orange);display:grid;font-size:10px;gap:1px;justify-items:end;line-height:1.1;min-width:96px;text-transform:uppercase}.invoice-group-balance strong{color:var(--text);font-size:11px;font-weight:900;overflow-wrap:anywhere}@media(max-width:520px){.invoice-group-toggle{grid-template-columns:18px minmax(0,1fr)}.invoice-group-balance{align-items:start;grid-column:2;justify-items:start}}.invoice-row{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:0;padding:8px 10px;position:relative}.invoice-row-main{background:transparent;border:0;color:var(--text);display:grid;gap:2px;justify-items:start;line-height:1.25;padding:0;text-align:left;width:100%}.invoice-row-main strong,.invoice-row-main span,.invoice-row-main b{line-height:1.25}.invoice-row-main b{color:var(--orange)}.type-pill{border-radius:999px;font-size:9px;font-weight:800;letter-spacing:0;padding:2px 7px}.type-pill.invoice{background:var(--orange);color:#fff}.type-pill.receipt{background:#dedede;color:var(--text)}.invoice-row-actions{display:flex;gap:4px;opacity:0;pointer-events:none;position:absolute;right:6px;top:6px;transition:opacity .12s ease}.invoice-row:hover .invoice-row-actions,.invoice-row:focus-within .invoice-row-actions,.invoice-row.latest-project-invoice .invoice-row-actions,.invoice-row.latest-project-balance-invoice .invoice-row-actions{opacity:1;pointer-events:auto}.invoice-row-actions button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;display:inline-flex;height:26px;justify-content:center;width:26px}.invoice-row-actions .next-progress-invoice-button{background:var(--orange);border-color:var(--orange-dark);color:#fff}.invoice-row-actions .next-progress-invoice-button:hover,.invoice-row-actions .next-progress-invoice-button:focus-visible{background:var(--orange-dark);outline:2px solid #fff;outline-offset:-3px}.invoice-form-panel{max-height:100vh;min-width:0;overflow-y:auto;padding:24px}.invoice-form{display:grid;gap:16px;max-width:980px}.invoice-form-card{background:#f5f5f5;border:1px solid #dddddd;border-radius:12px;display:grid;gap:14px;padding:16px}.invoice-card-title{align-items:center;display:flex;gap:8px}.invoice-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-grid .wide,.invoice-form-card>.wide{grid-column:1 / -1}.source-selector-tabs{width:min(430px,100%)}.formatted-field{display:grid;gap:6px;min-width:0}.formatted-field-value{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);min-height:42px;overflow-wrap:anywhere;padding:10px 12px;text-align:left;width:100%}.formatted-field-value.empty{color:var(--muted)}.formatted-field-value:hover,.formatted-field-value:focus-visible{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.invoice-rich-editor .rich-editable{background:#fff;min-height:48px}.gst-document-summary{align-items:end;background:#e8630a0d;border:1px solid rgba(232,99,10,.35);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(150px,.8fr);padding:12px}.gst-document-toggle{align-items:center;display:flex;font-weight:800;gap:9px;min-height:42px}.gst-document-toggle input{accent-color:var(--orange);height:20px;width:20px}.invoice-quote-picker{display:grid;gap:8px;position:relative}.quote-picker-header,.quote-picker-search-row{align-items:center;display:flex;gap:10px}.quote-picker-header{justify-content:space-between}.quote-picker-header label{color:#666;font-size:13px;font-weight:800}.compact-button{min-height:32px;padding:6px 9px}.quote-picker-search-row{background:#fff;border:1px solid var(--border);border-radius:8px;padding:0 8px}.quote-picker-search-row:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.quote-picker-search-row input{border:0;flex:1 1 auto;min-width:0;outline:0;padding:11px 4px}.quote-picker-results{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 42px #241a121f;display:grid;max-height:280px;overflow:auto;padding:6px;z-index:3}@media(pointer:coarse){.invoice-row-actions{opacity:1;pointer-events:auto}}@media(max-width:720px){.gst-document-summary{grid-template-columns:1fr}}.quote-picker-results button{background:transparent;border:0;border-radius:8px;display:grid;gap:3px;justify-items:start;padding:10px 12px;text-align:left}.quote-picker-results button:hover,.quote-picker-results button:focus-visible{background:#e8630a1a}.quote-picker-results button span,.quote-picker-empty{color:var(--muted);font-size:13px}.quote-picker-empty{align-items:center;display:flex;gap:8px;padding:12px}.segmented-control{background:#eee;border:1px solid #dddddd;border-radius:10px;display:inline-grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;width:min(420px,100%)}.segmented-control.compact{width:min(520px,100%)}.segmented-control button{background:transparent;border:0;border-radius:8px;font-weight:800;padding:9px 10px}.segmented-control button.active{background:#fff;box-shadow:0 6px 18px #241a1214;color:var(--orange)}.progress-payment-entry{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 74px}.progress-payment-entry select{border:1px solid var(--border);border-radius:8px;color:var(--orange);font-size:18px;font-weight:800;padding:10px 8px}.optional-note{display:grid;gap:10px}.invoice-actions{display:flex;flex-wrap:wrap;gap:10px}.invoice-empty-state{align-items:center;background:#f5f5f5;border:1px solid #dddddd;border-radius:12px;color:var(--muted);display:grid;justify-items:center;min-height:360px;padding:32px;text-align:center}.search-box{align-items:center;display:flex;gap:10px;margin:20px 0;padding:10px 14px}.quote-list-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.search-box input{border:0;box-shadow:none;padding:6px 0}.quote-table{display:grid;overflow:hidden}.quote-table-row{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:14px;grid-template-columns:1fr 1fr 1.6fr .8fr .8fr 90px;min-height:58px;padding:12px 16px}.quote-table-head{background:#fbfaf8;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.link-button{background:transparent;color:var(--orange);font-weight:800;justify-content:flex-start;padding-left:0}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:inline-flex;height:34px;justify-content:center;width:34px}.modal-backdrop{align-items:center;background:#1a1a1a47;display:grid;top:0;right:0;bottom:0;left:0;justify-items:center;padding:24px;position:fixed;z-index:50}.import-modal{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 55px #241a1238;display:grid;gap:16px;max-width:520px;padding:20px;width:min(520px,100%)}.modal-header{align-items:start;display:flex;gap:16px;justify-content:space-between}.modal-header h2{font-size:24px;letter-spacing:0;margin:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.import-loading{align-items:center;background:#fbfaf8;border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;gap:10px;font-weight:700;padding:12px}.import-error{display:grid;gap:10px;justify-items:start;text-align:left}.import-readonly-row{background:#fbfaf8;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.settings-page{background:#f9f7f4;grid-column:3 / -1;max-height:100vh;overflow-y:auto;padding:28px}.settings-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 18px;max-width:980px}.settings-header h1{font-size:34px;letter-spacing:0;margin:0}.settings-form{display:grid;gap:16px;margin:0 auto;max-width:980px}.settings-card{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:16px;padding:18px}.settings-card h2{font-size:17px;letter-spacing:0;margin:0}.settings-collapsible-card{display:block;gap:0;overflow:hidden;padding:0}.settings-collapse-toggle{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:14px;justify-content:space-between;padding:18px;text-align:left;width:100%}.settings-collapse-toggle:hover{background:#fbfaf8}.settings-collapse-title{min-width:0}.settings-collapse-arrow{border-bottom:2px solid var(--muted);border-right:2px solid var(--muted);flex:0 0 auto;height:10px;transform:rotate(45deg);transition:transform .16s ease;width:10px}.settings-collapsible-card.is-open .settings-collapse-arrow{transform:rotate(225deg)}.settings-collapsible-content{display:grid;gap:16px;padding:0 18px 18px}.logo-settings-card{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.logo-settings-row{align-items:center;display:flex;gap:16px;justify-content:flex-end}.settings-logo-preview{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;height:92px;justify-content:center;padding:10px;width:150px}.settings-logo-preview img{max-height:100%;max-width:120px;object-fit:contain}.settings-qr-preview img{max-height:80px;max-width:80px;object-fit:contain}.settings-logo-actions,.settings-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.settings-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid.compact{grid-template-columns:minmax(180px,260px)}.settings-grid label{display:grid;gap:7px}.settings-grid label.wide{grid-column:1 / -1}.settings-grid label>span{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:0;text-transform:uppercase}.settings-grid small{color:#8a8178;font-size:11px;font-weight:600;text-transform:none}.settings-grid input,.settings-grid select,.settings-grid textarea{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:42px;padding:10px 12px;width:100%}.settings-grid textarea{resize:vertical}.pdf-colour-grid{display:grid;gap:14px}.pdf-colour-group{background:#fbfaf8;border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;padding:12px}.pdf-colour-group-header{display:grid;gap:3px}.pdf-colour-group-header h3{font-size:16px;letter-spacing:0;margin:0}.pdf-colour-group-grid{display:grid;gap:8px}.pdf-colour-row{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(160px,1fr) 54px minmax(160px,220px) 120px auto;padding:10px}.pdf-colour-label{align-items:center;display:flex;gap:10px;min-width:0}.pdf-colour-label span{border:1px solid var(--border);border-radius:999px;display:inline-block;flex:0 0 auto;height:28px;width:28px}.pdf-colour-row input[type=color]{background:transparent;border:0;height:40px;padding:0;width:48px}.pdf-colour-row label{display:grid;gap:4px}.pdf-colour-row label span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.pdf-colour-row input[type=text],.pdf-colour-row input[type=number]{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:40px;padding:8px 10px;width:100%}.schedule-library-settings-preview{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.schedule-library-settings-preview .schedule-library-stage{min-width:260px}.web-app-link-layout{align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 150px}.web-app-link-layout label{display:grid;gap:7px}.web-app-link-layout label>span{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:0;text-transform:uppercase}.web-app-link-layout textarea{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;min-height:72px;padding:10px 12px;resize:vertical;width:100%}.web-app-link-layout small{color:#8a8178;font-size:11px;font-weight:600}.web-app-link-qr{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;justify-content:center;min-height:132px;padding:12px}.web-app-link-qr img{display:block;height:118px;image-rendering:pixelated;object-fit:contain;width:118px}.secret-input-row{align-items:center;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:0 8px}.secret-input-row input{border:0;min-height:40px;padding-left:0;padding-right:0}.secret-input-row input:focus{box-shadow:none;outline:none}.password-input-row{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;min-height:42px;padding:0 8px 0 12px}.password-input-row input{border:0;min-height:40px;padding:8px 0}.password-input-row button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);display:inline-flex;height:32px;justify-content:center;width:32px}.password-input-row button:hover{background:#e8630a1a;color:var(--orange)}.hosted-login-summary{background:#fbfaf8;border-left:3px solid var(--orange);border-radius:0 8px 8px 0;display:grid;gap:4px;padding:11px 13px}.hosted-login-pin-toggle{align-items:center;display:flex!important;flex-direction:row;gap:10px!important}.hosted-login-pin-toggle input{height:18px;min-height:18px;width:18px}.hosted-login-summary p,.hosted-login-summary small{margin:0}.hosted-login-summary p{font-size:13px;font-weight:700}.hosted-login-summary small{color:var(--muted);font-size:12px;line-height:1.45}.settings-actions{padding:4px 0 24px}.data-settings-card{align-items:center;grid-template-columns:minmax(0,1fr) auto}.project-stage-template-card{gap:16px}.stage-template-list{display:grid;gap:8px}.stage-template-row{align-items:center;display:grid;gap:8px;grid-template-columns:30px minmax(0,1fr) auto}.stage-template-row span{color:var(--muted);font-size:13px;font-weight:800}.stage-template-row input,.project-stage-add input,.project-stage-row input,.project-form-grid input,.project-form-grid select,.project-form-grid textarea{background:#fff;border:1px solid var(--border);border-radius:8px;min-height:38px;padding:9px 11px;width:100%}.icon-button{min-height:34px;padding:7px 9px}.trash-page{background:#f9f7f4;grid-column:3 / -1;max-height:100vh;overflow-y:auto;padding:28px}.trash-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto 18px;max-width:1120px}.trash-header h1{font-size:34px;letter-spacing:0;margin:0}.trash-header-actions,.trash-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.trash-grid{display:grid;gap:16px;margin:0 auto;max-width:1120px}.trash-group{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:14px;padding:18px}.trash-group-header{align-items:center;color:var(--muted);display:flex;justify-content:space-between}.trash-group-header h2{color:var(--text);font-size:17px;margin:0}.trash-list{display:grid;gap:10px}.trash-row{align-items:center;background:#fbfaf8;border:1px solid var(--border);border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto auto;min-width:0;padding:12px}.trash-row div:first-child{display:grid;gap:3px;min-width:0}.trash-row strong,.trash-row span,.trash-row small{overflow-wrap:anywhere}.trash-row span,.trash-row small{color:var(--muted);font-size:12px}.trash-row b{color:var(--orange);white-space:nowrap}.danger-button{color:#9c2f16}.danger-button:hover{background:#fff1ec}.projects-page{background:var(--bg);display:grid;grid-column:3 / -1;grid-template-columns:340px minmax(0,1fr);max-height:100vh;min-width:0;overflow:hidden}.client-documents-page{background:var(--bg);display:grid;grid-column:3 / -1;grid-template-columns:minmax(300px,360px) minmax(0,1fr);height:100vh;max-height:100vh;min-width:0;overflow:hidden}.client-documents-jobs-panel{background:var(--sidebar);border-right:1px solid var(--border);display:grid;gap:14px;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;overflow:hidden;padding:22px 16px}.client-documents-heading,.client-documents-toolbar,.client-document-card-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;min-width:0}.client-documents-heading h1,.client-documents-toolbar h2,.client-document-card h3{letter-spacing:0;margin:0}.client-documents-heading h1{font-size:28px}.client-document-tabs{background:#ebe9e6;border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.client-document-tabs button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--text);display:flex;font-weight:700;gap:6px;justify-content:center;min-width:0;padding:9px 7px}.client-document-tabs button.active{background:#fff;color:var(--orange);box-shadow:0 1px 3px #14141414}.client-document-tabs button span{background:#f4e4da;border-radius:999px;font-size:11px;min-width:21px;padding:2px 6px}.client-document-search{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;gap:9px;min-width:0;padding:0 11px}.client-document-search:focus-within{border-color:var(--orange);box-shadow:0 0 0 2px #ed5b001a}.client-document-search input{background:transparent;border:0;min-width:0;outline:0;padding:11px 0;width:100%}.client-document-job-list{align-content:start;display:grid;gap:8px;min-height:0;overflow-y:auto;padding-right:4px}.client-document-job{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;gap:4px;justify-items:start;min-width:0;padding:12px;text-align:left;width:100%}.client-document-job:hover,.client-document-job.active{border-color:var(--orange)}.client-document-job.active{background:#fff7f2;box-shadow:inset 3px 0 var(--orange)}.client-document-job strong,.client-document-job span,.client-document-job small{max-width:100%;overflow-wrap:anywhere}.client-document-job span,.client-document-job small{color:var(--muted);font-size:12px}.client-document-job small{color:var(--orange);font-weight:700}.client-documents-workspace{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;min-width:0;overflow:hidden}.client-documents-toolbar{background:#fff;border-bottom:1px solid var(--border);padding:22px 24px}.client-documents-toolbar>div:first-child{min-width:0}.client-documents-toolbar h2{font-size:24px;overflow-wrap:anywhere}.client-documents-toolbar p:not(.eyebrow){color:var(--muted);margin:5px 0 0}.client-documents-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.client-documents-web-notice{align-items:center;background:#fff8ee;border-bottom:1px solid #edc9a9;color:#6c462d;display:flex;gap:9px;padding:10px 24px}.client-documents-filterbar{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:16px 24px 0}.client-documents-filterbar .client-document-search{flex:1;max-width:540px}.client-documents-deleted-toggle{align-items:center;display:flex;font-size:13px;gap:7px;white-space:nowrap}.client-document-gallery{align-content:start;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));min-height:0;overflow-y:auto;padding:16px 24px 28px}.client-document-card{align-content:start;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;min-width:0;overflow:hidden;padding:14px}.client-document-card.is-deleted{background:#f4f2ef;opacity:.82}.client-document-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.client-document-card-header h3{font-size:15px;overflow-wrap:anywhere}.client-document-card-header p{color:var(--muted);font-size:12px;margin:4px 0 0;overflow-wrap:anywhere}.client-document-type-icon{align-items:center;background:#f4e4da;border-radius:6px;color:var(--orange);display:flex;height:38px;justify-content:center;width:38px}.client-document-preview-pages{background:#eceae7;display:grid;gap:8px;max-height:520px;overflow:auto;padding:10px}.client-document-preview-pages figure{margin:0;min-width:0}.client-document-preview-pages img{background:#fff;display:block;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%}.client-document-preview-pages figcaption{color:var(--muted);font-size:11px;padding-top:4px;text-align:center}.client-document-preview-placeholder,.client-documents-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:190px;padding:24px;text-align:center}.client-documents-empty{grid-row:1 / -1}.client-documents-empty.compact{grid-column:1 / -1;min-height:260px}.client-documents-empty h2,.client-documents-empty h3,.client-documents-empty p,.client-document-preview-placeholder strong,.client-document-preview-placeholder span{margin:0}.client-document-preview-placeholder span{font-size:12px}.client-document-notes{display:grid;gap:5px}.client-document-notes>span{font-size:12px;font-weight:700;text-transform:uppercase}.client-document-notes textarea{min-height:74px;resize:vertical}.client-document-notes small{color:var(--muted);font-size:11px}.client-document-storage-status{align-items:flex-start;background:#f7f5f2;border:1px solid var(--border);border-radius:8px;display:flex;gap:12px;padding:14px}.client-document-storage-status.read-only{background:#fff8ee;border-color:#edc9a9}.client-document-storage-status>div,.client-document-previous-roots{display:grid;gap:5px;min-width:0}.client-document-storage-status code,.client-document-previous-roots code{background:#fff;border:1px solid var(--border);border-radius:5px;font-family:Consolas,Courier New,monospace;font-size:12px;overflow-wrap:anywhere;padding:6px 8px;white-space:normal}.client-document-storage-status span,.client-document-previous-roots{color:var(--muted);font-size:12px}.client-document-previous-roots{margin-top:12px}.projects-list-panel{background:var(--sidebar);border-right:1px solid var(--border);display:grid;gap:12px;grid-template-rows:auto auto minmax(0,1fr);min-width:0;overflow:hidden;padding:22px 16px}.projects-list-header,.projects-titlebar,.project-card-header{align-items:center;display:flex;gap:14px;justify-content:space-between}.projects-list-header h1,.projects-titlebar h1,.project-panel h2,.project-reminder-column h3{margin:0}.projects-refresh{justify-content:flex-start}.projects-list{align-content:start;display:grid;gap:8px;overflow-y:auto;padding-right:4px}.project-list-card{background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;gap:4px;padding:12px;text-align:left}.project-list-card.active,.project-list-card:hover{border-color:#e8630a73;box-shadow:0 8px 18px #241a1214}.project-list-card span,.project-list-card small,.project-record-row small,.timeline-task-card small{color:var(--muted)}.projects-workspace{min-width:0;overflow-y:auto;padding:24px}.projects-titlebar{margin-bottom:14px}.projects-title-actions,.project-panel-actions,.project-record-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.project-tabs{background:#eceae6;border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px;padding:4px}.project-tabs button{background:transparent;border:0;border-radius:6px;font-weight:800;min-height:36px}.project-tabs button.active{background:#fff;box-shadow:0 2px 8px #241a121a;color:var(--orange)}.project-panel,.projects-empty-state{background:#f5f5f5;border:1px solid #dddddd;border-radius:8px;display:grid;gap:16px;padding:16px}.projects-empty-state{align-items:center;min-height:360px;place-items:center;text-align:center}.project-form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-form-grid label{display:grid;gap:6px}.project-form-grid .wide,.project-form-grid textarea{grid-column:1 / -1}.project-form-grid span{color:var(--muted);font-size:12px;font-weight:800}.project-reminder-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-reminder-column{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;padding:12px}.project-reminder-column h3{color:var(--orange);font-size:14px}.reminder-row{align-items:start;background:#f7f7f7;border:1px solid transparent;border-radius:8px;color:var(--text);display:grid;gap:2px 8px;grid-template-columns:auto minmax(0,1fr);padding:8px;text-align:left}.reminder-row small{color:var(--muted);grid-column:2}.timeline-board,.project-record-list,.project-stage-list{display:grid;gap:10px}.timeline-stage-row{background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;grid-template-columns:160px minmax(0,1fr);padding:10px}.timeline-stage-name{color:var(--orange);font-weight:900}.timeline-task-lane{align-items:stretch;display:flex;flex-wrap:wrap;gap:8px;min-height:44px}.timeline-task-card{background:#f7f7f7;border:1px solid var(--border);border-radius:8px;color:var(--text);display:grid;gap:3px;min-width:190px;padding:9px 10px;text-align:left}.timeline-task-card.done{border-color:#23824e59}.timeline-empty{color:var(--muted);font-size:13px;padding:8px 0}.project-record-row{align-items:start;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.project-record-row>div:first-child{display:grid;gap:4px}.project-log-row small{color:var(--text);white-space:pre-wrap}.project-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.project-attachment-pill{align-items:center;background:#f4ede7;border:1px solid rgba(232,99,10,.24);border-radius:999px;display:inline-flex;gap:6px;padding:4px 8px}.project-attachment-pill a{color:var(--text);font-size:12px;font-weight:700;text-decoration:none}.project-attachment-pill button{background:transparent;border:0;color:var(--muted);font-weight:900;padding:0}.file-action-button{cursor:pointer}.project-stage-add{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.project-stage-row{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;grid-template-columns:80px minmax(0,1fr) auto auto;padding:10px}.project-schedule-page{background:#fbfaf8;display:grid;grid-column:3 / -1;grid-template-areas:"history library editor";grid-template-columns:minmax(300px,360px) minmax(320px,380px) minmax(0,1fr);height:100dvh;max-height:100dvh;min-height:0;min-width:0;overflow:hidden;padding:0}.schedule-history,.schedule-library-panel,.schedule-editor{min-width:0;min-height:0;overflow:hidden}.schedule-library-panel,.schedule-history{background:var(--sidebar);border-right:1px solid var(--border);display:grid;gap:14px;padding:22px 16px}.schedule-library-panel{grid-area:library;grid-template-rows:auto auto minmax(0,1fr)}.schedule-history{background:#f7f3ed;grid-area:history;grid-template-rows:auto minmax(0,1fr)}.schedule-editor{background:var(--bg);grid-area:editor;overflow-x:hidden;overflow-y:auto;padding:24px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.schedule-history-header,.schedule-library-panel .panel-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:0;min-width:0}.schedule-history-header{align-items:stretch;flex-direction:column}.schedule-history-actions{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}.schedule-history-actions .primary-button,.schedule-history-actions .ghost-button{justify-content:center;min-height:38px;width:100%}.schedule-history-header h1,.schedule-library-panel h2{margin:0;overflow-wrap:anywhere}.schedule-history-header h1{overflow-wrap:normal;word-break:normal}.schedule-list,.schedule-library-list,.schedule-section-list{display:grid;gap:10px;min-height:0}.schedule-list,.schedule-library-list{align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;-webkit-overflow-scrolling:touch}.schedule-row,.schedule-library-stage,.schedule-section-card{background:#fff;border:1px solid #ded8cf;border-radius:8px}.schedule-library-stage{font-size:var(--schedule-library-font-size, 16px);min-height:var(--schedule-library-box-size, 74px)}.schedule-row{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto}.schedule-row.active{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}.schedule-row>button{background:transparent;border:0;color:#202020;cursor:pointer;display:grid;gap:4px;padding:12px;text-align:left}.schedule-row>button:last-child{align-items:center;color:#555;display:flex;padding:0 10px}.schedule-row span,.schedule-row small{color:#666}.schedule-add-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:12px}.schedule-add-row input,.schedule-library-items input,.schedule-section-title-row input,.schedule-item-row input,.schedule-form input,.schedule-form select,.schedule-form textarea{background:#fff;border:1px solid #d9d2c8;border-radius:8px;color:#1f1f1f;font:inherit;min-width:0;padding:10px 12px}.schedule-add-row button,.schedule-library-stage-row .icon-button,.schedule-section-title-row .icon-button,.schedule-item-row .icon-button{align-items:center;background:#fff;border:1px solid #d9d2c8;border-radius:8px;color:#222;cursor:pointer;display:inline-flex;justify-content:center;min-height:40px;min-width:40px}.schedule-library-stage-row{align-items:center;display:grid;gap:6px;grid-template-columns:auto minmax(0,1fr) auto auto auto;min-height:var(--schedule-library-box-size, 74px);padding:8px}.schedule-stage-name{background:transparent;border:0;color:#222;cursor:pointer;font-size:inherit;font-weight:700;min-width:0;overflow-wrap:anywhere;padding:8px;text-align:left}.schedule-library-items{border-top:1px solid #eee7df;display:grid;gap:8px;padding:10px}.schedule-library-item-row,.schedule-section-title-row,.schedule-item-row{align-items:center;display:grid;gap:8px}.schedule-library-item-row{grid-template-columns:minmax(0,1fr) auto}.schedule-section-title-row{grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.schedule-section-title-row input{font-weight:800;text-transform:uppercase}.schedule-item-row{grid-template-columns:auto minmax(0,1fr) auto;padding:0 10px 10px}.schedule-item-row span{color:#555;font-weight:700}.schedule-rich-editor{min-width:0;width:100%}.schedule-rich-editable{background:#fff;border:1px solid #d9d2c8;border-radius:8px;color:#1f1f1f;font-size:14px;line-height:1.45;min-height:42px;outline:none;overflow-wrap:anywhere;padding:10px 12px;white-space:pre-wrap}.schedule-rich-editable.heading{font-weight:800;text-transform:uppercase}.schedule-rich-editable:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e8630a1f}.schedule-title-rich-display,.schedule-item-rich-display{background:#fff;border:1px solid #d9d2c8;border-radius:8px;color:#1f1f1f;cursor:text;font:inherit;line-height:1.45;min-height:42px;min-width:0;overflow-wrap:anywhere;padding:10px 12px;text-align:left;white-space:pre-wrap;width:100%}.schedule-title-rich-display{font-weight:800;text-transform:uppercase}.schedule-title-rich-display:hover,.schedule-item-rich-display:hover{border-color:var(--orange)}.schedule-form{align-content:start;display:grid;gap:16px;margin:0 auto;max-width:1120px;min-width:0;width:100%}.schedule-form textarea{min-height:96px;resize:vertical;width:100%}.schedule-canvas-toolbar{align-items:center;background:var(--bg);display:flex;gap:16px;justify-content:space-between;margin:-4px 0 2px;padding-bottom:4px;position:sticky;top:-24px;z-index:12}.schedule-canvas-toolbar h1{margin:0}.schedule-canvas-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@media(max-width:1280px){.app-shell{grid-template-columns:var(--sidebar-width, 196px) 8px minmax(280px,var(--library-width, 320px)) 8px minmax(0,1fr)}.builder-page.with-preview{grid-template-columns:minmax(330px,1fr) 8px minmax(280px,var(--preview-width, 360px))}.preview-column{border-left:0}}@media(min-width:981px)and (max-width:1360px){.project-schedule-page{grid-template-areas:"history editor" "library editor";grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(180px,.7fr)}}@media(max-width:980px),(max-width:1280px)and (pointer:coarse){.app-shell{grid-template-columns:64px minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.app-shell.library-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar,.library-panel,.sidebar-library-resizer,.library-builder-resizer,.invoices-page,.projects-page,.project-schedule-page,.settings-page,.trash-page,.builder-page,.quote-list-page{max-height:100dvh}.sidebar-library-resizer,.library-builder-resizer,.builder-preview-resizer{display:none}.sidebar{grid-column:1;height:100dvh;position:relative;top:0;width:64px;z-index:20}.sidebar:not(.collapsed){bottom:0;box-shadow:18px 0 40px #2d2d2d38;left:0;max-width:calc(100vw - 48px);position:fixed;width:var(--sidebar-width, 220px);z-index:201}.sidebar-backdrop{background:#18181847;border:0;border-radius:0;display:block;top:0;right:0;bottom:0;left:0;padding:0;position:fixed;z-index:200}.sidebar-nav{grid-template-columns:1fr}.library-panel{background:var(--sidebar);border-right:1px solid var(--border);bottom:0;box-shadow:18px 0 40px #2d2d2d2e;height:100dvh;left:64px;max-height:100dvh;position:fixed;top:0;width:min(420px,calc(100vw - 64px));z-index:150}.library-panel .panel-header{align-items:flex-start;background:var(--sidebar);border-bottom:1px solid var(--border);margin:-22px -16px 0;padding:22px 16px 14px;position:sticky;top:-22px;z-index:151}.library-drawer-close{display:inline-flex}.builder-page,.quote-list-page,.invoices-page,.projects-page,.project-schedule-page,.settings-page,.trash-page{grid-column:2;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.builder-page.with-preview{grid-template-columns:1fr}.preview-edge-toggle{display:inline-flex;position:fixed;right:12px;top:104px;z-index:130}.builder-workspace,.preview-column,.quote-list-page,.settings-page,.trash-page{max-height:100dvh;overflow-x:hidden;overflow-y:auto}.preview-column{background:var(--bg);bottom:0;box-shadow:-18px 0 40px #2d2d2d2e;grid-template-rows:auto minmax(0,1fr) auto;max-height:100dvh;position:fixed;right:0;top:0;width:min(460px,calc(100vw - 64px));z-index:140}.preview-drawer-close{display:inline-flex;position:relative;z-index:141}.builder-toolbar{align-items:flex-start;gap:12px}.toolbar-actions{justify-content:flex-start}.details-grid,.pricing-panel{grid-template-columns:1fr}label.wide{grid-column:span 1}.quote-table-row{grid-template-columns:1fr}.invoices-page,.projects-page{grid-template-columns:1fr;overflow-y:auto}.project-schedule-page{gap:12px;grid-auto-rows:max-content;grid-template-areas:"editor" "history" "library";grid-template-columns:1fr;overflow-y:auto;padding:12px}.invoice-history,.invoice-form-panel,.projects-list-panel,.projects-workspace,.schedule-history,.schedule-library-panel{max-height:none;overflow:visible}.schedule-history,.schedule-library-panel,.schedule-editor{border:1px solid var(--border);border-radius:8px;padding:14px}.schedule-editor{max-height:none;overflow:visible}.schedule-canvas-toolbar{align-items:stretch;flex-direction:column;position:static}.schedule-canvas-actions{justify-content:flex-start}.invoice-grid,.project-form-grid,.project-reminder-grid,.project-tabs,.timeline-stage-row,.project-record-row,.project-stage-row,.schedule-library-stage-row,.schedule-item-row,.logo-settings-card,.data-settings-card,.settings-grid,.pdf-colour-row,.web-app-link-layout{grid-template-columns:1fr}.web-app-link-qr{max-width:150px}.logo-settings-row{align-items:flex-start;flex-direction:column}.trash-header,.trash-row{align-items:stretch;grid-template-columns:1fr}.trash-header{flex-direction:column}.trash-header-actions,.trash-actions,.projects-title-actions,.project-record-actions{justify-content:flex-start}}@media(min-width:981px)and (max-width:1280px)and (pointer:coarse){.app-shell.web-browser-app.builder-mode:not(.library-collapsed){grid-template-columns:64px minmax(380px,420px) 8px minmax(0,1fr)}.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .library-panel{bottom:auto;box-shadow:none;grid-column:2;height:100dvh;left:auto;max-height:100dvh;min-width:0;position:relative;top:auto;width:auto;z-index:1}.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .library-builder-resizer{background:#ddd7cf;cursor:default;display:flex;grid-column:3;pointer-events:none}.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .library-builder-resizer span{background:var(--orange);height:100%;opacity:.8;width:3px}.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .builder-page,.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .quote-list-page,.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .invoices-page,.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .projects-page,.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .settings-page,.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .trash-page{grid-column:4}.app-shell.web-browser-app.builder-mode:not(.library-collapsed) .space-list{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}@media(max-width:640px){.quote-ai-form-grid,.quote-ai-draft-grid{grid-template-columns:1fr}.quote-ai-header,.quote-ai-section-heading,.quote-ai-recording-status{align-items:flex-start}.quote-ai-actions{align-items:stretch;flex-direction:column}.quote-ai-actions button{width:100%}.ai-chat-launcher{left:calc(var(--sidebar-width, 64px) + 10px);max-width:calc(100vw - var(--sidebar-width, 64px) - 22px);right:12px;width:auto}.ai-chat-box.ai-chat-floating.open{border-radius:8px}.ai-chat-floating .ai-chat-header{align-items:flex-start;flex-wrap:wrap;min-height:86px}.ai-chat-session-controls{flex:1 0 100%;justify-content:stretch;order:3}.ai-chat-floating .ai-chat-history-select{max-width:none}.ai-chat-floating .ai-chat-new-button,.ai-chat-floating .ai-chat-toggle-button{min-height:32px}.ai-chat-floating .ai-chat-input{grid-template-columns:minmax(0,1fr) 46px;padding:10px}.ai-chat-attachment{flex-basis:168px}.ai-chat-floating .ai-chat-input .ai-chat-attach-button,.ai-chat-floating .ai-chat-input .primary-button{width:46px}.ai-chat-floating .ai-chat-input textarea{min-height:118px}.builder-workspace,.quote-list-page,.project-schedule-page,.settings-page,.trash-page{padding:14px}.builder-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{gap:8px;justify-content:flex-start;width:100%}.toolbar-actions .ghost-button,.toolbar-actions .primary-button{min-height:36px;padding:8px 10px}.canvas-row,.canvas-row.heading,.canvas-row.dotpoint{gap:6px}.canvas-row.dotpoint{margin-left:6px;width:calc(100% - 6px)}.schedule-history-header,.schedule-library-panel .panel-header,.invoice-card-title,.invoice-actions{align-items:stretch;flex-direction:column}.schedule-add-row,.schedule-row,.schedule-section-title-row{grid-template-columns:1fr}}@media(max-width:980px),(max-width:1280px)and (pointer:coarse){.client-documents-page{grid-column:2;grid-template-columns:minmax(250px,34vw) minmax(0,1fr);height:100dvh;max-height:100dvh;overflow:hidden}.client-documents-jobs-panel{padding:16px 12px}.client-documents-heading h1{font-size:23px}.client-documents-toolbar{align-items:stretch;flex-direction:column;padding:16px}.client-documents-actions{justify-content:flex-start}.client-documents-filterbar,.client-documents-web-notice{padding-left:16px;padding-right:16px}.client-document-gallery{grid-template-columns:minmax(0,1fr);padding:14px 16px 24px}}@media(max-width:640px){.client-documents-page{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(248px,38dvh) minmax(0,1fr);padding:0}.client-documents-jobs-panel{border-bottom:1px solid var(--border);border-right:0;padding:12px}.client-documents-heading h1{font-size:21px}.client-document-tabs button{font-size:12px;padding:8px 5px}.client-documents-toolbar h2{font-size:19px}.client-documents-actions .ghost-button,.client-documents-actions .primary-button{flex:1 1 150px;justify-content:center}.client-documents-filterbar{align-items:stretch;flex-direction:column;padding-top:12px}.client-documents-deleted-toggle{white-space:normal}}
