*,*: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}.confirm-field-label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.375rem}.confirm-field-label .label{margin-bottom:0}.confirm-field-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.confirm-field-cancel{width:1.9rem;height:1.9rem;border:0;border-radius:0;background:transparent;padding:0;color:#dc2626;font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer}.confirm-field-cancel:hover{color:#b91c1c;background:transparent}.save-changes-label{color:#16a34a;font-weight:700}.save-changes-label:hover:not(:disabled),.save-changes-label:focus-visible:not(:disabled){color:#15803d;background:transparent}.btn.composer-submit-btn.is-save-changes{background:#16a34a;border-color:#16a34a;color:#fff}.btn.composer-submit-btn.is-save-changes:hover:not(:disabled){background:#15803d;border-color:#15803d;color:#fff}.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}.success-banner{background:#d1fae5;color:#047857;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-panel-status{margin:-.35rem 0 .85rem;font-size:.8125rem;color:var(--text-muted)}.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}.unsaved-leave{z-index:1200}.unsaved-leave-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;cursor:default}.unsaved-leave-panel{position:relative;max-width:440px;padding:0;overflow:hidden}.unsaved-leave-banner{position:relative;padding:1.35rem 1.4rem 1.1rem;background:#312e81;color:#fff}.unsaved-leave-banner h2{margin:0;color:#fff;font-family:var(--font);font-size:1.25rem;font-weight:700}.unsaved-leave-banner p{margin:.35rem 0 0;color:#e0d7ffd9;font-size:.92rem}.unsaved-leave-close{position:absolute;top:.65rem;right:.7rem;border:0;background:transparent;color:#e0d7ffcc;font-size:1.4rem;line-height:1;cursor:pointer}.unsaved-leave-body{padding:1.1rem 1.4rem .4rem}.unsaved-leave-body p{margin:0}.unsaved-leave-lead{margin-bottom:.45rem!important;font-size:.875rem;font-weight:600;color:var(--text-muted)}.unsaved-leave-changes{margin:0 0 .85rem;padding-left:1.15rem;font-size:.92rem;line-height:1.45;color:var(--text)}.unsaved-leave-changes li{margin:.15rem 0}.unsaved-leave-question{margin-top:.25rem!important;color:var(--text-muted);font-size:.92rem}.unsaved-leave-foot{display:flex;justify-content:space-between;gap:.75rem;padding:1rem 1.4rem 1.2rem}.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-quote-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#e7edf5}.public-quote-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:1.5rem 1rem 2rem}.public-quote-page .est-doc{display:block;position:relative;width:min(816px,100%);margin:0 auto;box-shadow:0 18px 48px #12304f24}.public-quote-actions{flex:0 0 auto;z-index:5;display:flex;gap:.75rem;justify-content:center;align-items:center;width:100%;margin:0;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d5deea;box-shadow:0 -8px 24px #12304f14}.public-quote-status{margin:0;font-weight:700;color:#12304f}.public-quote-status.is-approved{color:#157347}.public-quote-status.is-declined{color:#b91c1c}.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)}.public-cover{display:block;width:100%;height:280px;object-fit:cover;border-radius:16px;margin:0 0 1.5rem;box-shadow:var(--shadow)}.public-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.public-gallery figure{margin:0}.public-gallery img{width:100%;height:140px;object-fit:cover;border-radius:10px;display:block}.public-gallery figcaption{margin-top:.35rem;font-size:.8rem;color:var(--text-muted)}.public-line{display:flex;gap:.75rem;align-items:center}.public-line-photo{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0}.image-field-drop{display:grid;grid-template-columns:112px 1fr;gap:.9rem;align-items:start;margin-bottom:1rem;padding:.75rem;border:1px dashed var(--border);border-radius:12px;background:var(--bg)}.image-field-drop.is-dragover{border-color:var(--primary, #378add);background:#378add14}.image-field-preview,.image-field-empty{width:112px;height:112px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}.image-field-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;color:var(--text-muted);font-size:.8rem;background:var(--surface)}.image-field-actions,.image-field-url{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.45rem}.image-field-url .input{flex:1 1 160px;min-width:0}.image-field-error{margin:.4rem 0 0;color:var(--danger, #b42318);font-size:.85rem}.quote-line-thumb{width:32px;height:32px;object-fit:cover;border-radius:6px;flex-shrink:0}.est-item-copy{display:flex;gap:10px;align-items:flex-start}.est-item-photo{width:52px;height:52px;object-fit:cover;border-radius:6px;flex-shrink:0}.signature-pad{border:2px dashed var(--border);border-radius:var(--radius);background:#fafafa;cursor:crosshair;touch-action:none}.login-page{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem 3rem;background:linear-gradient(168deg,#2a1578,#3b2494 14%,#2d2a8a 32%,#1a2d6e,#0f2348 72%,#0a1628)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 95% 58% at 50% 12%,rgb(139 92 246 / .42),transparent 58%),radial-gradient(ellipse 55% 38% at 82% 6%,rgb(56 189 248 / .14),transparent 52%),radial-gradient(ellipse 48% 32% at 8% 22%,rgb(99 102 241 / .22),transparent 48%),radial-gradient(ellipse 40% 28% at 65% 38%,rgb(168 85 247 / .12),transparent 50%)}.login-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.9;background:radial-gradient(ellipse 130% 28% at 50% 100%,rgb(147 51 234 / .38),transparent 58%),radial-gradient(ellipse 90% 10% at 50% 100%,rgb(96 165 250 / .28),transparent 72%),radial-gradient(1px 1px at 12% 18%,rgb(255 255 255 / .45),transparent),radial-gradient(1px 1px at 28% 72%,rgb(255 255 255 / .28),transparent),radial-gradient(1px 1px at 44% 34%,rgb(255 255 255 / .35),transparent),radial-gradient(1px 1px at 58% 8%,rgb(255 255 255 / .4),transparent),radial-gradient(1px 1px at 71% 56%,rgb(255 255 255 / .22),transparent),radial-gradient(1px 1px at 84% 24%,rgb(255 255 255 / .32),transparent),radial-gradient(1px 1px at 91% 68%,rgb(255 255 255 / .25),transparent),radial-gradient(1px 1px at 6% 48%,rgb(255 255 255 / .2),transparent),radial-gradient(1px 1px at 36% 88%,rgb(255 255 255 / .18),transparent),radial-gradient(1px 1px at 52% 62%,rgb(255 255 255 / .15),transparent),radial-gradient(1.5px 1.5px at 22% 42%,rgb(255 255 255 / .12),transparent),radial-gradient(1.5px 1.5px at 76% 82%,rgb(255 255 255 / .14),transparent)}.login-page>*{position:relative;z-index:1}.login-page .login-back{position:absolute;top:1.15rem;left:1.15rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;color:#e2e8f0;background:#0f172a59;border:1px solid rgb(255 255 255 / .16);text-decoration:none}.login-page .login-back:hover{color:#fff;background:#1e293b8c}.login-otp{display:flex;gap:.45rem;justify-content:space-between;margin:0 0 1.15rem}.login-page .login-otp-digit{width:2.65rem;min-width:0;height:3.1rem;padding:0;text-align:center;font-size:1.35rem;font-weight:650;letter-spacing:0}.login-card{width:100%;max-width:420px;padding:0;border-radius:18px;overflow:hidden;background:linear-gradient(155deg,#4338ca38,#312e8147 35%,#0f172a61);border:1px solid rgb(255 255 255 / .14);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 28px 72px #0000006b,inset 0 1px #ffffff1a,inset 0 -1px #93c5fd24}.login-card-brand{background:transparent;padding:1.55rem 1.6rem .35rem}.login-logo-img{display:block;width:min(340px,100%);height:auto;margin:0 auto;overflow:visible}.login-card-body{padding:1.15rem 1.6rem 1.4rem}.login-card .subtitle{text-align:center;color:#f1f5f9;margin:0 0 1.25rem}.login-page .label{color:#e2e8f0c7}.login-page .input{color:#f8fafc;caret-color:#f8fafc;border:1px solid transparent;border-radius:11px;background:linear-gradient(#080c1ceb,#080c1ceb) padding-box,linear-gradient(135deg,#c4b5fd,#a78bfa 48%,#8b5cf6) border-box;background-clip:padding-box,border-box;box-shadow:0 0 0 1px #c4b5fd59,0 0 14px #a78bfa6b}.login-page .input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 1px #d8b4feb3,0 0 18px #a78bfa8c}.login-page .input::placeholder{color:#94a3b8b3}.login-page .btn-primary{background:linear-gradient(90deg,#378add,#4f7cf0 42%,#6366f1);border:1px solid rgb(147 197 253 / .42);box-shadow:0 4px 22px #378add66,0 0 0 1px #ffffff0f inset,inset 0 1px #ffffff24}.login-page .login-submit{display:flex;width:100%;justify-content:center;text-align:center}.login-page .login-back-to-login{margin-top:.75rem;text-decoration:none}.login-page .btn-primary:hover:not(:disabled){background:linear-gradient(90deg,#378add,#4f7cf0 42%,#6366f1);filter:brightness(1.07);box-shadow:0 6px 28px #6366f17a,0 0 0 1px #ffffff14 inset,inset 0 1px #ffffff2e}.login-page .btn-secondary{border:1px solid rgb(210 220 245 / .42);background:#94a3d166;color:#fff;box-shadow:inset 0 1px #ffffff24}.login-page .btn-secondary:hover:not(:disabled){color:#fff;border-color:#e2e8ff8c;background:#a3b2dc85}.login-page .btn-text-link,.login-page a{color:#93c5fd}.login-page .error-banner{background:#7f1d1d59;color:#fca5a5;border:1px solid rgb(252 165 165 / .25)}.login-page .success-banner{background:#064e3b59;color:#86efac;border:1px solid rgb(134 239 172 / .25)}.login-session-note{margin:.85rem 0 0;text-align:center;font-size:.75rem;line-height:1.4;color:#cbd5e1d1}.login-footer-links{margin:.75rem 0 0;text-align:center}.login-forgot{margin:.9rem 0 0;text-align:center}.login-forgot a{color:#93c5fd;font-weight:600}.login-forgot a:hover{text-decoration:underline}.btn-text-link{background:none;border:0;padding:0;color:#93c5fd;font-weight:600;cursor:pointer}.btn-text-link:hover{text-decoration:underline}.invite-link-box{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem;padding:.75rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);word-break:break-all}.login-page .invite-link-box{background:#080c1c8c;border-color:#ffffff1f;color:#cbd5e1d1}.invite-link-box a{flex:1 1 220px;font-size:.8125rem}.invite-notice p{margin:0}.login-demo-or{display:flex;align-items:center;gap:12px;margin:1.15rem .25rem .9rem;color:#cbd5e1d1;font-size:11px;font-weight:700;letter-spacing:.14em}.login-demo-or:before,.login-demo-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgb(226 232 240 / .28),transparent)}.login-demo-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:12px}.login-demo-btn{flex:1 1 0;display:flex;align-items:center;gap:10px;width:auto;min-width:0;min-height:64px;margin:0;padding:10px 12px 10px 14px;border-radius:8px;background:#070b18;color:#f8fafc;font:inherit;font-size:13px;font-weight:600;line-height:1.2;text-align:left;cursor:pointer}.login-demo-btn--user{border:1px solid rgb(103 232 249 / .55);box-shadow:0 0 0 1px #22d3ee1f,0 0 18px #22d3ee2e}.login-demo-btn--admin{border:1px solid rgb(251 191 36 / .5);box-shadow:0 0 0 1px #f59e0b1f,0 0 18px #f59e0b29}.login-demo-icon,.login-demo-chevron{display:grid;place-items:center;flex-shrink:0}.login-demo-btn--user .login-demo-icon,.login-demo-btn--user .login-demo-chevron{color:#67e8f9}.login-demo-btn--admin .login-demo-icon,.login-demo-btn--admin .login-demo-chevron{color:#fbbf24}.login-demo-label{flex:1;min-width:0}.login-demo-chevron{opacity:.85}.login-demo-btn:hover:not(:disabled){background:#0b1224}.login-demo-btn--user:hover:not(:disabled){border-color:#a5f3fcbf;box-shadow:0 0 0 1px #22d3ee33,0 0 22px #22d3ee47}.login-demo-btn--admin:hover:not(:disabled){border-color:#fcd34db3;box-shadow:0 0 0 1px #f59e0b33,0 0 22px #f59e0b42}.login-demo-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:520px){.login-demo-actions{flex-direction:column}}.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:0}.quote-doc-mark{display:none}.quote-kind-label,.quote-kind-number{display:inline}.quote-kind-number:before{content:" "}.quote-header-name,.quote-header-name-input{font:inherit;color:inherit;letter-spacing:inherit;max-width:22rem;margin:0;padding:.05rem .3rem;margin-left:-.3rem;border:1px solid transparent;border-radius:6px;background:none;text-align:left}.quote-header-name{cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-header-name:hover{border-color:#ffffff59;background:#ffffff14}.quote-header-name-row{display:inline-flex;align-items:center;gap:.25rem;min-width:0;max-width:100%}.quote-header-name-input{flex:1 1 auto;width:min(22rem,100%);min-width:8rem;border-color:#ffffff8c;background:#ffffff1f;outline:none}.quote-header-name-actions{display:inline-flex;align-items:center;gap:.1rem;flex:0 0 auto}.quote-header-name-check,.quote-header-name-x{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}.quote-entry.is-line-view-2 .quote-header-name-x{color:#f87171}.quote-entry.is-line-view-2 .quote-header-name-check{color:#4ade80}.quote-entry:not(.is-line-view-2) .quote-header-name-x{color:#dc2626}.quote-entry:not(.is-line-view-2) .quote-header-name-check{color:#16a34a}.quote-header-name-check:hover,.quote-header-name-x:hover{background:transparent}.quote-header-name-x:hover{color:#fca5a5}.quote-header-name-check:hover{color:#86efac}.quote-header-name-check:disabled,.quote-header-name-x:disabled{opacity:.45;cursor:default}.quote-entry>.quote-page-header .quote-mode-sticky{flex:1 0 100%;order:3}.quote-mode-sticky{position:static;z-index:34;margin:0 -2rem;padding:.65rem 0 .45rem;background:var(--bg)}.quote-mode-bar{display:flex;align-items:flex-end;gap:.35rem;margin:0 2rem;padding:.15rem 0 0;border-radius:0;background:transparent;border:0;border-bottom:2px solid #94a3b8}.quote-mode-btn{flex:0 0 auto;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.45rem;min-height:0;margin-bottom:-2px;padding:.7rem 1.15rem .55rem;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#334155;font-size:1rem;font-weight:700;cursor:pointer}.quote-mode-btn svg{display:none}.quote-mode-btn:hover,.quote-mode-btn:focus-visible{background:transparent;color:#0f172a}.quote-mode-btn.is-active{color:#0f766e;background:transparent;border-bottom-color:#14b8a6;box-shadow:none}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-save-label,.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard,.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm{flex:0 0 auto;flex-direction:row;min-height:0;margin-bottom:0;padding:.2rem .35rem;border-bottom:0;background:transparent;box-shadow:none;text-decoration:none}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-save-label{color:#4ade80;font-size:.82rem;white-space:nowrap;padding-inline:.55rem}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-save-label:hover:not(:disabled),.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-save-label:focus-visible:not(:disabled){color:#86efac;background:transparent}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard{color:#f87171}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm{color:#4ade80}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard svg,.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm svg{display:block;width:28px;height:28px}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard:hover,.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard:focus-visible{background:transparent;color:#fca5a5}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm:hover,.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm:focus-visible{background:transparent;color:#86efac}.quote-entry .quote-mode-bar.is-dirty .quote-mode-btn:disabled{opacity:.6;cursor:wait}.quote-entry .quote-mode-bar.is-dirty{justify-content:flex-end;border-bottom:0}.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty{gap:.5rem;border-bottom:0}.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-save-label,.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard,.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm{padding:.2rem .35rem}.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard:hover,.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-discard:focus-visible,.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm:hover,.quote-entry.is-line-view-2 .quote-mode-bar.is-dirty .quote-mode-btn.quote-mode-confirm:focus-visible{background:transparent}.quote-preview-host{margin:0 auto 2rem;max-width:860px;padding:0 1rem}.quote-preview-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;width:min(816px,100%);margin:0 auto .75rem}.quote-preview-host:not(.is-offscreen) .est-doc{display:block;position:relative;width:min(816px,100%);margin:0 auto;background:#fff;z-index:1}.quote-preview-host.is-offscreen{height:0;overflow:hidden;margin:0;padding:0}body.quote-paginate .quote-preview-host.is-offscreen,body.quote-pdf-capture .quote-preview-host.is-offscreen{height:auto;overflow:visible}.quotes-email-panel--page{width:min(100% - 2rem,1080px);max-height:none;margin:0 auto 2rem}.quote-share-page{max-width:40rem;margin:0 auto 2rem}.quote-share-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.quote-qb{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border, #e2e8f0)}.quote-qb-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.quote-qb-head h3{margin:0;font-size:1.05rem}.quote-qb-status{font-size:.75rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.quote-qb-status.is-on{color:#0f766e}.quote-qb-lead,.quote-qb-meta,.quote-qb-note{margin:.5rem 0 0;color:var(--muted, #475569);font-size:.92rem}.quote-qb-list{margin:.75rem 0 0;padding-left:1.15rem;color:var(--text, #0f172a)}.quote-qb-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:end;margin-top:1rem}.quote-qb-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:2.25rem}.quote-qb-rate{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.quote-qb-rate select{min-width:12rem}.quote-stage-note{max-width:40rem;margin:0 auto 2rem}.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:.02em;line-height:1.2;white-space:nowrap}.quote-entry.is-line-view-2>.quote-page-header{position:sticky;top:.85rem;margin-top:.85rem;z-index:40;flex-wrap:wrap;align-items:center;overflow-x:auto;gap:.5rem 0;margin:0;padding:.7rem .85rem .7rem 1rem;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#3b2a9a,#2a2278 48%,#241e6b);box-shadow:0 12px 28px #241e6b47;color:#fff}.quote-entry.is-line-view-2 .quote-header-back{display:inline-flex;margin-right:.85rem;color:#fff}.quote-entry.is-line-view-2 .quote-header-back:hover{color:#fff;opacity:.82}.quote-entry.is-line-view-2 .quote-header-title{gap:.85rem;flex:1 1 12rem;min-width:12rem}.quote-entry.is-line-view-2 .quote-header-title h1{min-width:0}.quote-entry.is-line-view-2 .quote-doc-mark{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:12px;background:#ffffff29;color:#fff;flex-shrink:0}.quote-entry.is-line-view-2 .quote-header-title h1{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;margin:0;letter-spacing:0;font-size:1.35rem;font-weight:800;line-height:1.1;color:#fff;white-space:normal}.quote-entry.is-line-view-2 .quote-header-name-row{width:100%;max-width:min(100%,28rem)}.quote-entry.is-line-view-2 .quote-kind-number{font-size:.78rem;font-weight:600;letter-spacing:.01em;color:#ffffffb8}.quote-entry.is-line-view-2 .quote-kind-number:before{content:none}.quote-entry.is-line-view-2>.quote-page-header .quote-mode-sticky{order:2;position:static;display:flex;justify-content:flex-end;flex:0 0 auto;width:auto;min-width:max-content;margin:0;padding:0 .5rem 0 1.25rem;background:transparent;z-index:auto}.quote-entry.is-line-view-2 .quote-mode-bar{width:auto;margin:0 0 0 auto;padding:.15rem 0 0;gap:.35rem;justify-content:flex-end;border:0;border-bottom:2px solid rgb(255 255 255 / .35);border-radius:0;background:transparent}.quote-entry.is-line-view-2 .quote-mode-btn{flex:0 0 auto;flex-direction:row;gap:.45rem;min-height:0;padding:.7rem 1.15rem .55rem;border-radius:0;font-size:1rem;font-weight:700;color:#fff;white-space:nowrap}.quote-entry.is-line-view-2 .quote-mode-btn svg{display:none}.quote-entry.is-line-view-2 .quote-mode-btn:hover,.quote-entry.is-line-view-2 .quote-mode-btn:focus-visible{background:transparent;color:#fff}.quote-entry.is-line-view-2 .quote-mode-btn.is-active{padding:.7rem 1.15rem .55rem;background:transparent;border-bottom-color:#2dd4bf;color:#fff;box-shadow:none}.quote-entry.is-line-view-2>.quote-info-panel,.quote-entry.is-line-view-2>.quote-workspace{margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem);max-width:calc(100% - 2rem);box-sizing:border-box;transition:margin-right 1.05s cubic-bezier(.22,1,.36,1),max-width 1.05s cubic-bezier(.22,1,.36,1),width 1.05s cubic-bezier(.22,1,.36,1)}.quote-entry.is-line-view-2.is-line-detail-open>.quote-info-panel,.quote-entry.is-line-view-2.is-line-detail-open>.quote-workspace,.quote-entry.is-line-detail-open:has(.quote-line-composer.is-view-2)>.quote-workspace,.quote-entry.is-line-detail-open:has(.quote-line-composer.is-view-2)>.quote-info-panel{--quote-left-col-w: min( 42rem, calc(100% - var(--line-detail-w, min(30rem, calc(100vw - 48px - 1.5rem) )) - 3rem) );width:var(--quote-left-col-w);max-width:var(--quote-left-col-w);min-width:0;margin-right:1rem;box-sizing:border-box}.quote-entry.is-line-view-2>.quote-info-panel{margin-top:0}.quote-entry.is-line-view-2>.quote-workspace{margin-top:.85rem}.quote-entry.is-line-view-2{--line-detail-w: min(30rem, calc(100vw - 48px - 1.5rem) );padding-right:0;min-width:0;overflow-x:clip}.quote-entry.is-line-view-2 .quote-header-actions{order:3;flex:0 0 auto;gap:.35rem;margin-left:auto;padding-left:1.1rem;border-left:1px solid rgb(255 255 255 / .28)}.quote-entry.is-line-view-2 .quote-header-save,.quote-entry.is-line-view-2 .quote-status-select-wrap:has(#quote-document-type){display:none}.quote-entry.is-line-view-2 .quote-status-select-wrap{background:#0f0a2847;color:#fff;border:1px solid rgb(255 255 255 / .28);border-radius:12px}.quote-entry.is-line-view-2 .quote-status-select{min-width:6.75rem;padding:.55rem 2rem .55rem 1rem;background:transparent;color:#fff;font-size:.95rem;font-weight:650}.quote-entry.is-line-view-2 .quote-status-select-wrap:after{border-color:#fff;right:.85rem}.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-status-select-wrap{position:relative;display:inline-flex;align-items:center;border-radius:999px;flex-shrink:0}.quote-status-select-wrap:after{content:"";position:absolute;right:.7rem;top:50%;width:.38rem;height:.38rem;margin-top:-.28rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);pointer-events:none}.quote-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:none;color:inherit;font-family:var(--font);font-size:.8rem;font-weight:700;line-height:1.2;padding:.38rem 1.7rem .38rem .75rem;border-radius:999px;cursor:pointer}.quote-status-select:focus-visible{outline:2px solid currentColor;outline-offset:2px}.quote-status-select-wrap--gray{background:#f1f5f9;color:#475569}.quote-status-select-wrap--blue{background:#dbeafe;color:#1d4ed8}.quote-status-select-wrap--purple{background:#ede9fe;color:#6d28d9}.quote-status-select-wrap--green{background:#d1fae5;color:#047857}.quote-status-select-wrap--red{background:#fee2e2;color:#b91c1c}.quote-status-select-wrap--orange{background:#ffedd5;color:#c2410c}.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-entry,.quote-entry *{overflow-anchor:none}.app-main:has(.quote-entry){overflow-anchor:none}@media(min-width:961px){.app-main:has(.quote-entry){margin-right:calc(48px + .1rem)}}.quote-lines tbody[data-line-uid]{scroll-margin-top:calc(var(--quote-head-h, 4.75rem) + var(--quote-mode-h, 5.5rem) + .75rem)}.quote-lines tbody.is-active .quote-line-fields td{background:#e8f1fc;border-top:0;border-bottom:0;border-left:0;border-right:0;box-shadow:inset 0 2px #2563eb,inset 0 -2px #2563eb}.quote-lines tbody.is-active .quote-line-fields td:first-child{border-radius:10px 0 0 10px;box-shadow:inset 2px 0 #2563eb,inset 0 2px #2563eb,inset 0 -2px #2563eb}.quote-lines tbody.is-active .quote-line-fields td:last-child{border-radius:0 10px 10px 0;box-shadow:inset -2px 0 #2563eb,inset 0 2px #2563eb,inset 0 -2px #2563eb}.quote-lines tbody.is-active .quote-line-name-text{color:#312e81;font-weight:750}.quote-lines tbody.is-active .quote-col-amount{color:#312e81}.quote-lines tbody.is-saved-flash td{background:#ecfdf5;transition:background-color .35s ease}.quote-line-saved-badge{flex:0 0 auto;padding:.12rem .45rem;border-radius:999px;background:#059669;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.35;animation:quote-line-saved-badge 2.6s ease forwards}@keyframes quote-line-saved-badge{0%{opacity:0;transform:scale(.92)}12%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.quote-lines tbody.is-draft td{background:#f5f3ff}.quote-line-name-text{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-item-name .quote-line-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.quote-lines td,.quote-lines th{vertical-align:middle}.quote-line-trash{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0}.quote-line-fields{cursor:pointer}.quote-line-save{width:1.9rem;height:1.9rem;border:0;border-radius:0;background:transparent;padding:0;color:#16a34a;font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer}.quote-line-save:hover{color:#15803d;background:transparent}.quote-lines tbody.is-draft .quote-line-fields td{background:#fff;color:#0f172a}.quote-lines--compact input,.quote-lines--compact select,.quote-draft-nums input,.quote-draft-nums select{background:#fff;color:#0f172a;border:1px solid #94a3b8;min-height:2.4rem;font-size:.95rem;padding:.4rem .55rem}.quote-draft-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1rem;margin:.35rem 0 .15rem;padding:.9rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a}.quote-draft-fields,.quote-draft-fields .label,.quote-draft-nums label,.quote-draft-fields .products-check{color:#0f172a}.quote-draft-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.7rem 0}.quote-draft-nums label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:700}.quote-draft-fields .products-check{display:inline-flex;margin-right:1rem}.quote-info-panel{margin-bottom:1.25rem;border:none;border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow-anchor:none}.quote-info-panel.is-compact{position:static}.quote-info-panel-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:0;border-radius:13px 13px 0 0;color:#fff;background:linear-gradient(168deg,#2a1578,#3b2494 14%,#2d2a8a 32%,#1a2d6e,#0f2348 72%,#0a1628)}.quote-info-panel.is-compact .quote-info-panel-head{border-radius:13px}.quote-info-body{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),opacity .22s ease}.quote-info-panel.is-compact .quote-info-body{grid-template-rows:0fr;opacity:0;pointer-events:none}.quote-info-body-inner{min-height:0;overflow:hidden}.quote-info-panel-head h2{display:flex;align-items:center;gap:.55rem;margin:0;color:#fff;font-size:1rem;font-weight:700}.quote-info-panel-head h2 svg{color:#fff}.quote-info-toggle{display:inline-flex;align-items:center;gap:.3rem;border:0;background:none;padding:.2rem .1rem;color:#fff;font-weight:600;cursor:pointer}.quote-info-toggle:hover{color:#e0e7ff}.quote-top-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:1rem;overflow-anchor:none}.quote-compact-bar{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) auto;gap:.75rem 1rem;align-items:center;margin:.75rem 1rem 1rem;padding:.55rem .9rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.quote-compact-cell{min-width:0}.quote-compact-cell strong{display:block;overflow:hidden;font-size:.84rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.quote-compact-meta{display:block;overflow:hidden;color:var(--text-muted);font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.quote-compact-total{text-align:right}.quote-compact-total strong{color:#047857;font-size:1rem}.quote-info-card h3{margin:0 0 .75rem;font-size:.95rem}.quote-info-company{padding-left:1.75rem;padding-right:1.75rem;padding-bottom:1.75rem}.quote-customer-name{font-weight:600;margin-bottom:.25rem}.quote-company-add{display:inline-block;margin-top:.65rem}.quote-muted{color:var(--text-muted);font-size:.875rem;line-height:1.45}.quote-customer-fields{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border);display:grid;gap:.55rem}.quote-customer-fields .form-group{margin:0}.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-workspace{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:0 .85rem 1rem;box-shadow:var(--shadow)}.quote-builder-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 -.85rem .35rem;padding:.8rem 1rem;border-radius:11px 11px 0 0;color:#fff;background:linear-gradient(168deg,#2a1578,#3b2494 14%,#2d2a8a 32%,#1a2d6e,#0f2348 72%,#0a1628)}.quote-builder-bar h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;color:#fff}.quote-builder-bar h2 svg{color:#fff}.quote-tabs-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin-bottom:1rem;overflow:visible;padding-top:.2rem}.quote-tabs{display:flex;gap:.45rem;overflow:visible}.quote-tab{position:relative;background:none;border:none;border-bottom:2px solid transparent;padding:.6rem 1.1rem .6rem .9rem;color:var(--text-muted);font-weight:600;cursor:pointer}.quote-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.quote-tab-badge{position:absolute;top:-.15rem;right:-.15rem;min-width:1.05rem;height:1.05rem;padding:0 .28rem;border-radius:99px;background:#dc2626;color:#fff;font-size:.62rem;font-weight:800;line-height:1;display:grid;place-items:center;pointer-events:none;box-shadow:0 0 0 2px #fff}.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}.import-page{max-width:720px}.import-card{display:flex;flex-direction:column;gap:1rem}.import-drop{margin-bottom:0}.import-actions{display:flex;flex-wrap:wrap;gap:.75rem}.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-main{border-radius:10px;padding:1rem}.quote-main:has(.quote-line-composer){padding-left:8px;padding-right:8px}.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-group-empty{margin:0;padding:.85rem .85rem .35rem}.quote-running-total{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.quote-name-confirm{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.quote-name-check,.quote-name-x{width:2.35rem;height:2.35rem;border:0;border-radius:0;background:transparent;padding:0;font-weight:900;line-height:1;cursor:pointer}.quote-name-check{font-size:1.25rem}.quote-name-x{font-size:1.75rem}.quote-name-check{color:#16a34a}.quote-name-x{color:#dc2626}.quote-name-check:hover{color:#15803d;background:transparent}.quote-name-x:hover{color:#b91c1c;background:transparent}.quote-collapse{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-muted);width:1.5rem;line-height:1;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.quote-collapse--section{font-size:2.8rem;width:3.5rem}.quote-collapse--group{font-size:2.4rem;width:3.5rem;color:#3c3489}.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-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;vertical-align:middle}.quote-item-name-inner{display:flex;align-items:center;gap:.4rem;min-width:0}.quote-item-name-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1}.quote-item-name-inner:has(.quote-line-under-desc){align-items:flex-start}.quote-line-under-desc{font-size:.75rem;font-weight:450;color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.quote-item-name input{min-width:0;flex:1;width:100%}.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 .quote-col-category{width:7.5rem}.quote-line-composer.is-view-2 .quote-col-category{display:none}.quote-lines .quote-col-qty,.quote-lines .quote-col-unit{width:3.25rem}.quote-lines .quote-col-price{width:5.5rem}.quote-lines .quote-col-amount{width:5.25rem}.quote-lines .quote-col-actions{width:2.6rem;text-align:right}.quote-lines:not(.has-line-x) .quote-col-actions{width:0;padding:0;border:0}.quote-lines.has-line-x .quote-col-actions{width:2.6rem;padding-right:.35rem}.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,.quote-lines .quote-col-amount{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.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-text-btn:disabled{opacity:.45;cursor:not-allowed}.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:128px;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:168px;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-copy{display:flex;align-items:center;gap:.5rem;min-width:0}.quote-catalog-copy>span{display:flex;flex-direction:column;gap:.15rem;min-width:0}.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}.tailormaid-fab{position:fixed;z-index:1500;display:flex;align-items:center;justify-content:center;padding:.45rem .8rem;border-radius:999px;background:#070b14;border:1px solid rgb(148 163 184 / .35);box-shadow:0 8px 24px #0f172a73,0 0 0 1px #38bdf82e;text-decoration:none;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:box-shadow .15s ease}.tailormaid-fab.is-dragging{cursor:grabbing;box-shadow:0 12px 32px #0f172a8c,0 0 0 1px #38bdf852}.tailormaid-fab:hover:not(.is-dragging),.tailormaid-fab:focus-visible:not(.is-dragging){box-shadow:0 10px 28px #0f172a80,0 0 0 1px #38bdf847;text-decoration:none}.tailormaid-fab img{display:block;height:30px;width:auto;max-width:min(260px,62vw);object-fit:contain}@media(max-width:768px){.tailormaid-fab{padding:.35rem .55rem}.tailormaid-fab img{height:24px;max-width:min(200px,52vw)}}.app-column{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.app-topbar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;padding:.4rem 1.25rem .4rem 1.5rem;position:sticky;top:0;z-index:80;overflow:visible}.app-header{background:linear-gradient(90deg,#2a1578,#3b2494 22%,#2d2a8a,#1a2d6e,#0f2348);border-bottom:1px solid rgb(255 255 255 / .14);box-shadow:0 1px #c4b5fd29,0 8px 24px #0f172a2e;color:#f8fafc}.app-header-org{min-width:0;flex:1 1 auto}.app-header-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto;flex-shrink:0}.view-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border-radius:16px;background:#0b1220;border:1px solid #1e293b;box-shadow:inset 0 0 0 1px #ffffff08}.view-switch-slot{display:inline-flex;align-items:center}.view-switch-rule{width:1px;height:22px;margin:0 4px 0 2px;background:#334155}.view-switch-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;color:#94a3b8;text-decoration:none}.view-switch-btn:hover,.view-switch-btn:focus-visible{color:#e2e8f0;background:#94a3b81f}.view-switch-btn.is-active{color:#fff;background:linear-gradient(180deg,#7c6bff,#4f46e5);box-shadow:0 6px 16px #4f46e573}.view-switch--footer{display:none}.app-header-ai-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;touch-action:manipulation}.app-header-ai-toggle-label{font-size:.6875rem;font-weight:800;letter-spacing:.06em;color:#94a3b8}.app-header-ai-toggle.is-on .app-header-ai-toggle-label{color:#5eead4}.app-header-ai-toggle-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app-header-ai-toggle-track{position:relative;width:2.5rem;height:1.35rem;border-radius:999px;background:#334155d9;border:1px solid rgb(100 116 139 / .45);transition:background .18s ease,border-color .18s ease}.app-header-ai-toggle.is-on .app-header-ai-toggle-track{background:linear-gradient(90deg,#0d9488,#2563eb);border-color:#5eead473}.app-header-ai-toggle-thumb{position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#f8fafc;box-shadow:0 1px 3px #0f172a59;transition:transform .18s ease}.app-header-ai-toggle.is-on .app-header-ai-toggle-thumb{transform:translate(1.15rem)}.app-header-ai-toggle--compact .app-header-ai-toggle-label{display:none}.sidebar-settings{margin-bottom:.35rem}.settings-page{max-width:42rem}.settings-card-title{margin:0 0 .35rem;font-size:1.1rem}.settings-muted{margin:0 0 1.1rem;color:var(--text-muted);font-size:.9rem;line-height:1.45}.settings-muted.settings-foot{margin:1.25rem 0 0;margin-bottom:0}.settings-hint{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.settings-hint--tight{margin:.25rem 0 .5rem}.settings-label{font-weight:700;font-size:.9375rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--border);margin-bottom:.5rem}.settings-switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;touch-action:manipulation}.settings-switch input{position:absolute;opacity:0;pointer-events:none}.settings-switch-track{position:relative;width:2.75rem;height:1.5rem;border-radius:999px;background:var(--border)}.settings-switch input:checked+.settings-switch-track{background:var(--primary)}.settings-switch-thumb{position:absolute;top:2px;left:2px;width:1.15rem;height:1.15rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a33;transition:transform .18s ease}.settings-switch input:checked+.settings-switch-track .settings-switch-thumb{transform:translate(1.25rem)}.settings-switch-text{font-size:.875rem;font-weight:600;min-width:2rem}.settings-model-field,.settings-reset-model{margin-top:.5rem}.settings-flash{margin-bottom:.75rem;padding:.65rem .85rem;border-radius:var(--radius);background:#ecfdf5;color:#047857;font-size:.875rem}.app-header--search{justify-content:flex-end}.app-header-search,.app-header-search-spacer{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;position:relative;flex:0 0 30%;width:30%;max-width:30%;min-width:0;margin-left:auto;color:#e2e8f0}.app-header-search-input{flex:1 1 auto;min-width:0;height:40px;padding:0 .85rem;color:#f8fafc;caret-color:#f8fafc;border:1px solid transparent;border-radius:11px;background:linear-gradient(#080c1ceb,#080c1ceb) padding-box,linear-gradient(135deg,#c4b5fd,#a78bfa 48%,#8b5cf6) border-box;background-clip:padding-box,border-box;box-shadow:0 0 0 1px #c4b5fd59,0 0 14px #a78bfa6b}.app-header-search-input:focus{outline:none;box-shadow:0 0 0 1px #d8b4feb3,0 0 18px #a78bfa8c}.app-header-search-input::placeholder{color:#94a3b8b3}.app-header-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-header-icon,.app-header-close{flex-shrink:0;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:10px;background:transparent;color:#e2e8f0;cursor:pointer}.app-header-icon:hover,.app-header-close:hover,.app-header-icon:focus-visible,.app-header-close:focus-visible{background:#ffffff1f;color:#fff}.app-header-results{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:40;max-height:min(360px,50vh);overflow:auto;padding:.4rem;border-radius:12px;border:1px solid rgb(255 255 255 / .14);background:linear-gradient(155deg,#4338caeb,#312e81f0 35%,#0f172af5);box-shadow:0 12px 32px #0f172a59}.app-header-results-empty{padding:.75rem .85rem;color:#cbd5e1d1;font-size:.875rem}.app-header-result{display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto;column-gap:.65rem;width:100%;padding:.55rem .7rem;border:none;border-radius:8px;background:transparent;color:#f8fafc;text-align:left;cursor:pointer}.app-header-result:hover,.app-header-result:focus-visible{background:#ffffff1a}.app-header-result-kind{grid-row:1 / span 2;align-self:center;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#c4b5fd}.app-header-result-label{font-size:.875rem;font-weight:600}.app-header-result-detail{font-size:.75rem;color:#cbd5e1d1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-menu{position:relative;z-index:2}.app-user-avatar{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;overflow:hidden;border-radius:50%;border:1px solid rgb(147 197 253 / .42);background:linear-gradient(90deg,#378add,#4f7cf0 42%,#6366f1);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 14px #378add52,inset 0 1px #ffffff24}.app-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.app-user-avatar:hover,.app-user-avatar:focus-visible{filter:brightness(1.08)}.app-user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;z-index:45;min-width:220px;padding:.75rem .85rem .65rem;border-radius:12px;border:1px solid rgb(255 255 255 / .14);background:linear-gradient(155deg,#4338caeb,#312e81f0 35%,#0f172af5);box-shadow:0 12px 32px #0f172a59;color:#f8fafc}.app-user-dropdown-name{font-weight:700;font-size:.875rem}.app-user-dropdown-email,.app-user-dropdown-role{margin-top:.15rem;font-size:.75rem;color:#cbd5e1d1}.app-user-dropdown-signout{display:block;width:100%;margin-top:.7rem;text-align:center;text-decoration:none;padding:.45rem .65rem;border:1px solid rgb(210 220 245 / .42);border-radius:8px;background:#94a3d166;color:#fff;font-weight:600;cursor:pointer}.app-user-dropdown-signout:hover{background:#a3b2dc85}.app-header .org-switcher-label{display:none}.app-header .org-switcher-name,.app-header .org-switcher-select{color:#f8fafc;background:#080c1c73;border-color:#ffffff29}.app-header .org-switcher-select{min-width:160px;color-scheme:dark}.app-header .org-avatar--header{border-color:#c4b5fd66;background:#080c1c73}.app-main{position:relative;z-index:0;flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 2rem 2rem}.app-main:has(.dash),.app-main:has(.orgs-page),.app-main:has(.quotes-page){background:#070b14;padding:0}.org-switcher{display:flex;align-items:center;gap:.55rem;min-width:0;max-width:min(420px,100%)}.org-switcher-label{flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.org-switcher-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;color:var(--text)}.org-switcher-select{min-width:180px;max-width:280px;padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-weight:600}.org-avatar{display:block;object-fit:contain;background:#070b14;border:1px solid var(--border)}.org-avatar--header{width:32px;height:32px;border-radius:8px;flex-shrink:0}.org-avatar--table{width:36px;height:36px;border-radius:8px}.org-avatar--preview{width:88px;height:88px;border-radius:12px}.org-logo-field{display:grid;grid-template-columns:88px 1fr;gap:.85rem;align-items:start;margin-bottom:1rem}.avatar-field{margin-bottom:1rem}.avatar-field-dropzone{border:1.5px dashed var(--border);border-radius:12px;padding:.75rem .85rem;background:var(--bg);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.avatar-field-dropzone:focus-visible,.avatar-field-dropzone.is-dragover{border-color:#378add;background:#eff6ff;box-shadow:0 0 0 3px #378add29}.avatar-field-dropzone.is-busy{opacity:.7}.avatar-field-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.avatar-field-preview{width:4rem;height:4rem;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;flex-shrink:0;color:var(--text-muted);font-weight:700;font-size:1rem}.avatar-field.is-logo .avatar-field-preview{border-radius:12px}.avatar-field-preview img{width:100%;height:100%;object-fit:cover;display:block}.avatar-field.is-logo .avatar-field-preview img{object-fit:contain;background:#fff}.avatar-field-actions{display:flex;flex-direction:column;gap:.45rem;min-width:0;flex:1}.avatar-field-buttons{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.avatar-field-upload{display:inline-flex;cursor:pointer;margin:0}.avatar-field-upload.is-disabled{opacity:.5;pointer-events:none}.avatar-field-error{margin:.45rem 0 0;color:#dc2626;font-size:.85rem}.user-avatar--table{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#378add,#4f7cf0 42%,#6366f1);color:#fff;font-size:.68rem;font-weight:700}.orgs-page{--orgs-bg: #070b14;--orgs-card: #0c1220;--orgs-line: #1b2436;--orgs-text: #f8fafc;--orgs-muted: #94a3b8;--orgs-accent: #6d6cf6;min-height:100%;padding:1.35rem 1.5rem 1.25rem;color:var(--orgs-text);background:var(--orgs-bg)}.orgs-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.orgs-hero h1{margin:0;font-size:2rem;font-weight:600;letter-spacing:-.03em;color:#fff}.orgs-hero p{margin:.35rem 0 0;color:var(--orgs-muted)}.orgs-add,.orgs-save{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.62rem 1.05rem;border:0;border-radius:999px;background:var(--orgs-accent);color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;box-shadow:0 8px 20px #6d6cf647}.orgs-add:hover,.orgs-save:hover{filter:brightness(1.06);color:#fff}.orgs-save:disabled{opacity:.45;cursor:default;box-shadow:none}.orgs-loading,.orgs-empty{padding:2rem 1rem;text-align:center;color:var(--orgs-muted)}.orgs-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}.orgs-grid.is-open{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.orgs-card{min-width:0;display:flex;flex-direction:column;background:var(--orgs-card);border:1px solid var(--orgs-line);border-radius:16px;overflow:hidden;min-height:34rem}.orgs-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem .85rem}.orgs-card-head h2{margin:0;font-size:1.05rem;font-weight:700;color:#fff}.orgs-head-actions{display:flex;align-items:center;gap:.35rem}.orgs-delete,.orgs-close,.orgs-text-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .45rem;border:0;background:transparent;color:var(--orgs-muted);font-weight:700;font-size:.8125rem;cursor:pointer}.orgs-delete{color:#f87171}.orgs-delete:hover,.orgs-close:hover,.orgs-text-btn:hover{color:#fff}.orgs-close{font-size:1.4rem;line-height:1;padding:0 .35rem}.orgs-search{display:flex;align-items:center;gap:.55rem;margin:0 1.1rem .9rem;padding:.7rem .85rem;border:1px solid var(--orgs-line);border-radius:12px;background:#080d18;color:var(--orgs-muted)}.orgs-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--orgs-text);outline:none}.orgs-list{flex:1 1 auto;min-height:0;overflow:auto;padding:0 1.1rem 1rem;display:flex;flex-direction:column;gap:.65rem}.orgs-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem .95rem;border:1px solid var(--orgs-line);border-radius:12px;background:#0a1220;color:inherit;text-align:left;cursor:pointer}.orgs-row:hover,.orgs-row.is-active{border-color:#2a3a58;background:#10192b}.orgs-row-icon,.orgs-row-avatar{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#162033;color:#93c5fd;flex-shrink:0}.orgs-row-avatar{object-fit:contain;background:#070b14;border:1px solid var(--orgs-line)}.orgs-row-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orgs-status{display:inline-flex;align-items:center;gap:.35rem;color:var(--orgs-muted);font-size:.8rem;font-weight:600}.orgs-status i{width:7px;height:7px;border-radius:50%;background:#4ade80}.orgs-status.is-inactive i{background:#94a3b8}.orgs-row svg:last-child{color:#64748b;flex-shrink:0}.orgs-card-foot{padding:.85rem 1.1rem 1rem;color:var(--orgs-muted);font-size:.78rem}.orgs-form{min-height:0;flex:1;display:flex;flex-direction:column}.orgs-form-body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 1.15rem 1.2rem}.orgs-form-foot{display:flex;justify-content:flex-end;padding:.9rem 1.15rem 1.05rem;border-top:1px solid var(--orgs-line)}.orgs-logo{display:grid;grid-template-columns:64px 1fr;gap:.9rem;align-items:start;margin:.15rem 0 1.35rem;outline:none}.orgs-logo.is-dragover .orgs-file{border-color:var(--orgs-accent)}.orgs-logo-icon{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;background:#152036;color:#93c5fd;overflow:hidden}.orgs-logo-icon img{width:100%;height:100%;object-fit:cover}.orgs-logo-label{font-size:.92rem;font-weight:600;margin-bottom:.45rem}.orgs-file{position:relative;display:flex;align-items:center;gap:.65rem;min-height:42px;padding:.2rem .75rem .2rem .2rem;border:1px solid var(--orgs-line);border-radius:10px;background:#080d18;cursor:pointer;overflow:hidden}.orgs-file.is-disabled{opacity:.55;pointer-events:none}.orgs-file input{position:absolute;width:1px;height:1px;opacity:0}.orgs-file-btn{padding:.4rem .7rem;border-radius:8px;background:#1b2538;color:#e2e8f0;font-size:.75rem;font-weight:700}.orgs-file-name{color:var(--orgs-muted);font-size:.8rem}.orgs-hint{margin:.45rem 0 0;color:var(--orgs-muted);font-size:.75rem;line-height:1.4}.orgs-logo-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.orgs-section{margin:.35rem 0 .7rem;color:var(--orgs-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.orgs-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.orgs-field{display:block;margin-bottom:.85rem}.orgs-field span{display:block;margin-bottom:.4rem;color:var(--orgs-muted);font-size:.8rem;font-weight:600}.orgs-field input{width:100%;padding:.72rem .85rem;border:1px solid var(--orgs-line);border-radius:10px;background:#080d18;color:var(--orgs-text)}.orgs-field input::placeholder{color:#64748b}.orgs-field input:focus{outline:none;border-color:#3b4d6d}@media(max-width:960px){.orgs-grid.is-open,.orgs-fields-2{grid-template-columns:1fr}}.quotes-page{--quotes-bg: #070b14;--quotes-card: #0c1220;--quotes-line: #1b2436;--quotes-text: #f8fafc;--quotes-muted: #94a3b8;--quotes-accent: #6d6cf6;min-height:100%;padding:1.35rem 1.5rem 1.25rem;color:var(--quotes-text);background:var(--quotes-bg)}.quotes-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.quotes-hero h1{margin:0;font-size:2rem;font-weight:600;letter-spacing:-.03em;color:#fff}.quotes-hero p{margin:.35rem 0 0;color:var(--quotes-muted)}.quotes-add{display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1.05rem;border-radius:999px;background:var(--quotes-accent);color:#fff;font-weight:700;font-size:.875rem;text-decoration:none;box-shadow:0 8px 20px #6d6cf647}.quotes-add:hover{filter:brightness(1.06);color:#fff;text-decoration:none}button.quotes-add{border:0;cursor:pointer;font:inherit}.quotes-loading,.quotes-empty{padding:2rem 1rem;text-align:center;color:var(--quotes-muted)}.quotes-card{background:var(--quotes-card);border:1px solid var(--quotes-line);border-radius:16px;overflow:hidden}.quotes-table-wrap{overflow:visible}.quotes-table{width:100%;border-collapse:collapse}.quotes-table th,.quotes-table td{padding:.95rem 1.05rem;text-align:left;border-bottom:1px solid var(--quotes-line);color:var(--quotes-text);font-size:.9rem}.quotes-table th{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--quotes-muted)}.quotes-table tbody tr:last-child td{border-bottom:0}.quotes-table tbody tr:hover td{background:#121a2b}.quotes-table tbody tr.is-opened td{background:#2563eb2e}.quotes-table tbody tr.is-opened td:first-child{box-shadow:inset 3px 0 #60a5fa}.quotes-table a{color:#93c5fd;font-weight:600;text-decoration:underline;text-underline-offset:2px}.quotes-table a:hover{color:#bfdbfe}.project-back{margin:0 0 .35rem;font-size:.85rem}.project-back a{color:var(--quotes-muted);text-decoration:none}.project-back a:hover{color:#93c5fd}.project-description{max-width:52rem;margin:0 0 1.25rem;color:var(--quotes-muted);line-height:1.5}.project-pipeline{display:flex;flex-wrap:wrap;gap:.5rem 0;margin:0 0 1.5rem;padding:1rem 1.1rem;background:var(--quotes-card);border:1px solid var(--quotes-line);border-radius:14px}.project-pipeline-step{display:flex;align-items:center;gap:.45rem;flex:1 1 auto;min-width:5.5rem;color:var(--quotes-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.project-pipeline-step--active{color:var(--quotes-text)}.project-pipeline-step--current .project-pipeline-dot{background:#22d3ee;box-shadow:0 0 0 3px #22d3ee40}.project-pipeline-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--quotes-line);flex-shrink:0}.project-pipeline-step--active .project-pipeline-dot{background:#64748b}.project-sections{display:grid;gap:1rem}.project-section{padding:1.1rem 1.25rem}.project-section h2{margin:0 0 .35rem;font-size:1.05rem}.project-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.project-section-head h2{margin:0}.project-section-add{font-size:.85rem;font-weight:700;text-decoration:none;border:0;background:transparent;color:var(--primary);cursor:pointer;padding:0}.project-quote-picker{width:min(100%,32rem)}.project-quote-picker-list{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:18rem;overflow:auto}.project-quote-picker-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--quotes-line);background:transparent;color:#fff;text-align:left;cursor:pointer}.project-quote-picker-item:hover:not(:disabled){border-color:#7c6cff}.project-quote-picker-item:disabled{opacity:.55;cursor:default}.project-quote-picker-title{font-weight:700}.project-quote-picker-meta{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.8rem;color:var(--quotes-muted)}.project-create{margin-bottom:1rem;padding:1.1rem 1.25rem}.project-create h2{margin:0 0 .85rem;font-size:1.05rem}.project-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}@media(max-width:800px){.project-create-grid{grid-template-columns:1fr}}.project-section-hint{margin:0 0 .75rem;font-size:.82rem;color:var(--quotes-muted)}.project-doc-list{list-style:none;margin:0;padding:0}.project-doc-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.65rem 0;border-bottom:1px solid var(--quotes-line)}.project-doc-row:last-child{border-bottom:0}.project-doc-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--quotes-muted)}.project-doc-internal{color:#fbbf24}.project-doc-status{text-transform:capitalize}.project-doc-source{font-style:italic}.project-doc-convert{background:none;border:1px solid currentColor;border-radius:999px;padding:0 .6rem;color:#93c5fd;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.project-doc-convert:disabled{opacity:.6;cursor:default}.quote-lineage{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;padding:.6rem 1rem;margin-bottom:1rem;border-radius:var(--radius);background:#eff6ff;color:#1e3a8a;font-size:.9rem}.quote-lineage a{font-weight:600}.quotes-link{color:#93c5fd;font-weight:600;text-decoration:underline;text-underline-offset:2px}.quotes-sub{font-size:.8rem;color:var(--quotes-muted);margin-top:.15rem}.quotes-col-action{width:48px;text-align:right}.quotes-kebab{position:relative;display:inline-flex;justify-content:flex-end}.quotes-kebab-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer}.quotes-kebab-btn:hover,.quotes-kebab-btn:focus-visible,.quotes-kebab-btn[aria-expanded=true]{background:#94a3b824;color:#e2e8f0}.quotes-kebab-menu{position:absolute;top:36px;right:0;z-index:20;min-width:148px;padding:.3rem;border:1px solid var(--quotes-line);border-radius:10px;background:#101826;box-shadow:0 12px 28px #0006}.quotes-kebab-menu--up{top:auto;bottom:36px}.dash-kebab-open{display:block;width:100%;padding:.5rem .65rem;border-radius:7px;color:#e2e8f0;text-align:left;text-decoration:none}.dash-kebab-open:hover,.dash-kebab-open:focus-visible{background:#94a3b81f}.quotes-kebab-menu button{display:block;width:100%;padding:.5rem .65rem;border:0;border-radius:7px;background:transparent;color:#e2e8f0;text-align:left;cursor:pointer}.quotes-kebab-menu button:hover,.quotes-kebab-menu button:focus-visible{background:#94a3b81f}.quotes-kebab-danger{color:#f87171!important}.quotes-share-card{text-align:center}.quotes-qr-frame{display:inline-flex;margin:.4rem 0 .6rem;padding:10px;border-radius:12px;background:#fff}.quotes-qr-url{word-break:break-all;font-size:.8rem;color:var(--quotes-muted)}.quotes-email-panel{position:relative;isolation:isolate;width:min(100%,1080px);max-height:min(92vh,860px);display:flex;flex-direction:column;border-radius:18px;border:1px solid #243049;background:linear-gradient(168deg,#2a1578,#3b2494 14%,#2d2a8a 32%,#1a2d6e,#0f2348 72%,#0a1628);box-shadow:0 24px 60px #00000080;overflow:hidden}.quotes-email-panel:before,.quotes-email-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.quotes-email-panel:before{background:radial-gradient(ellipse 95% 58% at 50% 12%,rgb(139 92 246 / .42),transparent 58%),radial-gradient(ellipse 55% 38% at 82% 6%,rgb(56 189 248 / .14),transparent 52%),radial-gradient(ellipse 48% 32% at 8% 22%,rgb(99 102 241 / .22),transparent 48%),radial-gradient(ellipse 40% 28% at 65% 38%,rgb(168 85 247 / .12),transparent 50%)}.quotes-email-panel:after{opacity:.9;background:radial-gradient(ellipse 130% 28% at 50% 100%,rgb(147 51 234 / .38),transparent 58%),radial-gradient(ellipse 90% 10% at 50% 100%,rgb(96 165 250 / .28),transparent 72%)}.quotes-email-panel>*{position:relative;z-index:1}.quotes-email-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1.15rem .4rem}.quotes-email-head-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.quotes-email-head h2{margin:0;font-size:1.25rem;color:#fff}.quotes-email-close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;font-size:1.35rem;line-height:1;cursor:pointer}.quotes-email-close:hover{color:#fff;background:#ffffff0f}.quotes-email-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1.05fr);gap:.9rem;min-height:0;flex:1;padding:.35rem 1rem .85rem}.quotes-email-card{display:flex;flex-direction:column;gap:.75rem;min-width:0;min-height:0;padding:.9rem .95rem 1rem;border:1px solid #6d4ad4;border-radius:14px;background:#3b2494;overflow:auto}.quotes-email-card-title{display:flex;align-items:center;gap:.45rem;margin:0;color:#f8fafc;font-size:.95rem;font-weight:700}.quotes-email-card-title svg{color:#93c5fd}.quotes-email-card label,.quotes-email-field{display:flex;flex-direction:column;gap:.3rem;color:#cbd5e1;font-size:.9rem}.quotes-email-label-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;width:100%}.quotes-email-message-label{margin-right:auto}.quotes-email-ai{margin-left:auto;border:0;background:none;padding:0;color:#bfdbfe;font-size:.82rem;font-weight:700;cursor:pointer}.quotes-email-ai:before{content:"✦ "}.quotes-email-ai:hover:not(:disabled){color:#dbeafe}.quotes-email-ai:disabled{opacity:.45;cursor:not-allowed}.quotes-email-ai-actions{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.quotes-email-ai-use{margin-right:.35rem;color:#e2e8f0;font-size:.82rem;font-weight:700}.quotes-email-ai-no,.quotes-email-ai-yes{height:1.7rem;padding:0 .65rem;border:0;border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;line-height:1;cursor:pointer}.quotes-email-ai-no{background:#dc2626}.quotes-email-ai-yes{background:#059669}.quotes-email-ai-no:disabled,.quotes-email-ai-yes:disabled{opacity:.5;cursor:not-allowed}.quotes-email-card input,.quotes-email-card textarea{width:100%;padding:.7rem .8rem;border:1px solid #2a3650;border-radius:10px;background:#070d18;color:#f8fafc;resize:vertical}.quotes-email-card input:-webkit-autofill,.quotes-email-card input:-webkit-autofill:hover,.quotes-email-card input:-webkit-autofill:focus{-webkit-text-fill-color:#f8fafc;caret-color:#f8fafc;box-shadow:0 0 0 1000px #070d18 inset;transition:background-color 9999s ease-out}.quotes-email-card input.is-invalid,.quotes-email-card textarea.is-invalid{border-color:#f87171;outline:2px solid #f87171}.quotes-email-required{color:#fca5a5;font-size:.78rem;font-weight:650}.quotes-email-card textarea{min-height:220px;flex:1}.quotes-email-error{margin:0;color:#fca5a5;font-size:.85rem}.quotes-email-attach{display:flex;flex-direction:column;gap:.55rem}.quotes-email-attach-label{display:inline-flex;align-items:center;gap:.4rem;color:#94a3b8;font-size:.82rem;font-weight:650}.quotes-email-attach-empty{margin:0;color:#64748b;font-size:.82rem}.quotes-email-file{display:flex;align-items:center;gap:.7rem;width:fit-content;max-width:100%;padding:.55rem .65rem;border:1px solid #243049;border-radius:12px;background:#10192c}.quotes-email-file-open{display:flex;align-items:center;gap:.7rem;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.quotes-email-file-open:hover .quotes-email-file-name{text-decoration:underline}.quotes-email-file-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#7f1d1d;color:#fecaca;font-size:.62rem;font-weight:800;flex:none}.quotes-email-file-meta{display:flex;flex-direction:column;min-width:0}.quotes-email-file-name{color:#f8fafc;font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quotes-email-file-size{color:#94a3b8;font-size:.75rem}.quotes-email-file-remove{border:0;background:transparent;color:#94a3b8;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .15rem}.quotes-email-file-remove:hover{color:#f8fafc}.quotes-email-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.quotes-email-devices{display:inline-flex;gap:.35rem;padding:.2rem;border-radius:10px;background:#111a2e}.quotes-email-devices button{border:0;border-radius:8px;background:transparent;color:#94a3b8;font-size:.75rem;font-weight:700;padding:.35rem .6rem;cursor:pointer}.quotes-email-devices button.is-active{background:#5b4cdb;color:#fff}.quotes-email-stage{display:flex;justify-content:center;min-height:0;flex:1 1 auto;padding:.35rem;border-radius:12px;background:#2a1578}.quotes-email-stage.is-mobile .quotes-email-browser{width:min(100%,280px)}.quotes-email-browser{display:flex;flex-direction:column;width:100%;min-height:360px;overflow:auto;border-radius:12px;background:#fff;box-shadow:0 10px 28px #00000047}.quotes-email-browser-bar{display:flex;gap:.35rem;padding:.55rem .75rem;background:#1e293b}.quotes-email-browser-bar span{width:.55rem;height:.55rem;border-radius:50%;background:#fb7185}.quotes-email-browser-bar span:nth-child(2){background:#fbbf24}.quotes-email-browser-bar span:nth-child(3){background:#34d399}.quotes-email-meta{padding:.7rem .9rem;border-bottom:1px solid #e2e8f0;color:#334155;font-size:.82rem;background:#f8fafc}.quotes-email-meta div+div{margin-top:.25rem}.quotes-email-meta span{color:#64748b;margin-right:.35rem}.quotes-email-preview-card{display:flex;flex-direction:column;flex:1;min-height:0}.quotes-email-preview{width:100%;flex:0 0 auto;min-height:320px;border:0;background:#fff}.app-main:has(.quotes-email-panel--page){display:flex;flex-direction:column;overflow:hidden}.quote-entry:has(.quotes-email-panel--page){display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:0;overflow:hidden}.quotes-email-panel.quotes-email-panel--page{flex:1;min-height:0;max-height:none;margin-top:1.25rem;margin-bottom:0;overflow:hidden}.quotes-email-panel.quotes-email-panel--page .quotes-email-head{flex:none;position:sticky;top:0;z-index:6;background:#2a1578;padding-bottom:.75rem}.quotes-email-panel.quotes-email-panel--page .quotes-email-split{flex:1;min-height:0;align-items:stretch;overflow:hidden}.quotes-email-panel.quotes-email-panel--page .quotes-email-card{overflow:hidden}.quotes-email-panel.quotes-email-panel--page .quotes-email-card:not(.quotes-email-preview-card){max-height:none;overflow:auto}.quotes-email-panel.quotes-email-panel--page .quotes-email-card textarea{flex:none}.quotes-email-panel.quotes-email-panel--page .quotes-email-preview-card{position:static;align-self:stretch;max-height:none;min-height:0;overflow:hidden}.quotes-email-panel.quotes-email-panel--page .quotes-email-foot{flex:none}.quotes-email-panel.quotes-email-panel--page .quotes-email-browser{min-height:0;height:100%;max-height:calc(100dvh - var(--app-main-top, 3.5rem) - 13rem)}.quotes-email-panel.quotes-email-panel--page .quotes-email-preview{height:auto;min-height:320px}.quotes-email-foot{display:flex;justify-content:flex-end;gap:.6rem;padding:0 1rem 1rem}.quotes-email-foot .quotes-confirm-cancel{border-radius:10px;border-color:#334155;background:#1e293b;padding:.65rem 1rem}.quotes-email-send{padding:.65rem 1.15rem;border:0;border-radius:10px;background:#16a34a;color:#fff;font-weight:700;cursor:pointer}.quotes-email-send:hover:not(:disabled){background:#15803d}.quotes-email-send:disabled{background:#334155;opacity:.7;cursor:default}.quotes-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:1rem;background:#020617ad}.quotes-confirm-card{width:min(100%,26rem);padding:1.25rem 1.3rem 1.15rem;border-radius:16px;border:1px solid var(--quotes-line);background:#101826;box-shadow:0 20px 50px #00000073}.quotes-confirm-card h2{margin:0;font-size:1.15rem;color:#fff}.quotes-confirm-card p{margin:.55rem 0 0;color:var(--quotes-muted);line-height:1.45}.quotes-confirm-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.15rem}.quotes-confirm-cancel,.quotes-confirm-delete{padding:.5rem .9rem;border-radius:999px;font-weight:700;font-size:.8125rem;cursor:pointer}.quotes-confirm-cancel{border:1px solid var(--quotes-line);background:transparent;color:#e2e8f0}.quotes-confirm-delete{border:0;background:#dc2626;color:#fff}.quotes-confirm-cancel:disabled,.quotes-confirm-delete:disabled{opacity:.55;cursor:default}.sidebar{position:sticky;top:0;z-index:20;width:232px;height:100%;max-height:100vh;max-height:100dvh;min-height:0;background:linear-gradient(180deg,#2a1578,#3b2494 18%,#2d2a8a 48%,#1a1b4a);color:#f8fafc;padding:0;flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;transition:width .2s ease}.sidebar--collapsed{width:76px}.sidebar-sticky{position:relative;z-index:8;flex-shrink:0;min-height:56px;padding:.55rem .85rem .5rem;border-bottom:1px solid rgb(255 255 255 / .12);background:transparent}.sidebar-desktop-brand{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.sidebar-toggle{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgb(255 255 255 / .28);border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer;box-shadow:0 1px 6px #0f172a2e}.sidebar-toggle:hover{background:#ffffff38;border-color:#fff6;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:.65rem;color:#e2e8f0b8;margin-top:2px}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:.7rem .65rem}.sidebar-link{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;color:#ffffffe6;background:transparent;border-radius:10px;text-decoration:none;font-weight:500;font-size:.875rem}.sidebar-link:hover{color:#fff;text-decoration:none;background:#ffffff1a}.sidebar-link.active{color:#1e3a8a;font-weight:600;background:#e8eeff;box-shadow:0 1px 2px #0f172a14}.sidebar-icon{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:inherit}.sidebar-icon svg{display:block}.sidebar-footer{flex-shrink:0;padding:.75rem .65rem .9rem;border-top:1px solid rgb(255 255 255 / .1)}.sidebar-user-chip{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.4rem .55rem .4rem .4rem;border-radius:999px;background:#ffffff1f;border:1px solid rgb(255 255 255 / .08)}.sidebar-user-avatar{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:linear-gradient(90deg,#378add,#4f7cf0 42%,#6366f1);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.02em;object-fit:cover}.sidebar-user-meta{min-width:0;display:flex;flex-direction:column}.sidebar-user{font-size:.8rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-role{display:block;font-size:.6875rem;color:#e2e8f0b3;margin-top:.05rem}.sidebar-org{display:block;margin-bottom:.75rem}.sidebar-org-label{display:block;font-size:.6875rem;font-weight:600;color:#94a3b8;margin-bottom:.3rem}.sidebar-org-select{width:100%;padding:.4rem .5rem;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0}.org-checkboxes{display:flex;flex-direction:column;gap:.45rem}.org-check{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.field-hint{margin:.4rem 0 0;font-size:.75rem;color:var(--text-muted)}.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-meta,.sidebar--collapsed .sidebar-org-label{display:none}.sidebar--collapsed .sidebar-link{justify-content:center;padding:.6rem .4rem;gap:0}.sidebar--collapsed .sidebar-footer{padding:.65rem .5rem}.sidebar--collapsed .sidebar-user-chip{justify-content:center;padding:.3rem}.mobile-topbar,.sidebar-backdrop{display:none}.app-header.mobile-topbar,.app-header.app-topbar{display:flex}@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:.55rem;position:sticky;top:0;z-index:50;flex-shrink:0;min-height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) .65rem 0 .5rem}.mobile-topbar .app-header-org{flex:1 1 auto;min-width:0;max-width:52%}.mobile-topbar .org-avatar--header{width:28px;height:28px}.mobile-topbar .org-switcher-select,.mobile-topbar .org-switcher-name{max-width:100%;min-width:0}.mobile-topbar .org-switcher-select{min-width:0}.app-header--search .app-header-search{flex:0 0 min(70%,18rem);width:min(70%,18rem);max-width:70%}.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-mode-sticky{margin-left:-1rem;margin-right:-1rem}.quote-mode-bar{margin-left:1rem;margin-right:1rem}.quote-info-panel.is-compact{margin-left:0;margin-right:0}.quote-compact-bar{grid-template-columns:minmax(0,1fr) auto}.quote-compact-cell:nth-child(2){display:none}.quote-mode-btn{font-size:.88rem;padding:.55rem .75rem;min-height:0}.quotes-email-split{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(160px,.85fr)}.quotes-email-panel.quotes-email-panel--page .quotes-email-card:not(.quotes-email-preview-card){overflow:auto}.quotes-email-panel.quotes-email-panel--page .quotes-email-preview-card,.quotes-email-panel.quotes-email-panel--page .quotes-email-browser{position:static;max-height:none;height:100%;overflow:hidden}.quotes-email-panel.quotes-email-panel--page .quotes-email-preview{height:auto;min-height:240px}.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}.company-detail-back{margin:0 0 .35rem;font-size:.8rem}.company-detail-layout.is-open .composer-form-panel{flex:1 1 100%;width:100%;max-width:42rem}.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-chrome-end{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.composer-chrome-confirm{display:inline-flex;align-items:center;gap:.15rem}.quote-builder-head{padding:.7rem 1rem;border-bottom:1px solid #e8edf5;color:var(--text);background:#f4f7fb}.quote-builder-head h2{display:flex;align-items:center;gap:.55rem;color:var(--text)}.quote-builder-head h2 svg{color:#334155}.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}.quote-line-views{display:inline-flex;margin-left:auto;border:1px solid var(--border);border-radius:999px;overflow:hidden}.quote-line-views button{border:0;background:#fff;color:#334155;font-size:.78rem;font-weight:700;padding:.35rem .7rem;cursor:pointer}.quote-line-views button.is-active{background:#312e81;color:#fff}.quote-line-composer.is-view-2 .quote-line-fields td{padding-top:.55rem;padding-bottom:.55rem;background:transparent;box-shadow:none}.quote-line-composer.is-view-2 .quote-lines tbody[data-line-uid] .quote-line-fields td{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.quote-line-composer.is-view-2 .quote-lines tbody.is-active .quote-line-fields td{background:#e8f1fc;padding-top:.65rem;padding-bottom:.65rem}@media(min-width:961px){.quote-entry:has(.quote-line-composer.is-view-2){--line-detail-w: min(30rem, calc(100vw - 2.5rem) )}.quote-entry:has(.quote-line-composer.is-view-2) .quote-mode-bar{margin-right:0}.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel,.quote-entry:has(.quote-line-composer.is-view-2) .quote-tabs-row,.quote-entry:has(.quote-line-composer.is-view-2) .quote-body-layout,.quote-entry:has(.quote-line-composer.is-view-2) .quote-lineage{margin-right:0}.quote-line-composer.is-view-2.is-open{display:block}.quote-line-composer.is-view-2.is-open .composer-list-panel{flex:none;width:100%;max-width:100%}}.composer-form-panel.is-line-detail .composer-panel-chrome h2{display:flex;align-items:center;gap:.75rem;flex:1 1 auto;min-width:0}.lid-pager{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;color:#64748b;font-size:.82rem;font-weight:700}.lid-pager button{width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:1.05rem;line-height:1;cursor:pointer}.lid-pager button:disabled{color:#94a3b8;cursor:default}.composer-form-panel.is-line-detail .composer-close{width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;font-size:1.15rem;line-height:1}.lid-identity{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.lid-photo-wrap{position:relative;flex:0 0 auto}.lid-photo-drop{position:relative;width:4.5rem;height:4.5rem;border-radius:12px;cursor:pointer;outline:none}.lid-photo-drop:focus-visible,.lid-photo-drop.is-dragover{box-shadow:0 0 0 3px #2563eb59}.lid-photo{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;display:block}.lid-photo-hint{position:absolute;inset:auto 0 0;padding:.15rem .2rem .25rem;border-radius:0 0 12px 12px;background:#0f172ab8;color:#fff;font-size:.58rem;line-height:1.15;text-align:center;pointer-events:none}.lid-photo-empty{background:linear-gradient(#e2e8f0,#e2e8f0) center / 70% 1px no-repeat,linear-gradient(#e2e8f0,#e2e8f0) center / 1px 70% no-repeat,#f8fafc}.lid-identity-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.lid-identity-copy strong{font-size:1.05rem}.lid-status{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.75rem;font-weight:700}.lid-status.is-optional{background:#fef3c7;color:#92400e}.lid-req{color:#dc2626}.lid-checks{display:flex;gap:1.25rem;margin-top:.35rem}.lid-fold{margin-top:.75rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.lid-fold-head{width:100%;display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem;border:0;background:transparent;color:#1e1b4b;font-weight:700;cursor:pointer;text-align:left}.lid-fold-head svg{color:#4f46e5;flex:0 0 auto}.lid-chevron{margin-left:auto;color:#64748b}.lid-count{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:.72rem;line-height:1.25rem;text-align:center}.lid-fold-body{padding:0 .85rem .85rem}.quote-info-tabs{display:none}.quote-entry.is-line-view-2 .quote-info-tabs,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-tabs{display:flex;gap:.25rem;border-bottom:2px solid #94a3b8;margin:0 1rem;background:#fff}.quote-info-tab{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:-1px;padding:.7rem 1.1rem;border:0;border-bottom:2px solid transparent;background:transparent;color:#64748b;font-weight:700;cursor:pointer}.quote-info-tab.is-active{color:#4f46e5;border-bottom-color:#4f46e5}.quote-entry.is-line-view-2 .quote-top-grid,.quote-entry:has(.quote-line-composer.is-view-2) .quote-top-grid{grid-template-columns:minmax(0,1fr);transition:grid-template-columns 1.05s cubic-bezier(.22,1,.36,1)}.quote-entry.is-line-view-2.is-line-detail-open .quote-top-grid,.quote-entry.is-line-detail-open:has(.quote-line-composer.is-view-2) .quote-top-grid{grid-template-columns:minmax(0,42rem)}.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-card>h3{display:none}.quote-entry.is-line-view-2 .quote-info-panel,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel{min-width:0;background:#fff;border:none;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel-head,.quote-entry.is-line-view-2 .quote-info-panel-head{background:linear-gradient(180deg,#2a1578,#3b2494 18%,#2d2a8a 48%,#1a1b4a);color:#fff;padding:.8rem 1rem;border-radius:11px 11px 0 0}.quote-entry.is-line-view-2{border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.quote-entry.is-line-view-2>.quote-page-header{position:sticky;top:0;border:0;border-radius:11px 11px 0 0;box-shadow:none}.quote-entry.is-line-view-2>.quote-workspace,.quote-entry:has(.quote-line-composer.is-view-2)>.quote-workspace{position:relative;z-index:1;min-width:0;overflow-x:clip;border:none;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.quote-entry.is-line-view-2>.quote-workspace:after,.quote-entry:has(.quote-line-composer.is-view-2)>.quote-workspace:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;border:none;border-radius:12px;pointer-events:none}.quote-entry.is-line-view-2>.quote-page-header{margin-right:0;border-radius:11px 11px 0 0}.quote-entry.is-line-view-2>.quote-page-header:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:.85rem;background:var(--bg, #f4f7fb);pointer-events:none}.quote-entry.is-line-view-2>.quote-info-panel,.quote-entry:has(.quote-line-composer.is-view-2)>.quote-info-panel{position:static;z-index:37;margin-top:.85rem;margin-bottom:0}.quote-entry.is-line-view-2>.quote-info-panel:before,.quote-entry:has(.quote-line-composer.is-view-2)>.quote-info-panel:before{content:"";position:absolute;z-index:-1;top:calc(-.85rem - 1px);bottom:-.85rem;left:0;width:100%;max-width:100%;background:var(--bg, #f4f7fb);pointer-events:none}.quote-entry.is-line-view-2>.quote-info-panel:after,.quote-entry:has(.quote-line-composer.is-view-2)>.quote-info-panel:after{content:"";position:absolute;z-index:-1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#fff;border:none;border-radius:12px;pointer-events:none}.quote-entry.is-line-view-2 .quote-builder-bar,.quote-entry:has(.quote-line-composer.is-view-2) .quote-builder-bar{position:static;z-index:36;box-sizing:border-box;max-width:100%;box-shadow:0 -.85rem 0 var(--bg, #f4f7fb)}.quote-entry.is-line-view-2 .quote-info-panel-head,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel-head{min-width:0;max-width:100%;box-sizing:border-box}.quote-entry.is-line-view-2 .quote-info-panel-head h2,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel-head h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-layout.quote-line-composer.is-view-2{overflow:visible}.quote-entry.is-line-view-2 .quote-line-composer .composer-list-panel>.composer-panel-chrome,.quote-entry:has(.quote-line-composer.is-view-2) .quote-line-composer .composer-list-panel>.composer-panel-chrome{position:static;z-index:34;background:#f4f7fb;color:var(--text);border-radius:11px 11px 0 0}.quote-entry.is-line-view-2 .quote-info-panel.is-compact .quote-info-panel-head,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel.is-compact .quote-info-panel-head{border-radius:11px}.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel-head h2,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-panel-head h2 svg,.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-toggle,.quote-entry.is-line-view-2 .quote-info-panel-head h2,.quote-entry.is-line-view-2 .quote-info-panel-head h2 svg,.quote-entry.is-line-view-2 .quote-info-toggle{color:#fff}.quote-entry:has(.quote-line-composer.is-view-2) .quote-info-toggle,.quote-entry.is-line-view-2 .quote-info-toggle{color:#fff;font-weight:600}.quote-entry.is-line-view-2 .quote-top-grid,.quote-entry:has(.quote-line-composer.is-view-2) .quote-top-grid{padding:1rem}.quote-entry:has(.quote-line-composer.is-view-2) .quote-customer-fields,.quote-entry:has(.quote-line-composer.is-view-2) .quote-summary-mark,.quote-entry:has(.quote-line-composer.is-view-2) .quote-summary-rates{display:none}.quote-entry:has(.quote-line-composer.is-view-2) .quote-summary-card.is-editing .quote-summary-rates{display:grid}.quote-entry:has(.quote-line-composer.is-view-2) .quote-company-add{display:flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;padding:.55rem .75rem;border:1px dashed #cbd5e1;border-radius:10px;background:#fff}.quote-edit-totals{display:none}.quote-entry:has(.quote-line-composer.is-view-2) .quote-edit-totals{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-end;margin-top:auto;padding:.4rem .75rem;border:1px solid #a7f3d0;border-radius:999px;background:#fff;color:#047857;font-weight:700;cursor:pointer}.quote-entry:has(.quote-line-composer.is-view-2) .quote-summary-card{display:flex;flex-direction:column}.quote-line-composer.is-view-2 .quote-line-fields{cursor:pointer}.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:calc(var(--quote-head-h, 4.75rem) + .75rem);align-self:flex-start;max-height:calc(100dvh - var(--quote-head-h, 4.75rem) - 1.5rem);overflow:hidden;z-index:32}.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}.quote-entry .composer-layout.quote-line-composer.is-open .composer-form-panel.is-line-detail{position:fixed;background:#fff;top:var(--quote-panel-top, calc(var(--app-main-top, 3.5rem) + var(--quote-head-h, 4.75rem)));right:calc(var(--quote-entry-right, 0px) + .75rem);bottom:auto;left:var(--line-detail-left, calc(100vw - .75rem) );width:auto;max-width:none;height:auto;max-height:calc(100dvh - var(--quote-panel-top, 10.5rem) - .75rem);margin:0;border-radius:12px;border-top:1px solid var(--border);transform:none;z-index:35;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .75s ease,left 1.05s cubic-bezier(.22,1,.36,1)}.quote-entry .composer-layout.quote-line-composer.is-open .composer-form-panel.is-line-detail.is-detail-open{left:var(--line-detail-left, calc(100vw - 30.75rem) );opacity:1;pointer-events:auto}.quote-entry .composer-form-panel.is-line-detail .composer-form-inner,.quote-entry .composer-form-panel.is-line-detail .composer-form{min-width:0;min-height:0;max-width:100%;max-height:100%;overflow:hidden}.quote-line-composer .composer-form-panel .composer-panel-chrome,.composer-form-panel.is-line-detail .composer-panel-chrome{position:sticky;top:0;z-index:4;flex:0 0 auto;flex-wrap:nowrap;padding:.8rem 1rem;border-bottom:0;color:#fff;background:linear-gradient(168deg,#2a1578,#3b2494 14%,#2d2a8a 32%,#1a2d6e,#0f2348 72%,#0a1628);border-radius:11px 11px 0 0}.quote-line-composer .composer-form-panel .composer-panel-chrome h2,.composer-form-panel.is-line-detail .composer-panel-chrome h2,.quote-line-composer .composer-form-panel .lid-pager,.composer-form-panel.is-line-detail .lid-pager,.quote-line-composer .composer-form-panel .composer-close,.composer-form-panel.is-line-detail .composer-close{color:#fff}.composer-form-panel.is-line-detail .lid-pager button,.quote-line-composer .composer-form-panel .lid-pager button{border-color:#ffffff59;background:transparent;color:#fff}.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-sticky-footer .btn{touch-action:manipulation}.composer-footer-end{display:flex;gap:.5rem;margin-left:auto;justify-content:flex-end}.companies-table-wrap,.products-table-wrap{overflow:auto;margin:-1rem -1.1rem;padding:0}.companies-file-table tbody tr{cursor:pointer}.companies-file-table tbody tr.is-active td,.users-page tbody tr.is-active td{background:#eff6ff}.users-page tbody tr{cursor:pointer}.users-page .user-companies{max-width:220px;width:220px}.users-page .user-company-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.users-page .user-company-list{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none}.users-page .user-company-empty{color:var(--text-muted)}.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-thumb--empty{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;background:#f1f5f9;color:#94a3b8}.products-file-table .products-col-image{width:44px;padding-left:.55rem;padding-right:.35rem}.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-page .composer-page-header{align-items:stretch}.composer-page .composer-page-header>.btn{align-self:flex-start}.composer-form-inner,.composer-form{min-width:0}.composer-layout{flex-direction:column;flex:1 1 auto;min-height:0}.composer-layout:not(.is-open) .composer-form-panel{display:none}.composer-layout.is-open .composer-list-panel{display:none}.quote-line-composer.composer-layout.is-open .composer-list-panel{display:flex;max-width:none}.quote-line-composer.composer-layout.is-open .composer-form-panel{flex:1 1 auto;width:100%;max-width:none}.composer-layout.is-open .composer-form-panel{flex:1 1 auto;width:100%;max-width:100%;min-width:0;opacity:1;pointer-events:auto;border-width:1px;transform:none}.composer-page--form-open .composer-page-header{margin-bottom:.35rem;padding-bottom:.15rem}.composer-layout.is-open .composer-form{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.composer-layout.is-open .composer-panel-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:1.25rem}.composer-layout.is-open .composer-sticky-footer{position:fixed;left:0;right:0;bottom:0;z-index:48;flex-wrap:nowrap;gap:.65rem;margin:0;border-top:1px solid var(--border);box-shadow:0 -10px 36px #0f172a24;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.composer-sticky-footer>div:first-child .btn{min-height:48px;min-width:5.5rem}.composer-footer-end{flex:1 1 auto;justify-content:flex-end;min-width:0}.composer-footer-end .btn-primary,.composer-footer-end .composer-submit-btn{flex:1 1 auto;justify-content:center;min-width:0;min-height:48px;font-size:1rem}.orgs-page--panel-open .orgs-grid>.orgs-card:not(.orgs-editor){display:none}.orgs-page--panel-open .orgs-editor .orgs-form{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.orgs-page--panel-open .orgs-editor .orgs-form-foot{position:fixed;left:0;right:0;bottom:0;z-index:48;justify-content:stretch;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--orgs-line);background:color-mix(in srgb,var(--orgs-card) 96%,transparent);box-shadow:0 -10px 36px #00000059}.orgs-page--panel-open .orgs-editor .orgs-save{width:100%;min-height:48px;font-size:1rem;touch-action:manipulation}}@media(max-width:768px){.app-main:has(.composer-page){padding-left:1rem;padding-right:1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.composer-page .composer-page-header{flex-direction:column;gap:.75rem;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.composer-page .composer-page-header>.btn{align-self:stretch;width:100%;justify-content:center}.composer-page .composer-page-header p{font-size:.875rem;line-height:1.45}.composer-panel-chrome h2{font-size:.9375rem;line-height:1.3;padding-right:.35rem}.composer-panel-scroll{padding:.85rem .9rem}.composer-form .input,.composer-form .textarea{font-size:1rem}.companies-table-wrap,.products-table-wrap{margin-left:-.9rem;margin-right:-.9rem}.btn,.btn-primary,.btn-secondary,.btn-ghost{touch-action:manipulation}.page-header:not(.quote-page-header){flex-direction:column;align-items:stretch;top:0;z-index:24}.page-header:not(.quote-page-header) .btn,.page-header:not(.quote-page-header) .btn-primary{min-height:48px;width:100%;justify-content:center}.quote-entry>.quote-page-header{position:sticky;top:0;z-index:30;margin-left:-1rem;margin-right:-1rem;padding:.6rem 1rem;background:var(--bg);box-shadow:0 1px 0 var(--border)}.quote-header-save{min-height:44px;padding:.5rem .35rem;touch-action:manipulation}.import-page .import-actions{position:sticky;bottom:0;z-index:20;display:flex;flex-direction:column;gap:.65rem;margin:1rem -.25rem 0;padding:.85rem 0;padding-bottom:calc(.85rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,transparent 0%,var(--bg) 28%)}.import-page .import-actions .btn{width:100%;justify-content:center;min-height:48px}.quotes-hero,.orgs-hero{flex-wrap:wrap;align-items:stretch}.quotes-add,.orgs-add{width:100%;min-height:48px;touch-action:manipulation}.modal-overlay{align-items:flex-end;padding:0}.modal{max-height:min(92dvh,100%);border-radius:16px 16px 0 0;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}.login-page .login-submit{min-height:48px;font-size:1rem}}.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-notes-bubble,body.quote-pdf-capture .est-company-card,body.quote-pdf-capture .est-company-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:#fff;color:#12304f;overflow:hidden;border:none;border-radius:0;border-bottom:1px solid #dbe3ee}.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:#12304f;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{display:none}.est-intro{display:grid;grid-template-columns:1fr 236px;gap:16px;align-items:stretch;padding:18px 22px 0}.est-intro-main{display:flex;flex-direction:column;min-height:100%;min-width:0}.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-notes-bubble{box-sizing:border-box;margin-top:10px;width:100%;flex:1 1 auto;background:#eef2f6;border-radius:14px;padding:12px 14px;color:#12304f;font-size:.78rem;line-height:1.4;-webkit-print-color-adjust:exact;print-color-adjust:exact}.est-notes-bubble p{margin:4px 0 0;white-space:pre-wrap}.est-quote-notes{grid-column:1 / -1;width:100%;display:grid;gap:10px;color:#12304f;font-size:.82rem;line-height:1.45}.est-quote-notes p{margin:4px 0 0;white-space:pre-wrap}.est-notes-label{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7c90}.quote-import-notes{margin:.35rem 0 0;white-space:pre-wrap;font-family:inherit;font-size:.95rem;line-height:1.5}.est-company-card{box-sizing:border-box;background:#eef2f6;border-radius:14px;padding:16px;min-width:0;height:100%;overflow:hidden}.est-company-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-company-name{font-weight:800;font-size:.86rem}.est-company-sub{font-size:.75rem;color:#5a6b7d}.est-company-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:16px 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:#fff;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:#fff;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) 48px 52px 88px 96px;gap:8px;align-items:start;padding:8px 12px;break-inside:avoid;page-break-inside:avoid}.est-lines-head{background:#eef2f6;color:#475569;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:#12304f;padding-bottom:12px}.est-item-row:last-child{padding-bottom:12px;border-bottom:none;box-shadow:none}.est-item-name{font-weight:700;color:#12304f}.est-item-desc{color:#64748b;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:#fff;color:#12304f;border-top:2px solid #12304f;font-weight:800;font-size:.95rem}.est-tot-brands{display:flex;align-items:center;gap:8px;padding:6px 10px 8px;background:#fff}.est-tot-brands img{display:block;width:auto}.est-tot-brands img:first-child{height:16px}.est-tot-brands img:last-child{height:15px}.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}.dash{--dash-bg: #070b14;--dash-card: #101826;--dash-line: #1e293b;--dash-text: #f8fafc;--dash-muted: #94a3b8;min-height:100%;padding:0 1.5rem 1.25rem;color:var(--dash-text);background:var(--dash-bg)}.dash-loading{padding:4rem 1rem;text-align:center;color:var(--dash-muted)}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:1rem 1.25rem;align-items:center;padding:1.1rem 0 .85rem;border-bottom:1px solid var(--dash-line)}.dash-kpi{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.dash-kpi-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#162033;flex-shrink:0}.dash-kpi-icon--green{color:#4ade80}.dash-kpi-icon--blue{color:#60a5fa}.dash-kpi-icon--pink{color:#f472b6}.dash-kpi-icon--amber{color:#fbbf24}.dash-kpi-label{font-size:.72rem;color:var(--dash-muted);font-weight:600}.dash-kpi-value{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-top:.1rem}.dash-kpi-delta{margin-top:.15rem;font-size:.7rem;font-weight:600;color:#4ade80}.dash-kpi-delta.is-down{color:#f87171}.dash-kpi-delta span{font-weight:500;color:var(--dash-muted)}.dash-kpi-actions{display:flex;gap:.5rem;justify-content:flex-end}.dash-new{position:relative}.dash-new-btn{gap:.45rem;min-width:6.4rem;padding:.62rem .95rem;border-radius:12px;box-shadow:0 8px 18px #2563eb59}.dash-new-plus{width:1.15rem;height:1.15rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#ffffff2e;font-size:.95rem;line-height:1}.dash-new-caret{margin-left:.1rem;opacity:.85;transition:transform .15s ease}.dash-new-btn.is-open .dash-new-caret{transform:rotate(180deg)}.dash-new-menu{position:absolute;top:calc(100% + .45rem);right:0;z-index:20;min-width:15.5rem;padding:.4rem;background:#0f1726;border:1px solid #243044;border-radius:14px;box-shadow:0 16px 40px #00000073}.dash-new-menu a{display:flex;align-items:center;gap:.7rem;padding:.55rem;border-radius:10px;color:#e2e8f0;text-decoration:none}.dash-new-menu a strong{display:block;font-size:.84rem;font-weight:700;color:#f8fafc}.dash-new-menu a small{display:block;margin-top:.08rem;font-size:.7rem;color:#94a3b8}.dash-new-menu a:hover{background:#182338;text-decoration:none}.dash-new-ico{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.dash-new-ico--blue{background:#2563eb38;color:#60a5fa}.dash-new-ico--purple{background:#9333ea38;color:#d8b4fe}.dash-new-ico--amber{background:#f59e0b2e;color:#fbbf24}.dash-new-ico--green{background:#22c55e2e;color:#4ade80}.dash-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:10px;font-weight:700;font-size:.8125rem;text-decoration:none;white-space:nowrap}.dash-btn:hover{text-decoration:none}.dash-btn-primary{background:#2563eb;color:#fff}.dash-btn-primary:hover{background:#1d4ed8;color:#fff}.dash-btn-ghost{background:#1e3a8a;color:#dbeafe}.dash-btn-ghost:hover{background:#1d4ed8;color:#fff}.dash-title{padding:1.35rem 0 1rem}.dash-title h1{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:400;color:#fff}.dash-title p{margin:.3rem 0 0;color:var(--dash-muted)}.dash-metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.55fr;gap:.85rem;margin-bottom:1rem}.dash-metrics--quotes{grid-template-columns:1fr 1fr 1.55fr}a.dash-metric{display:block;color:inherit;text-decoration:none}a.dash-metric:hover{text-decoration:none;border-color:#334155}.dash-metric{background:var(--dash-card);border:1px solid #1b2536;border-radius:14px;padding:.95rem 1rem .9rem;min-width:0}.dash-metric--blue{box-shadow:inset 0 0 0 1px #3b82f647,0 0 18px #2563eb14}.dash-metric--purple{box-shadow:inset 0 0 0 1px #a855f747,0 0 18px #9333ea14}.dash-metric--green{box-shadow:inset 0 0 0 1px #22c55e38,0 0 18px #22c55e0f}.dash-metric--gold{border-color:#facc158c;box-shadow:0 0 0 1px #facc1533,0 0 24px #eab30814}.dash-metric-top{display:flex;align-items:center;gap:.5rem}.dash-metric-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#182234;color:#93c5fd}.dash-metric--purple .dash-metric-icon{color:#d8b4fe}.dash-metric--green .dash-metric-icon{color:#86efac}.dash-metric--gold .dash-metric-icon{color:#fde68a}.dash-metric-label{flex:1;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dash-muted)}.dash-spark{margin-left:auto}.dash-metric-value{margin-top:.7rem;font-size:1.85rem;font-weight:700;letter-spacing:-.03em;line-height:1}.dash-metric-sub{margin-top:.45rem;font-size:.75rem;color:var(--dash-muted)}.dash-gold-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dash-gold-label{font-size:.72rem;color:var(--dash-muted);font-weight:600}.dash-gold-value{margin-top:.25rem;font-size:1.45rem;font-weight:700;letter-spacing:-.03em}.dash-gold-sub{margin-top:.85rem;font-size:.72rem;color:var(--dash-muted)}.dash-gold-subvalue{margin-top:.2rem;font-size:.95rem;font-weight:700}.dash-gold-accepted{display:flex;align-items:center;gap:.45rem}.dash-gold-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-tables{display:grid;grid-template-columns:1.15fr .85fr;gap:.85rem}.dash-tables--full{grid-template-columns:1fr}.dash-panel{background:var(--dash-card);border:1px solid #1b2536;border-radius:14px;min-width:0;display:flex;flex-direction:column}.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .7rem}.dash-panel-head h2{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1rem;font-weight:700;color:#fff}.dash-panel-head h2 svg{color:#93c5fd}.dash-tables .dash-panel:last-child h2 svg{color:#d8b4fe}.dash-panel-head p{margin:.2rem 0 0;font-size:.75rem;color:var(--dash-muted)}.dash-viewall{flex-shrink:0;font-size:.75rem;font-weight:600;color:#93c5fd}.dash-viewall:hover{color:#bfdbfe}.dash-table-wrap{overflow:visible}.dash-table{width:100%;border-collapse:collapse;font-size:.8125rem}.dash-table th,.dash-table td{padding:.7rem .85rem;border-bottom:1px solid #1b2536;text-align:left;color:#e2e8f0}.dash-table th{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dash-muted);font-weight:700}.dash-table tbody tr:hover td{background:#162033}.dash-table a{color:#e2e8f0;font-weight:600}.dash-table a:hover{color:#93c5fd}.dash-empty{text-align:center;color:var(--dash-muted);padding:1.5rem!important}.dash-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700}.dash-pill--muted{background:#1e293b;color:#cbd5e1}.dash-pill--warn{background:#3f2f12;color:#fbbf24}.dash-pill--ok{background:#123524;color:#4ade80}.dash-pill--bad{background:#3f1d1d;color:#fca5a5}.dash-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ade80}.dash-kebab{display:inline-flex;color:#64748b;padding:.2rem}.dash-kebab:hover{color:#e2e8f0}.dash-panel-foot{padding:.7rem 1rem .85rem;font-size:.75rem;color:var(--dash-muted)}.dash-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem;padding:.4rem 0 .2rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.dash-sync{display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.06em}.dash-sparkle{color:#e2e8f0;font-size:1rem;letter-spacing:0;text-transform:none}@media(max-width:1180px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpi-actions{grid-column:1 / -1;justify-content:flex-start}.dash-metrics,.dash-metrics--quotes{grid-template-columns:1fr 1fr}.dash-metric--gold{grid-column:1 / -1}.dash-tables{grid-template-columns:1fr}}@media(max-width:768px){.dash{padding:0 1rem 1rem}.dash-kpis,.dash-metrics{grid-template-columns:1fr}.dash-metric--gold{grid-column:auto}.dash-gold-grid{grid-template-columns:1fr}.dash-title h1{font-size:1.55rem}}@media print{.mobile-topbar,.app-topbar,.app-header,.sidebar,.sidebar-backdrop,.quote-header-actions,.quote-header-back,.quote-toolbox-drawer,.quote-launcher,.quote-tabs-row,.quote-tabs,.quote-top-grid,.quote-info-panel,.quote-workspace,.quote-page-header,.quote-preview-toolbar,.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;border:0}.quote-entry{padding:0}.quote-main{border:0;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-company-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}
