:root{--color-navy-950:#060d1a;--color-navy-900:#0b1426;--color-navy-800:#122042;--color-navy-700:#1a2d5a;--color-navy-600:#243b72;--color-navy-500:#2e4a8a;--color-navy-400:#4a6aaf;--color-navy-300:#7a94c8;--color-navy-200:#a8bbd9;--color-navy-100:#d4ddec;--color-navy-50:#edf1f7;--color-navy-25:#f6f8fb;--color-teal-700:#0f766e;--color-teal-600:#0d9488;--color-teal-500:#14b8a6;--color-teal-400:#2dd4bf;--color-teal-300:#5eead4;--color-teal-200:#99f6e4;--color-teal-100:#ccfbf1;--color-teal-50:#f0fdfa;--color-danger-600:#dc2626;--color-danger-500:#ef4444;--color-danger-100:#fee2e2;--color-danger-50:#fef2f2;--color-warning-600:#d97706;--color-warning-500:#f59e0b;--color-warning-100:#fef3c7;--color-warning-50:#fffbeb;--color-success-600:#059669;--color-success-500:#10b981;--color-success-100:#d1fae5;--color-success-50:#ecfdf5;--color-gray-900:#111827;--color-gray-800:#1f2937;--color-gray-700:#374151;--color-gray-600:#4b5563;--color-gray-500:#6b7280;--color-gray-400:#9ca3af;--color-gray-300:#d1d5db;--color-gray-200:#e5e7eb;--color-gray-100:#f3f4f6;--color-gray-50:#f9fafb;--color-white:#fff;--color-on-dark:#fff;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-heading:"DM Serif Display", Georgia, serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--border-color:var(--color-gray-200);--border-color-hover:var(--color-gray-300);--shadow-xs:0 1px 2px #0b14260a;--shadow-sm:0 1px 3px #0b14260f, 0 1px 2px #0b14260a;--shadow-md:0 4px 6px -1px #0b142612, 0 2px 4px -2px #0b14260d;--shadow-lg:0 10px 15px -3px #0b142614, 0 4px 6px -4px #0b14260d;--shadow-xl:0 20px 25px -5px #0b14261a, 0 8px 10px -6px #0b14260f;--shadow-glow:0 0 20px #14b8a626;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--sidebar-width:260px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-white:#121826;--color-gray-50:#161d2d;--color-gray-100:#1c2434;--color-gray-200:#2a3446;--color-gray-300:#3a465c;--color-gray-400:#7d8aa0;--color-gray-500:#94a1b8;--color-gray-600:#aebacd;--color-gray-700:#c7d1e0;--color-gray-800:#dee5ef;--color-gray-900:#f2f6fb;--color-navy-25:#0c1220;--color-navy-50:#151e33;--color-navy-100:#23304f;--color-teal-600:#14b8a6;--color-teal-700:#0d9488;--color-danger-50:#2a1618;--color-danger-100:#3a1d20;--color-warning-50:#2a2114;--color-warning-100:#3a2d18;--color-success-50:#12241e;--color-success-100:#173026;--border-color:#2a3446;--border-color-hover:#3a465c;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000061, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000006b, 0 2px 4px -2px #00000057;--shadow-lg:0 10px 15px -3px #0000007a, 0 4px 6px -4px #0000005c;--shadow-xl:0 20px 25px -5px #0000008c, 0 8px 10px -6px #0006}[data-theme=dark] .sidebar{border-right:1px solid var(--border-color);background:linear-gradient(#141c2e 0%,#0e1522 100%)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] .dialog-title,[data-theme=dark] .card-title,[data-theme=dark] .empty-state-title,[data-theme=dark] .product-line-name{color:var(--color-gray-900)}[data-theme=dark] .quote-preview h1,[data-theme=dark] .quote-preview h2,[data-theme=dark] .quote-preview h3,[data-theme=dark] .quote-preview h4,[data-theme=dark] #quote-preview-content h1,[data-theme=dark] #quote-preview-content h2,[data-theme=dark] #quote-preview-content h3,[data-theme=dark] #quote-preview-content h4{color:#0b1426}[data-theme=dark] .quote-preview,[data-theme=dark] .quote-preview-content,[data-theme=dark] #quote-preview-content{color:#111827;background:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-800);background:var(--color-navy-25);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:var(--leading-tight);color:var(--color-navy-900)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--color-teal-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-teal-500)}img{max-width:100%;display:block}input,select,textarea,button{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.app-shell{min-height:100vh;display:flex}.app-shell-sidebar{width:var(--sidebar-width);z-index:100;flex-shrink:0;position:fixed;top:0;bottom:0;left:0}.app-shell-main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--color-navy-900) 0%, var(--color-navy-950) 100%);height:100vh;padding:var(--space-6) 0;flex-direction:column;display:flex;overflow-y:auto}.sidebar-logo{padding:0 var(--space-6);margin-bottom:var(--space-8);align-items:center;gap:var(--space-3);display:flex}.sidebar-logo-icon{background:linear-gradient(135deg, var(--color-teal-400), var(--color-teal-600));border-radius:var(--radius-md);color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--text-lg);box-shadow:var(--shadow-glow);justify-content:center;align-items:center;display:flex}.sidebar-logo h1{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-on-dark);letter-spacing:-.01em}.sidebar-nav{gap:var(--space-1);padding:0 var(--space-3);flex-direction:column;flex:1;display:flex}.sidebar-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-navy-300);font-size:var(--text-sm);transition:all var(--transition-fast);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-weight:500;text-decoration:none;display:flex}.sidebar-nav-item:hover{color:var(--color-on-dark);background:#ffffff0f}.sidebar-nav-item.active{color:var(--color-on-dark);box-shadow:inset 3px 0 0 var(--color-teal-500);background:#14b8a61f}.sidebar-nav-item svg{flex-shrink:0;width:20px;height:20px}.sidebar-bottom{padding:var(--space-4) var(--space-4);border-top:1px solid #ffffff0f;margin-top:auto}.sidebar-new-quote-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg, var(--color-teal-500), var(--color-teal-600));color:var(--color-on-dark);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md), var(--shadow-glow);border:none;text-decoration:none;display:flex}.sidebar-new-quote-btn:hover{background:linear-gradient(135deg, var(--color-teal-400), var(--color-teal-500));color:var(--color-on-dark);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-1px)}.sidebar-user{padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.sidebar-user-email{font-size:var(--text-xs);color:var(--color-navy-400);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-signout-btn{color:var(--color-navy-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;align-items:center;display:flex}.sidebar-signout-btn:hover{color:var(--color-danger-500)}.page{padding:var(--space-8);flex:1;width:100%;max-width:1400px}.page-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.page-header h1{font-size:var(--text-2xl)}.page-header-actions{gap:var(--space-3);align-items:center;display:flex}.page-filters{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex-shrink:0;width:16px;height:16px}.btn-sm{font-size:var(--text-xs);padding:6px 12px}.btn-md{font-size:var(--text-sm);padding:10px 18px}.btn-lg{font-size:var(--text-base);padding:12px 24px}.btn-primary{background:linear-gradient(135deg, var(--color-navy-800), var(--color-navy-700));color:var(--color-on-dark);border-color:var(--color-navy-600);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-navy-700), var(--color-navy-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--color-white);color:var(--color-gray-700);border-color:var(--color-gray-200);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300);box-shadow:var(--shadow-sm)}.btn-danger{background:var(--color-danger-500);color:var(--color-on-dark);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--color-danger-600);box-shadow:var(--shadow-md)}.btn-ghost{color:var(--color-gray-600);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-800)}.btn-teal{background:linear-gradient(135deg, var(--color-teal-500), var(--color-teal-600));color:var(--color-on-dark);box-shadow:var(--shadow-sm), 0 0 12px #14b8a633}.btn-teal:hover:not(:disabled){background:linear-gradient(135deg, var(--color-teal-400), var(--color-teal-500));box-shadow:var(--shadow-md), 0 0 20px #14b8a640;transform:translateY(-1px)}.btn-icon{border-radius:var(--radius-md);padding:8px}.btn-icon.btn-sm{padding:4px}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--color-gray-700);font-weight:600}.form-hint{font-size:var(--text-xs);color:var(--color-gray-500)}.input-wrapper{align-items:center;display:flex;position:relative}.input-prefix,.input-suffix{color:var(--color-gray-400);pointer-events:none;align-items:center;display:flex;position:absolute}.input-prefix{left:12px}.input-suffix{right:12px}.input,.select{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--color-gray-800);background:var(--color-white);transition:all var(--transition-fast);outline:none;padding:10px 14px}.input:hover,.select:hover{border-color:var(--border-color-hover)}.input:focus,.select:focus{border-color:var(--color-teal-500);box-shadow:0 0 0 3px #14b8a61a}.input.input-error,.select.input-error{border-color:var(--color-danger-500)}.input.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input:disabled,.select:disabled{background:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed}.input-has-prefix{padding-left:38px}.input-has-suffix{padding-right:38px}textarea.input{resize:vertical;min-height:80px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-error{font-size:var(--text-xs);color:var(--color-danger-500);align-items:center;gap:var(--space-1);display:flex}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);display:flex}.toggle{flex-shrink:0;width:44px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background:var(--color-gray-300);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast);position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--color-white);width:20px;height:20px;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--color-teal-500)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.checkbox-group{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.checkbox-group input[type=checkbox]{border-radius:var(--radius-sm);border:2px solid var(--color-gray-300);width:18px;height:18px;accent-color:var(--color-teal-500);cursor:pointer}.radio-group{gap:var(--space-4);display:flex}.radio-option{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--color-gray-700);display:flex}.radio-option input[type=radio]{accent-color:var(--color-teal-500);cursor:pointer}.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4);animation:fadeIn var(--transition-fast) ease-out;background:#0b142680;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-height:calc(100vh - 2rem);animation:slideUp var(--transition-normal) ease-out;flex-direction:column;display:flex}.dialog-sm{max-width:400px}.dialog-md{max-width:560px}.dialog-lg{max-width:720px}.dialog-xl{max-width:960px}.dialog-full{max-width:1200px}.dialog-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.dialog-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-navy-900)}.dialog-close{color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;display:flex}.dialog-close:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.dialog-body{padding:var(--space-6);flex:1;overflow-y:auto}.dialog-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color);justify-content:flex-end;gap:var(--space-3);display:flex}.card{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.card-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-navy-900)}.card-header-action{gap:var(--space-2);display:flex}.card-body{padding:var(--space-5) var(--space-6)}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;align-items:center;padding:3px 10px;font-weight:600;display:inline-flex}.badge-default{background:var(--color-gray-100);color:var(--color-gray-600)}.badge-success{background:var(--color-success-100);color:var(--color-success-600)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-600)}.badge-danger{background:var(--color-danger-100);color:var(--color-danger-600)}.badge-info{background:var(--color-teal-100);color:var(--color-teal-700)}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table thead{z-index:1;position:sticky;top:0}.data-table th{background:var(--color-navy-50);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-navy-600);text-align:left;border-bottom:2px solid var(--color-navy-100);white-space:nowrap;font-weight:700}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-100);font-size:var(--text-sm);color:var(--color-gray-700);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-teal-50)}.data-table tbody tr:last-child td{border-bottom:none}.table-actions{gap:var(--space-1);align-items:center;display:flex}.table-cell-muted{color:var(--color-gray-500);font-size:var(--text-xs)}.table-cell-mono{font-family:SF Mono,Fira Code,monospace;font-size:var(--text-xs)}.active-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.active-dot-green{background:var(--color-success-500)}.active-dot-red{background:var(--color-danger-500)}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-3);z-index:2000;flex-direction:column;max-width:380px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideInRight var(--transition-normal) ease-out;background:var(--color-white);border-left:4px solid;display:flex}.toast-success{border-left-color:var(--color-success-500)}.toast-error{border-left-color:var(--color-danger-500)}.toast-info{border-left-color:var(--color-teal-500)}.toast-message{font-size:var(--text-sm);color:var(--color-gray-700);flex:1}.toast-close{color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:2px;display:flex}.toast-close:hover{color:var(--color-gray-600)}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--color-gray-400);pointer-events:none;display:flex;position:absolute;left:12px}.search-icon svg{width:16px;height:16px}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--color-gray-800);background:var(--color-white);transition:all var(--transition-fast);outline:none;padding:10px 14px 10px 38px}.search-input:focus{border-color:var(--color-teal-500);box-shadow:0 0 0 3px #14b8a61a}.spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-teal-500);border-radius:50%;animation:.7s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-md{border-width:3px;width:24px;height:24px}.spinner-lg{border-width:4px;width:40px;height:40px}.btn .spinner{border-width:2px;width:14px;height:14px}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-lg);background:var(--color-navy-50);width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-navy-400);justify-content:center;align-items:center;display:flex}.empty-state-icon svg{width:28px;height:28px}.empty-state-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-navy-900);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);color:var(--color-gray-500);max-width:360px;margin-bottom:var(--space-6)}.full-page-spinner{background:var(--color-navy-25);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-page{background:linear-gradient(135deg, var(--color-navy-900) 0%, var(--color-navy-800) 50%, var(--color-navy-700) 100%);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);padding:var(--space-10);animation:slideUp var(--transition-slow) ease-out}.login-logo{text-align:center;margin-bottom:var(--space-8)}.login-logo-icon{background:linear-gradient(135deg, var(--color-teal-400), var(--color-teal-600));border-radius:var(--radius-lg);color:#fff;width:56px;height:56px;font-weight:700;font-size:var(--text-2xl);margin-bottom:var(--space-4);box-shadow:var(--shadow-glow);justify-content:center;align-items:center;display:inline-flex}.login-logo h1{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.login-logo p{color:var(--color-gray-500);font-size:var(--text-sm)}.login-form{gap:var(--space-5);flex-direction:column;display:flex}.login-error{background:var(--color-danger-50);border:1px solid var(--color-danger-100);color:var(--color-danger-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.login-toggle{text-align:center;font-size:var(--text-sm);color:var(--color-gray-500);margin-top:var(--space-4)}.login-toggle button{color:var(--color-teal-600);cursor:pointer;background:0 0;border:none;font-weight:600}.login-toggle button:hover{color:var(--color-teal-500)}.settings-form{gap:var(--space-6);flex-direction:column;max-width:640px;display:flex}.settings-section{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-6)}.settings-section:last-child{border-bottom:none}.settings-section h3{font-size:var(--text-lg);margin-bottom:var(--space-4)}.logo-upload{align-items:center;gap:var(--space-4);display:flex}.logo-preview{border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--color-gray-50);justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.logo-preview img{object-fit:contain;width:100%;height:100%}.catalog-picker{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.catalog-picker-header{padding:var(--space-4);border-bottom:1px solid var(--border-color);gap:var(--space-3);flex-direction:column;display:flex}.catalog-picker-header h3{font-size:var(--text-base)}.catalog-picker-list{padding:var(--space-2);flex:1;overflow-y:auto}.catalog-picker-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.catalog-picker-item:hover{background:var(--color-teal-50)}.catalog-picker-item-info{flex:1;min-width:0}.catalog-picker-item-name{font-size:var(--text-sm);color:var(--color-gray-800);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.catalog-picker-item-sku{font-size:var(--text-xs);color:var(--color-gray-400);font-family:SF Mono,Fira Code,monospace}.catalog-picker-item-price{font-size:var(--text-sm);color:var(--color-teal-600);white-space:nowrap;font-weight:700}.catalog-picker-add-btn{border-radius:var(--radius-full);background:var(--color-teal-500);width:28px;height:28px;color:var(--color-on-dark);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.catalog-picker-add-btn:hover{background:var(--color-teal-600);transform:scale(1.1)}.quote-editor{gap:var(--space-6);grid-template-columns:340px 1fr;align-items:start;min-height:calc(100vh - 140px);display:grid}.quote-editor-right{gap:var(--space-6);flex-direction:column;display:flex}.client-details{gap:var(--space-4);flex-direction:column;display:flex}.client-details-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.quote-builder{flex:1}.quote-builder-list{gap:var(--space-4);flex-direction:column;display:flex}.product-line{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast);overflow:hidden}.product-line:hover{box-shadow:var(--shadow-md)}.product-line-header{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.product-line-info{flex:1;min-width:0}.product-line-name{font-weight:600;font-size:var(--text-sm);color:var(--color-navy-900);align-items:center;gap:var(--space-2);display:flex}.product-line-sku{font-size:var(--text-xs);color:var(--color-gray-400);font-family:SF Mono,Fira Code,monospace}.product-line-controls{align-items:center;gap:var(--space-3);display:flex}.product-line-qty{width:70px}.product-line-qty .input{text-align:center;font-size:var(--text-sm);padding:6px 8px}.product-line-unit-price{font-size:var(--text-sm);color:var(--color-gray-500);white-space:nowrap;text-align:right;min-width:80px}.product-line-total{font-size:var(--text-sm);color:var(--color-teal-600);white-space:nowrap;text-align:right;min-width:100px;font-weight:700}.product-line-delete{color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;display:flex}.product-line-delete:hover{color:var(--color-danger-500);background:var(--color-danger-50)}.product-line-expand{color:var(--color-gray-400);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;display:flex}.product-line-expand:hover{color:var(--color-navy-600);background:var(--color-navy-50)}.product-line-discount{padding:var(--space-2) var(--space-5);background:var(--color-gray-50);align-items:center;gap:var(--space-3);font-size:var(--text-xs);border-top:1px solid var(--color-gray-100);display:flex}.product-line-discount .select,.product-line-discount .input{font-size:var(--text-xs);padding:4px 8px}.product-line-discount .select{width:100px}.product-line-discount .input{width:80px}.product-line-addons{background:var(--color-navy-25);border-top:1px solid var(--border-color);padding:var(--space-4) var(--space-5)}.product-line-addons-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-navy-500);margin-bottom:var(--space-3);font-weight:700}.product-line-addons-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.addon-card{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3);transition:all var(--transition-fast);cursor:pointer}.addon-card:hover{border-color:var(--color-teal-300)}.addon-card-selected{border-color:var(--color-teal-500);background:var(--color-teal-50);box-shadow:0 0 0 1px var(--color-teal-500)}.addon-card-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.addon-card-info{flex:1;min-width:0}.addon-card-name{font-size:var(--text-sm);color:var(--color-gray-800);font-weight:600}.addon-card-desc{font-size:var(--text-xs);color:var(--color-gray-500);margin-top:2px}.addon-card-price{font-size:var(--text-sm);color:var(--color-teal-600);white-space:nowrap;font-weight:700}.addon-card-toggle{flex-shrink:0}.addon-card-controls{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-gray-100);align-items:center;gap:var(--space-3);font-size:var(--text-xs);display:flex}.addon-card-controls .input{width:60px;font-size:var(--text-xs);text-align:center;padding:4px 6px}.summary-panel{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);top:var(--space-4);position:sticky}.summary-panel h3{font-size:var(--text-lg);margin-bottom:var(--space-5)}.summary-row{padding:var(--space-2) 0;font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.summary-label{color:var(--color-gray-600)}.summary-value{color:var(--color-gray-800);font-weight:600}.summary-divider{background:var(--border-color);height:1px;margin:var(--space-3) 0}.summary-total{font-size:var(--text-xl);color:var(--color-teal-600);font-weight:800;font-family:var(--font-heading)}.summary-discount{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.summary-discount .select{width:90px;font-size:var(--text-xs);padding:6px 8px}.summary-discount .input{width:80px;font-size:var(--text-xs);padding:6px 8px}.summary-discount-warning{font-size:var(--text-xs);color:var(--color-warning-600);background:var(--color-warning-50);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-1)}.summary-discount-blocked{font-size:var(--text-xs);color:var(--color-danger-600);background:var(--color-danger-50);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-1)}.summary-notes{margin-top:var(--space-4)}.summary-notes textarea{width:100%;min-height:60px}.export-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.export-btn{flex:1;min-width:140px}.quote-preview{background:var(--color-white);max-width:800px;font-family:var(--font-body);color:var(--color-gray-800);margin:0 auto;padding:48px;font-size:13px;line-height:1.5}.quote-preview-header{border-bottom:3px solid var(--color-navy-800);justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;display:flex}.quote-preview-company h2{font-family:var(--font-heading);color:var(--color-navy-900);margin-bottom:4px;font-size:22px}.quote-preview-company p{color:var(--color-gray-600);margin-top:2px;font-size:11px}.quote-preview-meta{text-align:right;font-size:12px}.quote-preview-meta h3{font-family:var(--font-heading);color:var(--color-teal-600);margin-bottom:4px;font-size:16px}.quote-preview-meta p{color:var(--color-gray-600);margin-top:2px}.quote-preview-client{background:var(--color-navy-25);border-radius:var(--radius-md);margin-bottom:24px;padding:16px}.quote-preview-client h4{font-family:var(--font-heading);color:var(--color-navy-800);margin-bottom:8px;font-size:14px}.quote-preview-client p{color:var(--color-gray-600);margin-top:2px;font-size:12px}.quote-preview-table{border-collapse:collapse;width:100%;margin-bottom:24px}.quote-preview-table th{background:var(--color-navy-800);color:var(--color-on-dark);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px 12px;font-size:11px}.quote-preview-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.quote-preview-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.quote-preview-table td{border-bottom:1px solid var(--color-gray-100);padding:10px 12px;font-size:12px}.quote-preview-addon-row td{color:var(--color-gray-500);background:var(--color-gray-50)}.quote-preview-addon-row td:first-child{padding-left:28px}.quote-preview-totals{width:280px;margin-bottom:32px;margin-left:auto}.quote-preview-totals .summary-row{padding:6px 0;font-size:12px}.quote-preview-totals .summary-total{font-size:18px}.quote-preview-terms{background:var(--color-gray-50);border-radius:var(--radius-md);border-left:3px solid var(--color-navy-200);margin-bottom:40px;padding:16px}.quote-preview-terms h4{font-family:var(--font-heading);color:var(--color-navy-800);margin-bottom:8px;font-size:13px}.quote-preview-terms p{color:var(--color-gray-600);white-space:pre-wrap;font-size:11px;line-height:1.6}.quote-preview-signatures{grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;display:grid}.quote-preview-sig-block h4{font-family:var(--font-heading);color:var(--color-navy-800);margin-bottom:16px;font-size:13px}.quote-preview-sig-line{border-top:1px solid var(--color-gray-300);color:var(--color-gray-500);margin-top:48px;padding-top:8px;font-size:11px}.csv-dropzone{border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-gray-50)}.csv-dropzone:hover,.csv-dropzone-active{border-color:var(--color-teal-500);background:var(--color-teal-50)}.csv-dropzone-icon{color:var(--color-gray-400);margin-bottom:var(--space-3)}.csv-dropzone-icon svg{width:40px;height:40px;margin:0 auto}.csv-dropzone-text{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:var(--space-1)}.csv-dropzone-hint{font-size:var(--text-xs);color:var(--color-gray-400)}.csv-format-help{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-navy-50);border-radius:var(--radius-md);text-align:left}.csv-format-help h4{font-size:var(--text-sm);margin-bottom:var(--space-2)}.csv-format-help pre{background:var(--color-navy-900);color:var(--color-teal-300);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-all;overflow-x:auto}.csv-preview-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.csv-preview-table th{padding:var(--space-2) var(--space-3);background:var(--color-navy-50);text-align:left;color:var(--color-navy-700);font-weight:700}.csv-preview-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-100)}.csv-row-valid{color:var(--color-success-600)}.csv-row-error{background:var(--color-danger-50)}.csv-row-error-msg{color:var(--color-danger-600);font-size:var(--text-xs)}.csv-import-summary{gap:var(--space-4);text-align:center;padding:var(--space-6);flex-direction:column;display:flex}.csv-import-summary-stat{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600;display:flex}.compat-products-list{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:200px;padding:var(--space-2);overflow-y:auto}.compat-product-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);display:flex}.compat-product-item:hover{background:var(--color-gray-50)}.compat-product-checkbox{accent-color:var(--color-teal-500)}.compat-note{font-size:var(--text-xs);color:var(--color-gray-500);margin-top:var(--space-1);font-style:italic}.confirm-dialog-message{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.steps{gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.step{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-400);display:flex}.step-active{color:var(--color-teal-600);font-weight:600}.step-done{color:var(--color-success-500)}.step-number{width:24px;height:24px;font-size:var(--text-xs);border:2px solid;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.step-active .step-number{background:var(--color-teal-500);color:var(--color-on-dark);border-color:var(--color-teal-500)}.step-done .step-number{background:var(--color-success-500);color:var(--color-on-dark);border-color:var(--color-success-500)}.step-connector{background:var(--color-gray-200);height:2px;margin:0 var(--space-2);flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-muted{color:var(--color-gray-500)}.text-danger{color:var(--color-danger-500)}.text-teal{color:var(--color-teal-600)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.font-bold{font-weight:700}.font-mono{font-family:SF Mono,Fira Code,monospace}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.flex{display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.configurator-step-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.configurator-step-title{align-items:center;gap:var(--space-2);color:var(--color-teal-600);display:flex}.configurator-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.configurator-console-card{text-align:left;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-white);cursor:pointer;transition:all var(--transition-fast);gap:var(--space-2);flex-direction:column;display:flex}.configurator-console-card:hover{border-color:var(--color-teal-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.configurator-console-name{color:var(--color-gray-800);font-weight:600;font-size:var(--text-sm)}.configurator-console-meta{color:var(--color-teal-600);font-weight:700;font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.configurator-console-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-teal-50);border-radius:var(--radius-md);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.configurator-warnings{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.configurator-warning{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-amber-50,#fffbeb);border:1px solid var(--color-amber-200,#fde68a);color:var(--color-amber-700,#b45309);font-size:var(--text-sm);display:flex}.configurator-warning.is-mandatory{background:var(--color-red-50,#fef2f2);border-color:var(--color-red-200,#fecaca);color:var(--color-red-700,#b91c1c)}.configurator-warning-text{flex:1;min-width:0}.configurator-tabs{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.configurator-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--color-gray-500);font-size:var(--text-sm);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600;display:inline-flex}.configurator-tab.is-active{color:var(--color-teal-600);border-bottom-color:var(--color-teal-500)}.configurator-tab-count{font-size:var(--text-xs);background:var(--color-gray-100);border-radius:var(--radius-full);padding:0 var(--space-2);color:var(--color-gray-500)}.configurator-list{max-height:460px;overflow-y:auto}.configurator-group{margin-bottom:var(--space-3)}.configurator-group-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-400);padding:var(--space-2) var(--space-3);background:var(--color-white);font-weight:700;position:sticky;top:0}.catalog-picker-item.is-selected{background:var(--color-teal-50)}.catalog-picker-add-btn[data-selected=true]{background:var(--color-gray-400)}.catalog-picker-add-btn[data-selected=true]:hover{background:var(--color-red-500,#ef4444)}.product-tree-filepick{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}
