:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Cascadia Code", "Roboto Mono", Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--color-primary:#2259a5;--color-primary-dark:#173f79;--color-primary-light:#3475ca;--color-primary-rgb:34 89 165;--color-primary-soft:rgb(var(--color-primary-rgb) / .11);--color-primary-outline:rgb(var(--color-primary-rgb) / .28);--color-secondary:#f18822;--color-secondary-dark:#c86a13;--color-secondary-light:#ffad59;--color-secondary-rgb:241 136 34;--color-success:#14875a;--color-success-light:#1f9d6a;--color-success-rgb:20 135 90;--color-warning:#c98507;--color-warning-light:#d9950d;--color-warning-rgb:201 133 7;--color-danger:#c94135;--color-danger-light:#d8564b;--color-danger-rgb:201 65 53;--color-info:#2259a5;--color-info-light:#3475ca;--color-info-rgb:34 89 165;--color-bg:#f7f9fc;--color-bg-secondary:#f1f5f9;--color-bg-tertiary:#e6edf5;--color-surface:#fff;--color-surface-hover:#f7fafd;--color-surface-active:#edf4fb;--color-border:#dbe4ee;--color-border-light:#c5d3e3;--color-text:#162033;--color-text-secondary:#41536b;--color-text-muted:#738399;--color-muted:#738399;--shadow-sm:0 1px 2px 0 #1620330f;--shadow-md:0 8px 24px -16px #16203347;--shadow-lg:0 18px 42px -24px #1620335c;--shadow-xl:0 24px 56px -28px #16203375;--z-sticky:10;--z-modal-backdrop:1000;--z-modal:1001;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#78aaf2;--color-primary-dark:#4f83d6;--color-primary-light:#a8caff;--color-primary-rgb:120 170 242;--color-primary-soft:rgb(var(--color-primary-rgb) / .15);--color-primary-outline:rgb(var(--color-primary-rgb) / .34);--color-secondary:#f18822;--color-secondary-dark:#c86a13;--color-secondary-light:#ffb76b;--color-secondary-rgb:241 136 34;--color-success:#35c47f;--color-success-light:#77e0ac;--color-success-rgb:53 196 127;--color-warning:#f3b63f;--color-warning-light:#ffd37a;--color-warning-rgb:243 182 63;--color-danger:#f0675c;--color-danger-light:#ff9b93;--color-danger-rgb:240 103 92;--color-info:#78aaf2;--color-info-light:#a8caff;--color-info-rgb:120 170 242;--color-bg:#10141b;--color-bg-secondary:#151b24;--color-bg-tertiary:#202a37;--color-surface:#171f2a;--color-surface-hover:#202b38;--color-surface-active:#273545;--color-border:#2b3746;--color-border-light:#3c4d62;--color-text:#f4f7fb;--color-text-secondary:#c8d3e1;--color-text-muted:#93a3b7;--color-muted:#93a3b7;--shadow-sm:0 1px 2px 0 #00000047;--shadow-md:0 10px 28px -14px #0000007a;--shadow-lg:0 20px 42px -22px #000000a8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:var(--line-height-normal);scrollbar-gutter:stable;overflow-x:hidden}#root{width:100%;min-width:0}.app-main{--page-margin-x:90px;--page-padding:var(--spacing-xl)}.app-main>div{box-sizing:border-box;scrollbar-gutter:stable;width:calc(100% - (var(--page-margin-x) * 2))!important;max-width:none!important;margin:0 var(--page-margin-x)!important;padding:var(--page-padding)!important}.page-header-actions{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);display:flex}.period-control{align-items:center;gap:var(--spacing-sm);min-width:0;display:inline-flex}.period-control-label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.period-input{width:176px;min-width:176px}.dashboard-page-header{justify-content:space-between;align-items:flex-end;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.dashboard-kpi-period{flex:none}.dashboard-kpi-period .period-input{width:300px;min-width:300px}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-light)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.btn-ghost{color:var(--color-text-muted);background:0 0;border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.btn-icon{padding:var(--spacing-sm);aspect-ratio:1}.theme-switch-row{justify-content:flex-start;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);color:var(--color-text-muted);font-size:.68rem;font-weight:var(--font-weight-medium);display:flex}.theme-switch{border-radius:var(--border-radius-full);border:1px solid var(--color-border-light);appearance:none;background:var(--color-bg-tertiary);cursor:pointer;width:46px;height:24px;transition:background var(--transition-fast), border-color var(--transition-fast);flex:none;padding:0;position:relative}.theme-switch:hover{border-color:var(--color-primary-outline)}.theme-switch[aria-checked=true]{background:var(--color-primary);border-color:var(--color-primary)}.theme-switch-thumb{border-radius:var(--border-radius-full);background:var(--color-surface);width:18px;height:18px;color:var(--color-primary);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), color var(--transition-fast);place-items:center;display:grid;position:absolute;top:2px;left:2px}.theme-switch[aria-checked=true] .theme-switch-thumb{color:var(--color-secondary);transform:translate(22px)}.input,.select,.textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--color-primary-rgb) / .16);outline:none}.input::placeholder{color:var(--color-text-muted)}.input:disabled,.select:disabled{opacity:.5;cursor:not-allowed}.textarea{resize:vertical;min-height:80px}.select option{background-color:var(--color-surface)}.form-group{margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);display:block}.form-error{font-size:var(--font-size-xs);color:var(--color-danger-light);margin-top:var(--spacing-xs)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);min-width:0}.card-accent{--card-accent-color:var(--color-primary);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface) 48%, color-mix(in srgb, var(--card-accent-color) 12%, var(--color-surface)) 100%)}[data-theme=dark] .card-accent{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface) 42%, color-mix(in srgb, var(--card-accent-color) 18%, var(--color-surface)) 100%)}.stat-accent{--card-accent-color:var(--color-primary);background:linear-gradient(135deg, var(--color-bg-secondary) 0%, color-mix(in srgb, var(--card-accent-color) 11%, var(--color-bg-secondary)) 100%);border:1px solid var(--color-border)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.table-container{scrollbar-gutter:stable;border-radius:var(--border-radius-lg);border:1px solid var(--color-border);width:100%;min-width:0;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.table thead{background-color:var(--color-bg-tertiary)}.table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.table tbody tr:hover{background-color:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table .text-right{text-align:right}.table .text-mono{font-family:var(--font-mono);font-size:var(--font-size-xs)}.invoice-page-header,.invoice-header-actions{gap:var(--spacing-md)}.invoice-filter-panel{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.invoice-filters{gap:var(--spacing-md);grid-template-columns:minmax(220px,1fr) minmax(390px,1.35fr) minmax(170px,.65fr);align-items:stretch;display:grid}.invoice-search-filter{min-width:0;position:relative}.invoice-search-filter>svg{z-index:1;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.invoice-search-filter .input{height:100%;padding-left:38px}.invoice-date-range{align-items:center;gap:var(--spacing-sm);min-width:0;min-height:38px;padding:6px var(--spacing-sm);color:var(--color-text-secondary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:auto minmax(145px,1fr) auto minmax(145px,1fr);display:grid}.invoice-date-range:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(var(--color-primary-rgb) / .16)}.invoice-date-range>svg{color:var(--color-text-muted)}.invoice-date-field{align-items:center;gap:6px;min-width:0;display:flex}.invoice-date-field span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.invoice-date-field input{width:100%;min-width:112px;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);background:0 0;border:0;outline:0;padding:0}.invoice-date-separator{color:var(--color-text-muted);font-size:var(--font-size-xs)}.invoice-filter-summary{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.invoice-filter-summary .btn{flex:none}.invoice-table-shell,.data-table-shell{min-width:0}.invoice-table{min-width:1080px}.table th.invoice-sort-header{padding:0}.invoice-sort-button{width:100%;min-height:38px;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:0;text-align:left;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;display:flex}.invoice-sort-button.is-right{justify-content:flex-end}.invoice-sort-button:hover,.invoice-sort-button.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.invoice-sort-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.invoice-sort-button svg{flex:none}.data-pagination{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);display:flex}.data-pagination-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.data-pagination-controls,.data-page-buttons,.data-page-size{align-items:center;gap:var(--spacing-sm);display:flex}.data-page-size span,.data-page-indicator{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.data-page-size .select{width:76px;padding:6px var(--spacing-sm)}.data-page-buttons .btn-icon{width:32px;min-width:32px;height:32px}.data-page-indicator{text-align:center;min-width:112px}.badge{align-items:center;gap:var(--spacing-xs);padding:.2rem var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-full);white-space:nowrap;display:inline-flex}.badge-success{background-color:rgb(var(--color-success-rgb) / .14);color:var(--color-success-light)}.badge-warning{background-color:rgb(var(--color-warning-rgb) / .14);color:var(--color-warning-light)}.badge-danger{background-color:rgb(var(--color-danger-rgb) / .14);color:var(--color-danger-light)}.badge-info{background-color:rgb(var(--color-info-rgb) / .14);color:var(--color-info-light)}.badge-muted{background-color:rgb(var(--color-primary-rgb) / .08);color:var(--color-text-muted)}.badge-primary{background-color:rgb(var(--color-primary-rgb) / .14);color:var(--color-primary-light)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);align-items:flex-start;gap:var(--spacing-sm);border:1px solid;display:flex}.alert-success{background-color:rgb(var(--color-success-rgb) / .1);border-color:var(--color-success);color:var(--color-success-light)}.alert-warning{background-color:rgb(var(--color-warning-rgb) / .1);border-color:var(--color-warning);color:var(--color-warning-light)}.alert-danger{background-color:rgb(var(--color-danger-rgb) / .1);border-color:var(--color-danger);color:var(--color-danger-light)}.alert-info{background-color:rgb(var(--color-info-rgb) / .1);border-color:var(--color-info);color:var(--color-info-light)}.modal-backdrop{z-index:var(--z-modal-backdrop);padding:var(--spacing-md);background-color:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:90vh;z-index:var(--z-modal);overflow-y:auto}.modal-lg{max-width:900px}.modal-xl{max-width:min(1120px,100vw - 32px)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.progress{background-color:var(--color-bg-tertiary);border-radius:var(--border-radius-full);height:8px;overflow:hidden}.progress-bar{background-color:var(--color-primary);border-radius:var(--border-radius-full);height:100%;transition:width .3s}.tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);gap:0;display:flex}.tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-top:none;border-bottom:2px solid #0000;background:0 0;border-inline:none}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-muted)}.empty-state svg{margin:0 auto var(--spacing-md);opacity:.4}.empty-state h3{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}.grid{min-width:0;display:grid}.grid-2{gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{gap:var(--spacing-md);grid-template-columns:repeat(4,minmax(0,1fr))}.grid>*,.grid-2>*,.grid-3>*,.grid-4>*,div[style*="display: grid"],div[style*="display: grid"]>*{min-width:0}.flex{display:flex}.flex>*{min-width:0}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning-light)}.text-danger{color:var(--color-danger-light)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-mono{font-family:var(--font-mono)}.w-full{width:100%}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.cursor-pointer{cursor:pointer}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-center{text-align:center}.text-right{text-align:right}.opacity-50{opacity:.5}.hidden{display:none}.relative{position:relative}.sticky-top{z-index:var(--z-sticky);position:sticky;top:0}.quote-view-tabs{overflow-x:auto}.quote-view-tabs .tab{align-items:center;gap:var(--spacing-sm);display:inline-flex}.quote-summary-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(5,minmax(150px,1fr));display:grid}.quote-filters{gap:var(--spacing-sm);grid-template-columns:minmax(240px,1fr) 190px 190px;display:grid}.quote-row-actions{min-width:76px}.draft-discard-button{margin-right:auto}.quote-form-modal{flex-direction:column;display:flex;overflow:hidden}.quote-form-modal .modal-body{overflow-y:auto}.quote-form-grid{gap:var(--spacing-md);grid-template-columns:minmax(280px,2fr) repeat(3,minmax(145px,1fr));display:grid}.quote-section-header{justify-content:space-between;align-items:flex-end;gap:var(--spacing-md);margin:var(--spacing-sm) 0 var(--spacing-md);display:flex}.quote-section-header h3{font-size:var(--font-size-lg)}.quote-items-editor table{min-width:1080px}.quote-items-editor td{vertical-align:middle}.quote-type-input{width:122px}.quote-catalog-combobox,.quote-description-input{min-width:300px}.quote-number-input{text-align:right;width:96px}.quote-price-input{text-align:right;width:146px}.quote-discount-input{align-items:center;gap:var(--spacing-xs);display:flex}.quote-discount-input span{color:var(--color-text-muted)}.quote-line-total{white-space:nowrap;min-width:130px}.quote-form-bottom{gap:var(--spacing-xl);margin-top:var(--spacing-lg);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.quote-tax-toggle{align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;display:flex}.quote-tax-toggle input{width:16px;height:16px;accent-color:var(--color-primary)}.quote-totals-panel{border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);background:var(--color-bg-secondary)}.quote-total-row{justify-content:space-between;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:6px 0;display:flex}.quote-total-row-strong{margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.quote-catalog-suggestions{z-index:3000;padding:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);position:fixed;overflow-y:auto}.quote-catalog-suggestion{align-items:center;gap:var(--spacing-sm);width:100%;min-height:52px;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr) auto 18px;display:grid;position:relative}.quote-catalog-suggestion:hover,.quote-catalog-suggestion.is-active{background:var(--color-surface-active)}.quote-catalog-suggestion-icon,.catalog-item-icon{border-radius:var(--border-radius-sm);background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.quote-catalog-suggestion-copy{flex-direction:column;min-width:0;display:flex}.quote-catalog-suggestion-copy strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quote-catalog-suggestion-copy span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.quote-catalog-suggestion-price{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--font-size-sm);white-space:nowrap}.quote-catalog-suggestion-check{color:var(--color-success)}.catalog-toolbar{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:minmax(260px,1fr) 180px auto auto;display:grid}.catalog-search-field{position:relative}.catalog-search-field>svg{z-index:1;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.catalog-search-field .input{padding-left:38px}.catalog-result-count{text-align:right;min-width:74px}.catalog-table table{min-width:900px}.catalog-item-name{align-items:center;gap:var(--spacing-sm);min-width:240px;display:flex}.catalog-item-name strong{font-size:var(--font-size-sm)}.catalog-row-actions{min-width:76px}.catalog-item-modal{max-width:760px}.catalog-item-form-grid{gap:var(--spacing-md);grid-template-columns:140px minmax(260px,1fr) 170px;display:grid}.invoice-form-grid{gap:var(--spacing-md);grid-template-columns:minmax(280px,2fr) repeat(3,minmax(145px,1fr));display:grid}.invoice-amount-grid,.invoice-detail-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.invoice-form-bottom{gap:var(--spacing-xl);margin-top:var(--spacing-lg);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.invoice-notes{min-height:152px}.client-form-grid{gap:var(--spacing-md);grid-template-columns:minmax(180px,1fr) minmax(280px,2fr);display:grid}.client-contact-form-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.client-contact-header{margin-top:var(--spacing-sm)}.client-notes-field{margin-top:var(--spacing-md)}.client-contact-cell{min-width:190px;max-width:240px}.client-contact-cell>div{min-width:0}.client-contact-actions{margin-top:var(--spacing-xs);align-items:center;gap:2px;display:flex}.quote-detail-modal{overflow:hidden}.quote-print-sheet{padding:var(--spacing-xl);background:var(--color-surface);max-height:calc(90vh - 92px);color:var(--color-text);overflow-y:auto}.quote-document-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-primary);display:flex}.quote-document-brand{font-size:2rem;line-height:1;font-weight:var(--font-weight-bold)}.quote-document-title{align-items:flex-end;gap:var(--spacing-xs);text-align:right;text-transform:uppercase;font-size:var(--font-size-xs);color:var(--color-text-muted);flex-direction:column;display:flex}.quote-document-title strong{color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-xl)}.quote-document-meta{gap:var(--spacing-lg);padding:var(--spacing-lg) 0;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(120px,1fr));display:grid}.quote-document-meta>div{flex-direction:column;gap:2px;display:flex}.quote-meta-label{margin-bottom:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;display:block}.quote-document-items table{min-width:680px}.quote-document-summary{gap:var(--spacing-xl);margin-top:var(--spacing-xl);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.quote-document-text{gap:var(--spacing-lg);white-space:pre-wrap;flex-direction:column;display:flex}.quote-document-text p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.quote-document-footer{margin-top:var(--spacing-2xl);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (width<=768px){.app-main{--page-margin-x:0px;--page-padding:var(--spacing-lg)}.page-header-actions,.period-control{width:100%}.dashboard-page-header{flex-direction:column;align-items:flex-start}.dashboard-kpi-period .period-input,.period-input{width:100%;min-width:0}.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.modal{margin:var(--spacing-md)}.invoice-page-header{flex-direction:column;align-items:flex-start}.invoice-header-actions{flex-wrap:wrap;width:100%}.invoice-header-actions .btn{flex:1}.invoice-filters{grid-template-columns:minmax(0,1fr)}.invoice-filter-summary{flex-direction:column;align-items:flex-start}.data-pagination{flex-direction:column;align-items:stretch}.data-pagination-meta{text-align:center}.data-pagination-controls{flex-wrap:wrap;justify-content:space-between}.data-page-buttons{flex:auto;justify-content:flex-end}.quote-page-header{flex-direction:column;align-items:flex-start}.quote-header-actions{flex-wrap:wrap;width:100%}.quote-header-actions .btn{flex:1}.quote-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-filters,.catalog-toolbar,.catalog-item-form-grid{grid-template-columns:minmax(0,1fr)}.catalog-result-count{text-align:left}.catalog-toolbar .btn{width:100%}.quote-form-grid,.quote-form-bottom,.quote-document-summary,.invoice-form-grid,.invoice-amount-grid,.invoice-detail-grid,.invoice-form-bottom,.client-form-grid,.client-contact-form-grid{grid-template-columns:minmax(0,1fr)}.draft-discard-button{width:100%;margin-right:0}.quote-document-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-detail-actions{align-items:flex-start}.quote-detail-actions>div:last-child{flex-wrap:wrap;justify-content:flex-end}.quote-print-sheet{padding:var(--spacing-lg)}}@media (width>=769px) and (width<=1180px){.invoice-filters{grid-template-columns:minmax(0,1fr)}.quote-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-form-grid,.invoice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-client-field,.invoice-client-field{grid-column:1/-1}.client-contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.invoice-date-range{grid-template-columns:auto minmax(0,1fr)}.invoice-date-range>svg{grid-row:1/3}.invoice-date-separator{display:none}.invoice-date-field input{min-width:0}.data-pagination-controls{justify-content:center}.data-page-size{justify-content:center;width:100%}.data-page-buttons{justify-content:center}}@media print{@page{size:A4;margin:14mm}body{background:#fff!important}body *{visibility:hidden!important}.quote-detail-backdrop,.quote-detail-modal,.quote-print-sheet,.quote-print-sheet *{visibility:visible!important}.quote-detail-backdrop{background:#fff;padding:0;display:block;position:absolute;inset:0}.quote-detail-modal{width:100%;max-width:none;max-height:none;box-shadow:none;border:0;border-radius:0;position:absolute;inset:0;overflow:visible}.quote-detail-actions{display:none!important}.quote-print-sheet{max-height:none;padding:0;overflow:visible;color:#111827!important;background:#fff!important}.quote-print-sheet .table-container,.quote-print-sheet .quote-totals-panel{background:#fff;border-color:#d1d5db}.quote-print-sheet .table thead{background:#f3f4f6}.quote-print-sheet .table th,.quote-print-sheet .table td,.quote-print-sheet .quote-total-row,.quote-print-sheet .quote-document-text p,.quote-print-sheet .text-muted{color:#374151!important}.quote-print-sheet .table th,.quote-print-sheet .table td{border-color:#d1d5db}.quote-document-header{border-color:#2259a5}.quote-document-title strong,.quote-document-brand,.quote-total-row-strong{color:#111827!important}.quote-document-footer{border-color:#d1d5db;color:#6b7280!important}}
