*,*:before,*:after{box-sizing:border-box}:root{--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--accent: #7c3aed;--success: #059669;--danger: #dc2626;--warning: #d97706;--radius: 10px;--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 4px 12px rgba(15, 23, 42, .04);--font: "DM Sans", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif}html,body,#root{margin:0;width:100%;max-width:100%;min-height:100%;height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}html:has(.app-shell),body:has(.app-shell),#root:has(.app-shell){height:100%;max-height:100dvh;overflow:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:.9375rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#6d28d9}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:2px solid rgba(37,99,235,.3);border-color:var(--primary)}.textarea{min-height:100px;resize:vertical}.label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:.375rem}.form-group{margin-bottom:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:1.25rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#f1f5f9}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-gray{background:#f1f5f9;color:#475569}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-purple{background:#ede9fe;color:#6d28d9}.badge-green{background:#d1fae5;color:#047857}.badge-red{background:#fee2e2;color:#b91c1c}.badge-orange{background:#ffedd5;color:#c2410c}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 -2rem 1.5rem;padding:2rem 2rem 1rem;flex-wrap:wrap;position:sticky;top:0;z-index:40;background:var(--bg);box-shadow:0 1px 0 var(--border)}.page-header h1{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:400}.page-header p{margin:.25rem 0 0;color:var(--text-muted)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.stat-card .value{font-size:1.75rem;font-weight:700;margin:.25rem 0 0}.stat-card .label{font-size:.8125rem;color:var(--text-muted);margin:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.error-banner{background:#fee2e2;color:#b91c1c;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.ai-panel{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:12px;padding:1.25rem}.ai-panel h3{margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.ai-output{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;white-space:pre-wrap;font-size:.875rem;max-height:300px;overflow-y:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--surface);border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:1.5rem;box-shadow:0 20px 60px #0f172a33}.modal h2{margin:0 0 1rem;font-family:var(--font-display);font-weight:400}.line-items-table input{padding:.375rem .5rem;border:1px solid var(--border);border-radius:6px;width:100%}.line-items-table input[type=number]{width:80px}.public-page{min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b 40%,#f8fafc 40%)}.public-hero{color:#fff;text-align:center;padding:3rem 1.5rem 5rem}.public-brand-logo{display:block;width:min(320px,86%);height:auto;margin:0 auto 1.25rem;overflow:visible}.public-hero h1{font-family:var(--font-display);font-size:2.5rem;font-weight:400;margin:0 0 .5rem}.public-content{max-width:800px;margin:-3rem auto 3rem;padding:0 1rem}.public-section{background:var(--surface);border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.signature-pad{border:2px dashed var(--border);border-radius:var(--radius);background:#fafafa;cursor:crosshair;touch-action:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e3a5f,#2563eb);padding:1rem}.login-card{background:var(--surface);border-radius:20px;padding:0;width:100%;max-width:420px;box-shadow:0 25px 80px #0000004d;overflow:hidden}.login-card-brand{background:#0f172a;padding:1.6rem 1.75rem 1.4rem}.login-logo-img{display:block;width:min(340px,100%);height:auto;margin:0 auto;overflow:visible}.login-card-body{padding:1.5rem 2.5rem 2.25rem}.login-card .subtitle{text-align:center;color:var(--text-muted);margin:0 0 1.5rem}.login-logo{text-align:center;font-size:2.5rem;margin-bottom:.5rem}.page-header h1 .badge{margin-left:.75rem;vertical-align:middle}.quote-entry>.quote-page-header{align-items:center;padding:.85rem 2rem;margin-bottom:1rem}.quote-header-title{display:flex;align-items:center;min-width:0}.quote-header-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text);line-height:0}.quote-header-back:hover{color:#378add;text-decoration:none}.quote-header-title h1{margin:0 0 0 2ch;font-family:var(--font);font-size:1.35rem;font-weight:800;letter-spacing:.04em;line-height:1.2;white-space:nowrap}.quote-header-title h1 .badge{margin-left:.65rem;letter-spacing:0;font-weight:600}.quote-header-save{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:.35rem .15rem;font-family:var(--font);font-size:.95rem;font-weight:700;color:#378add;cursor:pointer}.quote-header-save:hover:not(:disabled){color:#2c74c4;text-decoration:underline}.quote-header-save:disabled{opacity:.5;cursor:not-allowed}.quote-header-actions{display:flex;gap:.35rem;flex-wrap:nowrap;align-items:center;justify-content:flex-end}.quote-header-kebab{position:relative}.quote-kebab-btn{min-width:2.25rem;justify-content:center;padding:.45rem .55rem}.quote-kebab-menu{position:absolute;top:calc(100% + .35rem);right:0;min-width:12.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.35rem;z-index:60;display:flex;flex-direction:column}.quote-kebab-menu button{display:flex;align-items:center;width:100%;text-align:left;background:none;border:none;padding:.55rem .7rem;border-radius:8px;cursor:pointer;font-weight:600;color:var(--text)}.quote-kebab-menu button:hover:not(:disabled){background:var(--bg)}.quote-kebab-menu button:disabled{opacity:.5;cursor:not-allowed}.quote-header-cancel{font-size:1.45rem;line-height:1;min-width:2.25rem;justify-content:center;padding:.2rem .55rem}.quote-entry{padding-bottom:3.25rem;padding-right:1.75rem}.quote-lines tbody.is-active td{background:#eff6ff}.quote-top-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.quote-info-card h3{margin:0 0 .75rem;font-size:.95rem}.quote-customer-name{font-weight:600;margin-bottom:.25rem}.quote-muted{color:var(--text-muted);font-size:.875rem;line-height:1.45}.quote-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .75rem}.quote-detail-grid .form-group{margin:0}.quote-detail-span{grid-column:1 / -1}.quote-summary-card{background:#ecfdf5;border-color:#a7f3d0}.quote-summary-row{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.9rem}.quote-summary-total{font-size:1.15rem;font-weight:700;border-top:1px solid #a7f3d0;padding-top:.5rem;margin-top:.35rem}.quote-summary-rates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem}.quote-tabs-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:1rem}.quote-tabs{display:flex;gap:.25rem}.quote-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.6rem .9rem;color:var(--text-muted);font-weight:600;cursor:pointer}.quote-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.quote-attach-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:140px;margin-bottom:1rem;padding:1.25rem 1rem;border:2px dashed var(--border);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;text-align:center}.quote-attach-drop:hover,.quote-attach-drop.is-dragging{border-color:var(--primary);background:#eff6ff}.quote-attach-drop:disabled{opacity:.65;cursor:wait}.quote-attach-drop span{color:var(--text-muted);font-size:.875rem}.quote-attach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.quote-attach-item{display:grid;grid-template-columns:72px 1fr auto;gap:.85rem;align-items:center;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.quote-attach-preview{width:72px;height:72px;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg);cursor:pointer}.quote-attach-preview img{display:block;width:100%;height:100%;object-fit:cover}.quote-attach-kind{display:grid;place-items:center;width:100%;height:100%;font-size:.75rem;font-weight:700;color:#1e3a8a;background:#dbeafe}.quote-attach-kind--video{color:#6d28d9;background:#ede9fe}.quote-attach-kind--audio{color:#0f766e;background:#ccfbf1}.quote-attach-kind--pdf{color:#b91c1c;background:#fee2e2}.quote-attach-kind--file{color:#334155;background:#e2e8f0}.quote-attach-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-attach-sub{margin-top:.2rem;font-size:.8125rem;color:var(--text-muted)}.quote-attach-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.quote-attach-modal{max-width:820px}.quote-attach-modal-body{display:grid;place-items:center;min-height:160px;margin-bottom:1rem}.quote-attach-modal-body img,.quote-attach-modal-body video,.quote-attach-modal-body iframe{width:100%;max-height:60vh;border:0;border-radius:10px;background:#0f172a}.quote-attach-modal-body audio{width:100%}.quote-attach-modal-foot{display:flex;gap:.5rem;justify-content:flex-end}.quote-body-layout{display:block}.quote-toolbox-drawer{position:fixed;right:0;top:52%;transform:translateY(-50%);z-index:900;height:0;width:0}.quote-toolbox-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);width:48px;min-height:120px;background:var(--primary);color:#fff;border:1px solid rgba(15,23,42,.08);border-right:none;border-radius:8px 0 0 8px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:.75rem 0;box-shadow:-2px 0 12px #0f172a1f}.quote-toolbox-tab span{writing-mode:vertical-rl;text-orientation:mixed;font-size:.75rem;font-weight:600;letter-spacing:.04em;line-height:1.3}.quote-toolbox-tab:hover{background:var(--primary-hover)}.quote-toolbox-panel{position:absolute;right:48px;top:50%;transform:translateY(-50%) translate(100%);width:min(280px,85vw);max-height:80vh;overflow-y:auto;background:var(--bg);padding:1rem;border-radius:8px 0 0 8px;border:1px solid var(--border);border-right:none;box-shadow:-4px 0 20px #0f172a1f;z-index:1;opacity:0;pointer-events:none;transition:transform .3s ease,opacity .25s ease}.quote-toolbox-drawer.open .quote-toolbox-panel{transform:translateY(-50%) translate(0);opacity:1;pointer-events:auto}.quote-toolbox-panel .quote-tool-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:.45rem 0;cursor:pointer;color:var(--text);font-size:.875rem}.quote-toolbox-panel .quote-tool-btn:hover{color:var(--primary)}.quote-sections-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.quote-sections-toolbar h3{margin:0}.quote-section{background:#fafaf8;border:1.3px solid #b4b2a9;border-radius:10px;margin-bottom:.85rem;overflow:visible;scroll-margin-top:1rem;position:relative;min-width:0}.quote-section-header{display:flex;align-items:center;gap:.5rem;background:#f1efe8;padding:.5rem .75rem;border-radius:8.7px 8.7px 0 0;overflow:hidden}.quote-section>.quote-section-header:last-child{border-radius:8.7px}.quote-section-body{padding:.75rem;min-width:0}.quote-group{background:#fff;border:1.3px solid #cecbf6;border-radius:8px;margin-bottom:.75rem;overflow:visible;position:relative;min-width:0}.quote-group-header{display:flex;align-items:center;gap:.5rem;background:#eeedfe;padding:.4rem .65rem;border-radius:6.7px 6.7px 0 0;overflow:hidden}.quote-group>.quote-group-header:last-child{border-radius:6.7px}.quote-name-input{flex:1;border:none;background:transparent;font-weight:600;font-size:.95rem;padding:.25rem .35rem;min-width:0}.quote-group-name{color:#3c3489;font-size:.875rem}.quote-running-total{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.quote-collapse{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-muted);width:1.5rem}.quote-drag-source{display:inline-flex;cursor:grab;flex-shrink:0}.quote-drag-source:active{cursor:grabbing}.quote-drag{display:inline-flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 3px;color:#94a3b8}.quote-drag span{display:flex;gap:2px}.quote-drag i{display:block;width:3px;height:3px;border-radius:50%;background:currentColor}.quote-drag-source:hover .quote-drag{color:#64748b}.quote-drag-col{width:22px;padding-left:.35rem!important;padding-right:.15rem!important}.quote-drop-over{outline:2px dashed #6366f1;outline-offset:-2px;background:#eef2ff!important}.quote-drop-line td{box-shadow:inset 0 2px #6366f1;background:#eef2ff}.quote-line-fields td{border-bottom:none;padding-bottom:0}.quote-uom{width:76px}.quote-lines .quote-uom-select{width:100%;max-width:100%;box-sizing:border-box}.quote-line-message td{padding-top:0;padding-bottom:.45rem;vertical-align:top;border-bottom:1px solid #f1efe8}.quote-line-message-input{display:block;width:100%;max-width:100%;min-width:0;min-height:1.9rem;height:auto;field-sizing:content;resize:none;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;padding:.3rem .4rem;border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;font-size:.8125rem;font-family:inherit;line-height:1.35;box-sizing:border-box}.quote-drop-insert-before:before,.quote-drop-insert-after:after,.quote-insert-line.is-active:before{content:"";position:absolute;left:8px;right:8px;height:3px;background:#6366f1;border-radius:2px;z-index:4;pointer-events:none;box-shadow:0 0 0 2px #eef2ff}.quote-drop-insert-before:before{top:0}.quote-drop-insert-after:after{bottom:0}.quote-insert-line{position:relative;height:10px;margin:-5px 0 .35rem;z-index:3}.quote-insert-line.is-active:before{top:50%;margin-top:-1.5px}.quote-insert-line.is-active:after{content:"";position:absolute;left:4px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#6366f1;box-shadow:0 0 0 2px #eef2ff;z-index:5;pointer-events:none}.quote-sections{min-width:0}.quote-lines{width:100%;max-width:100%;min-width:0;table-layout:fixed;font-size:.8125rem}.quote-hide-desc .quote-col-desc,.quote-hide-qty .quote-col-qty,.quote-hide-unit .quote-col-unit,.quote-hide-price .quote-col-price,.quote-hide-disc .quote-col-disc,.quote-hide-opt .quote-col-opt{display:none}.quote-lines th{font-size:.7rem;padding:.4rem .5rem}.quote-lines td{padding:.35rem .5rem;border-bottom:1px solid #f1efe8;overflow:visible}.quote-lines tr.quote-line-fields>td{border-bottom:none;padding-bottom:0}.quote-lines tr.quote-line-message>td{border-top:none;padding-top:0}.quote-lines tr.quote-line-message>td.quote-line-message-cell{min-width:0;max-width:0}.quote-lines tr.quote-line-message>td.quote-line-message-rest{border-bottom:none}.quote-lines tr:hover td{background:transparent}.quote-lines input{padding:.3rem .4rem;border:1px solid var(--border);border-radius:6px;width:100%}.quote-lines textarea.quote-line-message-input{border-top:none;border-radius:0 0 6px 6px}.quote-lines select{padding:.3rem .4rem;border:1px solid var(--border);border-radius:6px;width:100%;background:#fff;font-size:.8125rem}.quote-item-name{min-width:0;width:auto;position:relative;overflow:hidden}.quote-item-name input{min-width:0}.quote-item-name-select optgroup{font-weight:700;color:#3c3489}.quote-item-desc{min-width:0;position:relative}.inventory-mega{position:relative;display:inline-flex;align-items:center}.inventory-mega-open-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8125rem;padding:.25rem 0;font-weight:600}.inventory-mega-open-btn:hover{text-decoration:underline}.inventory-mega-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:grid;place-items:center;padding:1.25rem 1rem}.inventory-mega-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#0f172a38;cursor:default}.inventory-mega-panel{position:relative;z-index:1;width:min(1080px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;background:linear-gradient(145deg,#312e81,#1d4ed8 48%,#6d28d9);border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 90px #312e8161;border-radius:22px;overflow:hidden}.inventory-mega-head{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}.inventory-mega-head h3{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:#fff}.inventory-mega-head p{margin:.2rem 0 0;font-size:.78rem;color:#c7d2fe}.inventory-mega-search{flex:1}.inventory-mega-search input{width:100%;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:.65rem .85rem;font-size:.875rem}.inventory-mega-search input:focus{outline:2px solid rgba(37,99,235,.2);border-color:#2563eb;background:#fff}.inventory-mega-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.inventory-mega-close{width:32px;height:32px;flex-shrink:0;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:#ffffff1f;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.inventory-mega-close:hover{background:#ffffff38;color:#fff}.inventory-mega-pills{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;overflow-x:auto;overflow-y:hidden;padding:.55rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.12);background:#0f172a1f;scrollbar-width:thin}.inventory-mega-pill{display:inline-flex;align-items:center;gap:.28rem;flex-shrink:0;max-width:16rem;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:.28rem .3rem .28rem .7rem;font-size:.75rem;font-weight:700;line-height:1.2}.inventory-mega-pill-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-mega-pill-x{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;flex-shrink:0;border:none;border-radius:99px;background:transparent;color:#1d4ed8;font-size:.95rem;line-height:1;cursor:pointer;padding:0}.inventory-mega-pill-x:hover{background:#dbeafe;color:#1e3a8a}.inventory-mega-body{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0;background:transparent}.inventory-mega-cats{min-height:0;padding:.85rem .75rem;border-right:1px solid rgba(255,255,255,.12);background:#0f172a29}.inventory-mega-cat-list{height:100%;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto}.inventory-mega-cats button{display:flex;align-items:flex-start;gap:.7rem;width:100%;border:none;background:transparent;text-align:left;padding:.75rem .8rem;border-radius:14px;color:#eef2ff;cursor:pointer}.inventory-mega-cats button:hover{background:#ffffff14}.inventory-mega-cats button.is-active,.inventory-mega-cats button.is-add.is-active{background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff47}.inventory-mega-cat-icon{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;color:#c7d2fe;margin-top:.1rem}.inventory-mega-cat-icon.is-plus{border:1.5px dashed #c7d2fe;border-radius:8px;background:#ffffff14}.inventory-mega-cat-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.inventory-mega-cat-name{font-size:.92rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}.inventory-mega-cat-blurb{font-size:.72rem;line-height:1.35;color:#c7d2fe;font-weight:500}.inventory-mega-chevron{color:#a5b4fc;margin-top:.2rem}.inventory-mega-main{min-height:0;overflow-y:auto;padding:1rem 1.15rem 1.15rem;display:flex;flex-direction:column;gap:1.15rem}.inventory-mega-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.inventory-mega-section-head h4{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#e0e7ff}.inventory-mega-viewall{border:none;background:none;color:#c7d2fe;font-size:.78rem;font-weight:700;cursor:pointer}.inventory-mega-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.7rem}.inventory-mega-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;border:1px solid transparent;background:#f8fafc;border-radius:14px;padding:.85rem .8rem .9rem;cursor:pointer;color:#0f172a;min-height:148px}.inventory-mega-card:hover{background:#f1f5f9}.inventory-mega-card.is-checked{background:#eff6ff;box-shadow:inset 0 0 0 1.5px #2563eb}.inventory-mega-card strong{font-size:.82rem;font-weight:800;line-height:1.25}.inventory-mega-card-desc{font-size:.7rem;line-height:1.35;color:#64748b}.inventory-mega-price{margin-top:auto;font-style:normal;font-size:.88rem;font-weight:800;color:#2563eb}.inventory-mega-thumb{width:100%;height:88px;object-fit:cover;border-radius:10px;background:#e2e8f0}.inventory-mega-thumb.is-fallback{display:grid;place-items:center;font-size:1.25rem;font-weight:800;color:#64748b;background:#e2e8f0}.inventory-mega-service-icon{width:40px;height:40px;border-radius:99px;display:grid;place-items:center}.inventory-mega-card-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:99px;background:#2563eb;color:#fff;display:grid;place-items:center}.inventory-mega-card.is-add-card{background:#fff;border:1.5px dashed #93c5fd;align-items:center;text-align:center;justify-content:center;color:#2563eb}.inventory-mega-card.is-add-card span:last-child{color:#64748b;font-size:.7rem}.inventory-mega-card.is-add-card input{width:100%;border:1px solid #dbe4ee;border-radius:8px;padding:.45rem .5rem;text-align:center;color:#0f172a}.inventory-mega-add-plus{width:36px;height:36px;border-radius:99px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}.inventory-mega-empty{grid-column:1 / -1;margin:.5rem 0;font-size:.78rem;color:#e0e7ff}.inventory-mega-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.7rem 1.15rem;background:#0f172a2e;border-top:1px solid rgba(255,255,255,.12);color:#e0e7ff;font-size:.72rem;font-weight:600}.inventory-mega-trust span{display:flex;align-items:center;gap:.4rem}.inventory-mega-trust svg{color:#c7d2fe;flex-shrink:0}.inventory-mega-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1.25rem .95rem;border-top:1px solid rgba(255,255,255,.12);background:#0f172a38;font-size:.8rem;color:#c7d2fe}.inventory-mega-add{position:relative;border:none;background:#fff;color:#1d4ed8;border-radius:12px;padding:.7rem 1.15rem;font-size:.875rem;font-weight:700;cursor:pointer}.inventory-mega-add:hover{background:#eef2ff}.inventory-mega-add:disabled{opacity:.45;cursor:not-allowed;background:#ffffff8c;color:#1e3a8a}.inventory-mega-add:disabled:hover{background:#ffffff8c}.inventory-mega-add-badge{position:absolute;top:-.45rem;right:-.45rem;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:99px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #1d4ed8}@media(max-width:820px){.inventory-mega-body{grid-template-columns:1fr;max-height:none}.inventory-mega-cats{border-right:none;border-bottom:1px solid #eef2f6}.inventory-mega-cat-list{flex-direction:row;overflow-x:auto}.inventory-mega-cats button{min-width:220px}.inventory-mega-trust{grid-template-columns:1fr 1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quote-suggest{position:relative}.quote-suggest-list{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 2px);margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f172a1f;max-height:220px;overflow:auto}.quote-suggest-list button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;background:none;border:none;text-align:left;padding:.4rem .65rem;cursor:pointer;font-size:.8125rem;color:var(--text)}.quote-suggest-list button span{font-size:.7rem;color:var(--text-muted)}.quote-suggest-list button:hover{background:#eef2ff}.quote-lines th:nth-child(4),.quote-line-fields>td:nth-child(4),.quote-lines th:nth-child(5),.quote-line-fields>td:nth-child(5),.quote-lines th:nth-child(6),.quote-line-fields>td:nth-child(6),.quote-lines th:nth-child(7),.quote-line-fields>td:nth-child(7){width:4.75rem}.quote-lines th:nth-child(8),.quote-line-fields>td:nth-child(8){width:2.5rem;text-align:center}.quote-lines th:nth-child(9),.quote-line-fields>td:nth-child(9){width:5.5rem}.quote-lines th:nth-child(10),.quote-line-fields>td:nth-child(10){width:5.25rem}.quote-line-actions{display:flex;align-items:center;justify-content:flex-end;gap:.2rem}.quote-line-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.quote-line-icon-btn:hover{background:#f1f5f9;color:#0f172a}.quote-line-icon-btn.is-edit.is-active{background:#dbeafe;color:#2563eb}.quote-lines input[type=number]{width:100%;min-width:0;box-sizing:border-box}.quote-lines input[type=checkbox]{width:auto}.quote-amount{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-inline-actions{display:flex;gap:.75rem;align-items:center;padding:.4rem .65rem .65rem}.quote-catalog-select{width:auto;padding:.3rem .5rem;font-size:.8rem}.quote-text-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8125rem;padding:.25rem 0}.quote-dashed-btn{display:block;width:220px;background:#fff;border:1px dashed #d3d1c7;border-radius:6px;padding:.45rem .75rem;color:#5f5e5a;cursor:pointer;font-size:.8125rem}.quote-dashed-wide{margin-top:.25rem}.quote-section-subtotal{text-align:right;padding:.5rem .25rem .15rem;color:#5f5e5a;font-size:.875rem}.quote-toolbox .quote-tool-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:.45rem 0;cursor:pointer;color:var(--text);font-size:.875rem}.quote-toolbox .quote-tool-btn:hover{color:var(--primary)}.quote-tips{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:.9rem 1rem;margin-top:.75rem;font-size:.8rem;color:#92400e}.quote-tips p{margin:.4rem 0 0}.quote-drawer-kicker{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted)}.quote-launcher{position:fixed;right:0;bottom:5.5rem;z-index:910;height:0;width:0}.quote-launcher-tab{position:absolute;right:0;bottom:0;width:44px;min-height:108px;background:var(--accent);color:#fff;border:none;border-radius:18px 0 0 18px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.85rem 0;box-shadow:-2px 4px 16px #7c3aed59}.quote-launcher-tab span{writing-mode:vertical-rl;text-orientation:mixed;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.quote-launcher-tab:hover{background:#6d28d9}.quote-launcher-panel{position:absolute;right:52px;bottom:0;width:min(260px,80vw);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem 1.05rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);transform-origin:bottom right;transition:transform .2s ease,opacity .2s ease}.quote-launcher-panel h3{margin:0}.quote-launcher.open .quote-launcher-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.quote-launcher-panel .quote-tool-btn,.quote-offcanvas-panel .quote-tool-btn{display:block;width:100%;text-align:left;background:none;border:none;padding:.45rem 0;cursor:pointer;color:var(--text);font-size:.875rem}.quote-launcher-panel .quote-tool-btn:hover,.quote-offcanvas-panel .quote-tool-btn:hover{color:var(--primary)}.quote-launcher-panel .quote-tool-btn:disabled{opacity:.45;cursor:not-allowed}.quote-offcanvas{z-index:1000}.quote-offcanvas-tab{position:fixed;right:0;top:28%;transform:translateY(-50%);width:48px;min-height:132px;background:#0f172a;color:#fff;border:none;border-radius:8px 0 0 8px;cursor:pointer;z-index:1002;display:flex;align-items:center;justify-content:center;padding:.75rem 0;box-shadow:-2px 0 12px #0f172a33}.quote-offcanvas-tab span{writing-mode:vertical-rl;text-orientation:mixed;font-size:.75rem;font-weight:600;letter-spacing:.04em}.quote-offcanvas-tab:hover{background:#1e293b}.quote-offcanvas.open .quote-offcanvas-tab{opacity:0;pointer-events:none}.quote-offcanvas-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#0f172a6b;z-index:1000;cursor:pointer}.quote-offcanvas-panel{position:fixed;top:0;right:0;bottom:0;width:min(360px,90vw);background:var(--surface);border-left:1px solid var(--border);z-index:1001;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transform:translate(100%);transition:transform .3s ease;pointer-events:none}.quote-offcanvas.open .quote-offcanvas-panel{transform:translate(0);pointer-events:auto}.quote-offcanvas-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.quote-offcanvas-head h3{margin:0}.quote-offcanvas-list{overflow-y:auto;flex:1;min-height:0}.quote-catalog-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:.7rem .15rem;cursor:pointer;color:var(--text)}.quote-catalog-row:hover{background:var(--bg)}.quote-catalog-row span:first-child{display:flex;flex-direction:column;gap:.15rem}.quote-utility-drawer{position:fixed;left:240px;right:0;bottom:0;z-index:880;display:flex;flex-direction:column;align-items:center}.quote-utility-handle{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:148px;background:#0f766e;color:#fff;border:none;border-radius:10px 10px 0 0;padding:.35rem 1.1rem .45rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 -2px 12px #0f766e40}.quote-utility-handle:hover{background:#0d9488}.quote-utility-grip{width:36px;height:4px;border-radius:99px;background:#ffffffb3}.quote-utility-panel{width:100%;max-height:0;overflow:hidden;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -8px 24px #0f172a14;opacity:0;transition:max-height .28s ease,opacity .2s ease}.quote-utility-drawer.open .quote-utility-panel{max-height:240px;opacity:1;padding:1rem 1.5rem 1.25rem}.quote-utility-panel h3{margin:0 0 .75rem}.quote-utility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;align-items:end}.quote-entry:has(.quote-utility-drawer.open){padding-bottom:12rem}.modal-lg{max-width:640px}.app-shell{display:flex;align-items:stretch;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:hidden}.app-main{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 2rem 2rem}.sidebar{position:sticky;top:0;z-index:20;width:200px;height:100%;max-height:100vh;max-height:100dvh;min-height:0;background:#0f172a;color:#e2e8f0;padding:0;flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;transition:width .2s ease}.sidebar--collapsed{width:60px}.sidebar-sticky{position:relative;z-index:8;flex-shrink:0;padding:.85rem .65rem .65rem;border-bottom:1px solid #334155;background:#0f172a}.sidebar-desktop-brand{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.sidebar-toggle{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #94a3b8;border-radius:50%;background:#334155;color:#fff;cursor:pointer;box-shadow:0 1px 6px #0f172a59}.sidebar-toggle:hover{background:#2563eb;border-color:#2563eb;color:#fff}.sidebar-brand-link{display:block;min-width:0;flex:1;text-decoration:none}.sidebar-brand-link:hover{text-decoration:none}.sidebar-logo{display:block;width:100%;height:auto;max-height:40px}.sidebar-logo--icon{width:36px;height:36px;margin:0 auto}.sidebar-title{font-size:1.35rem;font-family:var(--font-display);color:#fff;line-height:1.2}.sidebar-tagline{font-size:.7rem;color:#94a3b8;margin-top:4px}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:.75rem 0}.sidebar-link{display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem;color:#94a3b8;background:transparent;border-left:3px solid transparent;text-decoration:none;font-weight:400;font-size:.875rem}.sidebar-link:hover{color:#e2e8f0;text-decoration:none;background:#94a3b814}.sidebar-link.active{color:#fff;font-weight:600;background:#2563eb33;border-left-color:#2563eb}.sidebar-icon{flex-shrink:0;width:1.25rem;text-align:center}.sidebar-footer{flex-shrink:0;padding:.85rem;border-top:1px solid #334155}.sidebar-user{font-size:.75rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-signout{margin-top:8px;width:100%}.sidebar--collapsed .sidebar-sticky{padding:.75rem .35rem .55rem}.sidebar--collapsed .sidebar-desktop-brand{flex-direction:column;align-items:center;gap:.5rem}.sidebar--collapsed .sidebar-brand-link{flex:0}.sidebar--collapsed .sidebar-tagline,.sidebar--collapsed .sidebar-label,.sidebar--collapsed .sidebar-user{display:none}.sidebar--collapsed .sidebar-link{justify-content:center;padding:.55rem .35rem;gap:0}.sidebar--collapsed .sidebar-footer{padding:.65rem .4rem}.mobile-topbar,.sidebar-backdrop{display:none}@media(max-width:1100px){.quote-top-grid,.quote-body-layout{grid-template-columns:1fr}}@media(max-width:768px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:.65rem;position:relative;z-index:50;flex-shrink:0;height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) .75rem 0 .65rem;background:#0f172a;border-bottom:1px solid #334155}.mobile-topbar-brand{display:block;min-width:0;text-decoration:none}.mobile-topbar-brand:hover{text-decoration:none}.mobile-topbar-logo{display:block;height:32px;width:auto;max-width:168px}.hamburger{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:transparent;color:#e2e8f0;cursor:pointer}.hamburger:hover,.hamburger:focus-visible{background:#94a3b824;color:#fff}.hamburger-box{position:relative;display:block;width:20px;height:14px}.hamburger-line{position:absolute;left:0;display:block;width:20px;height:2px;border-radius:99px;background:currentColor;transition:transform .18s ease,opacity .18s ease,top .18s ease}.hamburger-line:nth-child(1){top:0}.hamburger-line:nth-child(2){top:6px}.hamburger-line:nth-child(3){top:12px}.hamburger--open .hamburger-line:nth-child(1){top:6px;transform:rotate(45deg)}.hamburger--open .hamburger-line:nth-child(2){opacity:0}.hamburger--open .hamburger-line:nth-child(3){top:6px;transform:rotate(-45deg)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:42;border:none;padding:0;background:#0f172a73}.sidebar,.sidebar--collapsed{position:fixed;top:calc(56px + env(safe-area-inset-top,0px));left:0;bottom:0;z-index:45;width:min(280px,86vw);height:auto;max-height:none;transform:translate(-105%);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:none}.app-main{padding:0 1rem 1.25rem}.page-header{margin-left:-1rem;margin-right:-1rem;padding:1.1rem 1rem .85rem}.page-header h1{font-size:1.55rem}.quote-entry>.quote-page-header{padding:.85rem 1rem}.quote-detail-grid{grid-template-columns:1fr}.quote-utility-drawer{left:0}.quote-attach-item{grid-template-columns:56px 1fr}.quote-attach-preview{width:56px;height:56px}.quote-attach-actions{grid-column:1 / -1;justify-content:stretch}.quote-attach-actions .btn{flex:1;justify-content:center}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-row-3{grid-template-columns:1fr 1fr 1fr}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid transparent}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover{background:#fef2f2;color:var(--danger)}.app-main:has(.composer-page){overflow:hidden;display:flex;flex-direction:column;padding-bottom:.75rem}.composer-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.composer-page .composer-page-header{flex-shrink:0;position:static;margin:0 0 .75rem;padding:1.15rem 0 .35rem;box-shadow:none}.composer-layout{flex:1 1 auto;min-height:0;display:flex;align-items:stretch;gap:0;overflow:hidden}.composer-layout.is-open{gap:1.25rem}.composer-list-panel,.composer-form-panel{min-height:0;display:flex;flex-direction:column;padding:0!important;overflow:hidden}.composer-layout .composer-list-panel{flex:1 1 100%;min-width:0;max-width:100%;transition:flex-basis .42s cubic-bezier(.22,1,.36,1),max-width .42s cubic-bezier(.22,1,.36,1)}.composer-layout.is-open .composer-list-panel{flex:1 1 calc(50% - .625rem);max-width:calc(50% - .625rem)}.composer-layout .composer-form-panel{flex:0 0 0%;min-width:0;width:0;max-width:0;opacity:0;transform:translate(1.5rem);pointer-events:none;border-width:0;overflow:hidden;transition:flex-basis .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),max-width .42s cubic-bezier(.22,1,.36,1),opacity .32s ease .05s,transform .42s cubic-bezier(.22,1,.36,1)}.composer-layout.is-open .composer-form-panel{flex:1 1 calc(50% - .625rem);width:calc(50% - .625rem);max-width:calc(50% - .625rem);opacity:1;transform:translate(0);pointer-events:auto;border-width:1px;overflow:hidden}.composer-form-inner,.composer-form{flex:1 1 auto;min-height:0;min-width:18rem;width:100%;display:flex;flex-direction:column;overflow:hidden}.composer-panel-chrome{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.products-page .composer-panel-chrome{background:linear-gradient(129deg,#4776e6,#8e54e9);border-bottom-color:transparent;color:#fff}.products-page .composer-panel-chrome h2,.products-page .composer-panel-chrome .composer-close{color:#fff}.products-page .composer-panel-chrome .composer-close:hover{background:#ffffff29;color:#fff}.products-page .composer-search{background:#fff;border-color:#ffffff73}.composer-panel-chrome h2{margin:0;font-size:1rem;font-weight:700}.composer-search{width:min(22rem,100%);flex:1 1 12rem;max-width:22rem;padding:.45rem .7rem}.composer-close{font-size:1.35rem;line-height:1;padding:.2rem .55rem}.composer-panel-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:1rem 1.1rem}.composer-layout.quote-line-composer{align-items:flex-start;overflow:visible}.composer-layout.quote-line-composer .composer-list-panel,.composer-layout.quote-line-composer .composer-form-inner,.composer-layout.quote-line-composer .composer-form{overflow:visible}.composer-layout.quote-line-composer .composer-panel-scroll{flex:none;min-width:0;overflow:visible}.composer-layout.quote-line-composer.is-open .composer-form-panel{position:sticky;top:1rem;align-self:flex-start;max-height:calc(100dvh - 2rem);overflow:hidden}.composer-layout.quote-line-composer.is-open .composer-form-inner,.composer-layout.quote-line-composer.is-open .composer-form{max-height:calc(100dvh - 2rem);overflow:hidden}.composer-layout.quote-line-composer.is-open .composer-form-panel .composer-panel-scroll{flex:1 1 auto;min-height:0;overflow:auto}.composer-sticky-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;border-top:1px solid var(--border);background:var(--surface)}.composer-footer-end{display:flex;gap:.5rem}.clients-table-wrap,.products-table-wrap{overflow:auto;margin:-1rem -1.1rem;padding:0}.clients-file-table tbody tr{cursor:pointer}.clients-file-table tbody tr.is-active td{background:#eff6ff}.products-file-table{min-width:1480px}.products-file-table th,.products-file-table td{white-space:nowrap;padding:.55rem .7rem;font-size:.8125rem}.products-file-table th.num,.products-file-table td.num{text-align:right;font-variant-numeric:tabular-nums}.products-file-table tbody tr{cursor:pointer}.products-file-table tbody tr.is-active td{background:#eff6ff}.products-clip{max-width:180px;overflow:hidden;text-overflow:ellipsis}.products-thumb{width:32px;height:32px;object-fit:cover;border-radius:6px;border:1px solid var(--border);vertical-align:middle}.products-image-field{display:grid;grid-template-columns:88px 1fr;gap:.85rem;align-items:start;margin-bottom:1rem}.products-image-preview,.products-image-placeholder{width:88px;height:88px;border-radius:10px;border:1px solid var(--border);object-fit:cover}.products-image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.7rem;background:var(--bg)}.products-check{display:flex;align-items:center;gap:.45rem;min-height:2.5rem;font-size:.9375rem}.composer-form .textarea{min-height:72px}@media(max-width:960px){.form-row,.form-row-3{grid-template-columns:1fr}.composer-layout{flex-direction:column}.composer-layout:not(.is-open) .composer-form-panel{display:none}.composer-layout.is-open .composer-list-panel{display:none}.composer-layout.is-open .composer-form-panel{flex:1 1 auto;max-width:100%;transform:none}}.quote-print-sheet,.est-doc{display:none}body.quote-paginate .est-doc,body.quote-paginate .quote-print-sheet,body.quote-pdf-capture .est-doc,body.quote-pdf-capture .quote-print-sheet{display:block;position:absolute;left:0;top:0;width:816px;z-index:0}body.quote-paginate .est-card{overflow:visible}body.quote-paginate .est-group-card,body.quote-paginate .est-lines,body.quote-paginate .est-hero,body.quote-pdf-capture .est-hero,body.quote-pdf-capture .est-logo,body.quote-pdf-capture .est-meta .est-icon,body.quote-pdf-capture .est-client-card,body.quote-pdf-capture .est-client-logo,body.quote-pdf-capture .est-pills span,body.quote-pdf-capture .est-card,body.quote-pdf-capture .est-card-banner,body.quote-pdf-capture .est-group-card,body.quote-pdf-capture .est-group-banner,body.quote-pdf-capture .est-lines,body.quote-pdf-capture .est-icon,body.quote-pdf-capture .est-totals{overflow:hidden}body.quote-paginate .est-doc img,body.quote-pdf-capture .est-doc img{max-width:100%;height:auto;break-inside:avoid;page-break-inside:avoid}body.quote-paginate .est-doc img.est-logo,body.quote-pdf-capture .est-doc img.est-logo{height:72px;max-width:168px;width:auto}body.quote-paginate .est-doc img.est-logo--foot,body.quote-pdf-capture .est-doc img.est-logo--foot{height:42px;max-width:110px}.est-doc{box-sizing:border-box;background:#fff;color:#12304f;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;padding:10px}.est-frame{box-sizing:border-box;border:1px solid transparent;border-radius:40px 40px 16px 16px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#05f,#9d50bb) border-box;overflow:hidden;height:auto;min-height:0;padding-bottom:16px;box-decoration-break:slice;-webkit-box-decoration-break:slice;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-hero{position:relative;display:flex;align-items:center;min-height:118px;background:#0b0e14;color:#fff;overflow:hidden;border:none;border-radius:0}.est-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:28px;width:100%;padding:16px 22px}.est-hero-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-shrink:0}.est-logo{height:64px;width:auto;max-width:168px;object-fit:contain;background:#fff;border-radius:10px;padding:5px 10px;flex-shrink:0}.est-services{font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap}.est-hero-tag{max-width:15.5rem;justify-self:start}.est-hero-tag p{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.06em;line-height:1.25;text-transform:uppercase}.est-hero-rule{display:block;width:4.6rem;height:3px;margin-top:8px;border-radius:2px;background:linear-gradient(90deg,#05f,#9d50bb)}.est-logo--foot{height:42px;max-width:110px;padding:3px 6px}.est-hero-photo{position:absolute;top:0;right:0;bottom:0;left:42%;background:radial-gradient(circle at 28% 38%,rgba(157,80,187,.78),transparent 42%),radial-gradient(circle at 68% 22%,rgba(80,140,255,.5),transparent 36%),radial-gradient(circle at 82% 72%,rgba(0,85,255,.48),transparent 40%),radial-gradient(circle at 50% 92%,rgba(255,255,255,.18),transparent 28%),linear-gradient(90deg,#0b0e14,#1a1238 46%,#2a1860);-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%);mask-image:linear-gradient(90deg,transparent,#000 32%);pointer-events:none}.est-intro{display:grid;grid-template-columns:1fr 236px;gap:18px;padding:18px 22px 10px}.est-kicker{color:#6b4ae0;font-weight:800;letter-spacing:.12em;font-size:.78rem}.est-title{margin:4px 0 12px;font-size:1.35rem;color:#12304f;line-height:1.25}.est-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.est-meta>div{display:flex;gap:10px;align-items:center}.est-meta>div:not(:last-child){border-right:1px solid #e4eaf2;padding-right:12px}.est-meta .est-icon{width:32px;height:32px;border-radius:9px}.est-meta .est-icon svg{width:17px;height:17px}.est-meta-label{font-size:.68rem;color:#6b7c90;text-transform:uppercase;letter-spacing:.04em}.est-meta-value{font-weight:700;font-size:.92rem}.est-prepared{margin:12px 0 0;font-size:.82rem;color:#5a6b7d}.est-prepared p{margin:0}.est-estimator{margin-top:2px;font-weight:700;color:#12304f}.est-client-card{box-sizing:border-box;background:#eef2f6;border-radius:14px;padding:16px;min-width:0;overflow:hidden}.est-client-logo{width:44px;height:44px;border-radius:50%;background:#12304f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:8px}.est-client-name{font-weight:800;font-size:.86rem}.est-client-sub{font-size:.75rem;color:#5a6b7d}.est-client-blurb{font-size:.72rem;color:#4d5d6e;margin:8px 0;line-height:1.35}.est-pills{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.est-pills span{flex:0 0 auto;white-space:nowrap;font-size:.62rem;font-weight:700;background:#fff;border-radius:999px;padding:4px 8px;color:#12304f}.est-sections{display:flex;flex-direction:column;gap:14px;padding:8px 22px 4px}.est-card{border-radius:14px;overflow:hidden;background-clip:padding-box;border:1px solid #a8a0ba;border-top-color:#c5bed8;background:#e8eaee;box-shadow:0 4px 14px #140c3014;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-decoration-break:slice;-webkit-box-decoration-break:slice}.est-card-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;background:linear-gradient(90deg,#3d8bff,#6b4dff 52%,#9b4dff);color:#fff;border-radius:13px 13px 0 0;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-card-banner h2{margin:0;font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.est-card-banner .est-icon{color:#fff}.est-card-body{display:flex;flex-direction:column;gap:10px;padding:16px;background:#e8eaee;border-radius:0 0 13px 13px}.est-card:has(+.est-pdf-pagebreak),.est-card-body:has(+.est-pdf-pagebreak),.est-group-card:has(+.est-pdf-pagebreak),.est-lines:has(+.est-pdf-pagebreak){border-bottom-left-radius:0;border-bottom-right-radius:0}.est-pdf-pagebreak+.est-card,.est-pdf-pagebreak+.est-card-body,.est-pdf-pagebreak+.est-lines{border-top-left-radius:0;border-top-right-radius:0}.est-group-card{border-radius:12px;overflow:hidden;isolation:isolate;background:#25233d;background-clip:padding-box;border:1px solid rgba(197,184,255,.35);-webkit-print-color-adjust:exact;print-color-adjust:exact;box-decoration-break:slice;-webkit-box-decoration-break:slice}.est-group-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(90deg,#ece6ff,#d4c8f8 42%,#b5d4f4);color:#3d2a7a;border-top-left-radius:12px;border-top-right-radius:12px;background-clip:padding-box;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-group-banner h3{margin:0;font-size:.82rem;font-weight:800}.est-group-banner .est-icon{width:24px;height:24px;border-radius:7px}.est-lines{display:flex;flex-direction:column;padding-bottom:14px;background:#25233d;background-clip:padding-box;border-radius:0 0 11px 11px;overflow:hidden}.est-lines-head,.est-item-row{display:grid;grid-template-columns:minmax(0,1fr) 56px 88px 88px;gap:8px;align-items:start;padding:8px 12px;break-inside:avoid;page-break-inside:avoid}.est-lines-head{background:#080e2473;color:#ffffffd1;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.est-lines-head .num,.est-item-row .num{text-align:right;white-space:nowrap}.est-group-row td{padding:10px 12px 4px;border-top:1px solid rgba(180,170,255,.18)}.est-group-head{display:flex;align-items:center;gap:10px;font-weight:800;color:#e8e4ff;font-size:.88rem}.est-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;background:#2f74d8;flex:0 0 auto}.est-icon svg{color:#fff;stroke:#fff;fill:none}.est-icon--access,.est-icon--lock{background:#3b6fe0}.est-icon--video,.est-icon--camera{background:#2b8aef}.est-icon--monitor{background:#3a7bd5}.est-icon--badge{background:#2ea36a}.est-icon--door{background:#3b6fe0}.est-icon--audio,.est-icon--speaker{background:#6b4ae0}.est-icon--cable{background:#4b7aa8}.est-icon--discount,.est-icon--tag{background:#c45c2a}.est-icon--quote{background:#3b6fe0}.est-icon--date{background:#2b8aef}.est-icon--customer{background:#6b4ae0}.est-item-row{font-size:.82rem;color:#dce3f0;padding-bottom:12px}.est-item-row:last-child{padding-bottom:12px;border-bottom:none;box-shadow:none}.est-item-name{font-weight:700;color:#fff}.est-item-desc{color:#b7bfd8;font-size:.74rem;margin-top:2px;line-height:1.3}.est-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 22px 0;align-items:flex-end}.est-bottom-left{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0;flex:1}.est-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.est-values strong{display:block;font-size:.72rem}.est-values span{font-size:.68rem;color:#6b7c90}.est-totals{width:240px;background:#eef3f8;border-radius:10px;overflow:hidden}.est-tot-row{display:flex;justify-content:space-between;padding:8px 12px;font-size:.82rem;color:#3d6ea8}.est-tot-grand{display:flex;justify-content:space-between;padding:10px 12px;background:#12304f;color:#fff;font-weight:800;font-size:.95rem}.est-foot{display:flex;justify-content:flex-start;align-items:center;padding:0;gap:12px}.est-thanks{font-family:Segoe Script,Bradley Hand,cursive;color:#6b4ae0;font-size:1.35rem}.est-contact{font-size:.72rem;color:#5a6b7d}.est-foot-tag{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#12304f;font-weight:700}@media print{.mobile-topbar,.sidebar,.sidebar-backdrop,.quote-header-actions,.quote-header-back,.quote-toolbox-drawer,.quote-launcher,.quote-tabs-row,.quote-tabs,.quote-top-grid,.quote-workspace,.quote-page-header,.error-banner,.modal-overlay,.quote-entry>p{display:none!important}.app-shell{display:block;height:auto;max-height:none;overflow:visible}.app-main{overflow:visible;padding:0}.quote-entry{padding:0}.est-doc,.quote-print-sheet{display:block!important;width:8.5in;max-width:8.5in;position:static;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-card{overflow:visible}.est-group-card,.est-lines,.est-hero{overflow:hidden}.est-frame{overflow:hidden;box-decoration-break:slice;-webkit-box-decoration-break:slice;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-hero,.est-intro,.est-card-banner,.est-group-banner,.est-lines-head,.est-item-row,.est-bottom,.est-foot,.est-client-card,.est-totals,img{break-inside:avoid;page-break-inside:avoid}.est-card-banner,.est-group-banner,.est-lines-head{break-after:avoid;page-break-after:avoid}}@page{size:letter;margin:0}
