@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+TC:wght@300;400;500;700&display=swap";:root{--bg-base:#f9fafb;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f3f4f6;--bg-glass:#fffc;--bg-glass-hover:#fffffff2;--accent:#79a37e;--accent-light:#5f8664;--accent-dim:#79a37e26;--accent-glow:#79a37e4d;--success:#10b981;--success-dim:#10b98126;--warning:#f59e0b;--warning-dim:#f59e0b26;--danger:#ef4444;--danger-dim:#ef444426;--info:#3b82f6;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--text-accent:var(--accent);--border:#e5e7eb;--border-accent:#79a37e66;--font-sans:"Inter", "Noto Sans TC", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-accent:0 4px 14px 0 #79a37e63;--sidebar-width:240px;--ease:cubic-bezier(.25, .46, .45, .94);--duration-fast:.15s;--duration-normal:.25s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.6}#root{min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border)}.btn{border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-fast) var(--ease);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-light);box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-ghost{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--border-accent)}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-dim);color:var(--success)}.badge-warning{background:var(--warning-dim);color:var(--warning)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-accent{background:var(--accent-dim);color:var(--accent-light)}.badge-muted{background:var(--bg-glass);color:var(--text-muted);border:1px solid var(--border)}.input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);box-shadow:none;transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);outline:none;padding:8px 12px;font-size:13px}select.input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:32px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input::placeholder{color:var(--text-muted)}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{appearance:textfield}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.page{animation:fadeIn var(--duration-normal) var(--ease);flex:1;padding:32px;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.divider{background:var(--border);height:1px;margin:16px 0}.edit-page-topbar{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.edit-page-topbar-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.edit-page-body{max-width:680px;padding:28px 32px}.edit-page-quote{padding:0;overflow:hidden}.edit-page-quote .quote-modal-body--page{height:calc(100vh - 140px);min-height:500px;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;padding:0 12px;display:flex;position:sticky;top:0}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding:20px 8px 16px;display:flex}.logo-mark{background:var(--accent);color:#fff;width:36px;height:36px;box-shadow:0 0 16px var(--accent-glow);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:flex}.logo-text{flex-direction:column;display:flex}.logo-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.2}.logo-sub{color:var(--text-muted);letter-spacing:.05em;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:24px;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-section-label{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;padding:0 8px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;text-align:left;width:100%;transition:all var(--duration-fast) var(--ease);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;display:flex;position:relative}.nav-item:hover:not(:disabled){background:var(--bg-glass-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-dim);color:var(--accent-light)}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item.soon{opacity:.4;cursor:default}.nav-icon{text-align:center;flex-shrink:0;width:18px;font-size:14px}.nav-label{flex:1}.nav-soon{letter-spacing:.04em;background:var(--bg-glass);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:16px;padding:16px 8px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), #a78bfa);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2}.user-role{color:var(--text-muted);font-size:11px}.quote-preview-wrap{width:100%}.quote-download-row{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:10px;display:flex}.quote-download-row span{color:var(--danger);font-size:12px}.quote-paper{color:#151515;background:#fbfaf7;border:1px solid #0f172a1f;border-radius:6px;padding:28px;font-family:Arial,Noto Sans TC,sans-serif}.quote-paper-header{border-bottom:1px dotted #555;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:16px;display:flex}.quote-brand-row{align-items:center;gap:10px;display:flex}.quote-logo-image{object-fit:contain;width:226px;height:67px;display:block}.quote-paper h3{letter-spacing:.18em;margin-top:6px;font-size:18px}.quote-paper-meta{text-align:right;min-width:190px;padding-top:62px;font-size:13px;font-weight:700;line-height:1.8}.quote-project-name{padding:16px 0;font-size:14px;font-weight:700}.quote-info-grid{grid-template-columns:1fr 1fr .78fr;gap:22px;margin-bottom:28px;display:grid}.quote-section-head,.quote-items th,.quote-note-title,.quote-bank-box b{color:#fff;background:#8db7ad;font-weight:700}.quote-section-head{padding:7px 10px;font-size:13px}.quote-info-body{padding:12px 8px;font-size:13px;line-height:1.65}.quote-items{border-collapse:collapse;width:100%;margin-bottom:84px;font-size:13px}.quote-items th{text-align:right;padding:10px}.quote-items th:first-child{text-align:center}.quote-items td{text-align:right;vertical-align:top;background:#f3efd8;border-top:1px solid #8db7ad59;padding:11px 10px}.quote-items td:first-child{text-align:left}.quote-items span,.quote-items small{color:#333;margin-top:4px;display:block}.quote-bottom-grid{grid-template-columns:1.1fr .7fr;align-items:start;gap:40px;display:grid}.quote-note-box{color:#333;background:#f2f2f2;font-size:12px;line-height:1.45}.quote-note-title{text-align:center;padding:8px}.quote-note-lines{margin:10px 14px 14px}.quote-note-lines p{margin:0 0 3px}.quote-total-box{font-size:13px}.quote-total-box>div:not(.quote-bank-box){justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quote-grand-total{border-top:1px solid #ddd;padding-top:12px;font-size:16px}.quote-grand-total strong{font-size:28px}.quote-bank-box{background:#f2f2f2;margin-top:22px;line-height:1.5}.quote-bank-box b{text-align:center;padding:6px 10px;display:block}.quote-bank-box p{margin:4px 10px}.quote-sign-row{grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:12px;margin-top:48px;font-size:12px;font-weight:700;display:grid}.quote-sign-row i{border-bottom:1px solid #555;height:1px}.quote-paper-footer{color:#4e9488;background:#f4f4f4;flex-direction:column;align-items:center;gap:4px;margin-top:44px;padding:22px;font-size:14px;display:flex}@media (width<=760px){.quote-paper{padding:18px}.quote-paper-header,.quote-info-grid,.quote-bottom-grid{grid-template-columns:1fr}.quote-paper-header{display:grid}.quote-paper-meta{text-align:left;min-width:0;padding-top:0}.quote-sign-row{grid-template-columns:1fr}}.quote-total-box .quote-discount-total,.quote-total-box .quote-discount-total strong{color:var(--danger)}.date-field{align-items:stretch;gap:6px;min-width:0;display:flex;position:relative}.date-field-input{flex:1;min-width:0;padding-right:44px}.date-field-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:32px;height:100%;min-height:40px;padding:0;display:flex;position:absolute;top:0;right:10px}.date-field-toggle:disabled{cursor:not-allowed;opacity:.45}.date-field-toggle svg,.date-field-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.date-field-toggle svg{width:18px;height:18px}.date-field-popover{background:var(--bg-card);border:1px solid var(--border);z-index:80;border-radius:14px;width:min(312px,86vw);padding:14px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #0f172a29}.date-field-calendar-head{grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.date-field-calendar-head strong{color:var(--text-primary);text-align:center;font-size:15px;font-weight:800}.date-field-nav{background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.date-field-nav:hover{border-color:var(--accent);color:var(--accent)}.date-field-nav svg{width:18px;height:18px}.date-field-weekdays,.date-field-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.date-field-weekdays{margin-bottom:6px}.date-field-weekdays span{color:var(--text-muted);text-align:center;font-size:12px;font-weight:700;line-height:28px}.date-field-day{aspect-ratio:1;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:14px;font-weight:700;display:flex}.date-field-day:hover{background:var(--bg-card-hover);border-color:var(--border)}.date-field-day.muted{color:var(--text-muted);opacity:.48}.date-field-day.today{color:var(--accent);border-color:#71a3798c}.date-field-day.selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px #71a37942}@media (width<=640px){.date-field{width:100%}.date-field-input{flex-basis:100%}.date-field-popover{width:min(300px,100vw - 40px)}}.order-modal{border-radius:16px;width:min(940px,95vw);max-height:90vh;padding:28px 32px;position:relative;overflow-y:auto}.embedded-order-panel .order-form{margin:0}.embedded-order-panel .modal-footer{margin-bottom:0}.order-title-editor{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.order-title-input{border:0;border-bottom:1px solid var(--border);color:var(--text-primary);background:0 0;outline:none;width:100%;padding:0 0 10px;font-size:28px;font-weight:800;line-height:1.25}.order-title-input:focus{border-bottom-color:var(--accent)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;transition:background .15s,color .15s}.order-status-wrap{align-items:stretch;gap:8px;margin-bottom:28px;display:flex}.order-status-wrap.is-cancelled .order-status-steps{opacity:.4}.order-status-edit-block{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:28px;display:grid}.order-status-edit-block.is-cancelled .pview-steps{opacity:.4}.order-status-steps{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.step-btn{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:.72rem;transition:background .15s,color .15s,border-color .15s;display:flex}.step-btn:disabled{cursor:not-allowed}.step-btn:not(:disabled):hover{background:var(--surface-hover);border-color:var(--border-accent)}.step-btn.past{color:var(--accent-light);background:#7c4dff0f;border-color:#7c4dff40}.step-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.step-num{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.68rem;font-weight:700;display:flex}.step-btn.active .step-num{background:#fff3;border-color:#0000}.step-label{text-align:center;font-weight:500;line-height:1.2}.cancel-toggle{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;writing-mode:initial;border-radius:8px;align-self:stretch;padding:8px 12px;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.cancel-toggle:hover{color:#f87171;background:#f8717114;border-color:#f8717166}.cancel-toggle--active{color:#f87171;background:#f871711f;border-color:#f8717180}.order-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group.span-2{grid-column:span 2}.form-label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.required{color:var(--danger,#f87171)}.order-textarea{resize:vertical;min-height:72px;font-family:inherit}.form-error{color:var(--danger,#f87171);margin-top:4px;font-size:.82rem}.payment-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:16px}.payment-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.payment-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:600}.payment-status-badge{font-size:.78rem;font-weight:700}.payment-grid{flex-direction:column;gap:10px;display:flex}.payment-row{grid-template-columns:130px 1fr minmax(140px,170px);align-items:center;gap:10px;display:grid}.payment-check-label{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.85rem;display:flex}.payment-check-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.payment-amount{text-align:right}.payment-date{font-size:.82rem}.payment-row--difference{color:var(--text-secondary);grid-template-columns:130px 1fr minmax(140px,170px)}.payment-difference-label{font-size:.85rem;font-weight:700}.payment-difference-amount{color:#d97706;text-align:right;font-size:.82rem;font-weight:700}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.os-badge{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.os-done{color:#10b981;background:#34d39933;font-weight:700}.order-items-standalone{margin-top:16px}.order-items-standalone .quote-item-grid{grid-template-columns:106px minmax(180px,1fr) 74px 96px 104px 38px}.order-item-remove-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:inline-flex}.order-item-remove-btn:hover:not(:disabled){background:#ef44441a;border-color:#ef44443d}.order-item-remove-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.4}.order-specs-grid{margin-top:16px}.order-total-block{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;margin-top:10px;padding:12px 16px;display:flex}.order-total-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.88rem;display:flex}.order-total-row--input{justify-content:space-between}.order-discount-row{grid-template-columns:minmax(120px,160px) minmax(140px,190px) minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.order-total-controls{grid-template-columns:172px 96px;place-items:center end;gap:8px;display:grid}.order-total-controls strong{color:var(--text-primary);text-align:right}.order-total-label{color:var(--text-secondary);font-size:.88rem}.order-total-note{color:var(--text-muted);margin-left:4px;font-size:.75rem}.order-fee-input{text-align:right;width:100px;padding:4px 8px;font-size:.88rem}.order-fee-display{color:var(--text-secondary);text-align:right;min-width:80px;font-size:.88rem}.tax-toggle{justify-content:flex-end;gap:4px;width:172px;display:flex}.tax-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.tax-btn:hover{background:var(--surface-hover)}.tax-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.order-total-row--tax{color:var(--text-muted);font-size:.82rem}.order-total-row--grand{border-top:1px solid var(--border);color:var(--text-primary);padding-top:8px;font-size:1rem}.order-total-row--grand strong{color:var(--accent-light);font-size:1.1rem}.order-nav-btns{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:14px;display:flex}.order-edit-split-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:24px;width:100%;margin-top:16px;display:grid}@media (width<=1024px){.order-edit-split-layout{grid-template-columns:1fr}}.order-history-sidebar{flex-direction:column;gap:20px;display:flex}.sidebar-customer-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:20px}.sidebar-cust-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sidebar-cust-name{color:var(--text-primary);font-size:1.1rem;font-weight:700}.sidebar-cust-meta{flex-direction:column;gap:8px;display:flex}.sidebar-meta-item{justify-content:space-between;font-size:.85rem;display:flex}.smeta-label{color:var(--text-muted)}.smeta-val{color:var(--text-secondary);font-weight:500}.smeta-val.highlight{color:var(--accent-light);font-weight:700}.sidebar-tabs-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-height:400px;padding:16px;display:flex}.sidebar-tabs-header{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.sidebar-tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:.8rem;font-weight:600;transition:all .15s}.sidebar-tab-btn:hover{color:var(--text-primary)}.sidebar-tab-btn.active{color:var(--accent-light);border-bottom-color:var(--accent-light)}.sidebar-tab-content{flex:1;max-height:480px;padding-right:4px;overflow-y:auto}.sidebar-list{flex-direction:column;gap:12px;display:flex}.sidebar-item-row{border:1px solid var(--border);background:#ffffff05;border-radius:8px;flex-direction:column;gap:8px;padding:12px;transition:all .15s;display:flex}.sidebar-item-row:hover{background:#ffffff0a;border-color:#7c4dff33}.sidebar-item-row.editing{border-left:3px solid var(--accent);background:#7c4dff0a}.sidebar-item-row.linked{border-left:3px solid var(--success,#10b981);background:#10b9810a}.sitem-header{align-items:center;gap:8px;display:flex}.current-edit-badge{color:var(--accent-light);background:#7c4dff26;border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:600}.sitem-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.sitem-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.sitem-meta strong{color:var(--text-secondary)}.sitem-actions{border-top:1px solid #ffffff08;justify-content:flex-end;gap:6px;margin-top:4px;padding-top:8px;display:flex}.btn-accent-outline{color:var(--accent-light);cursor:pointer;background:0 0;border:1px solid #7c4dff66;border-radius:4px;padding:2px 8px;font-size:.72rem;transition:all .15s}.btn-accent-outline:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.empty-hint{text-align:center;color:var(--text-muted);padding:40px 0;font-size:.8rem}.project-view-panel{flex-direction:column;gap:20px;padding:4px 0;display:flex}.pview-progress{flex-direction:column;gap:8px;padding-bottom:4px;display:flex}.pview-title-row h2{color:var(--text-primary);margin:0;font-size:28px;font-weight:800;line-height:1.25}.pview-steps{grid-template-columns:repeat(7,1fr);gap:0;display:grid;position:relative}.pview-steps:before{content:"";background:var(--border);z-index:0;height:2px;position:absolute;top:18px;left:5%;right:5%}.pview-step{color:inherit;cursor:pointer;z-index:1;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex;position:relative}.pview-step:disabled{cursor:default}.pview-step:not(:disabled):hover .pview-step-dot{border-color:var(--accent-light);box-shadow:0 0 0 4px #7c4dff24}.pview-step:not(:disabled):hover .pview-step-label{color:var(--accent-light)}.pview-step-dot{border:2px solid var(--border);background:var(--bg-card,#1e1e2e);width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.pview-step.past .pview-step-dot{border-color:var(--accent);color:var(--accent-light);background:#7c4dff26}.pview-step.current .pview-step-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px #7c4dff33}.pview-step-label{color:var(--text-muted);text-align:center;font-size:.68rem;font-weight:500;line-height:1.2}.pview-step.past .pview-step-label,.pview-step.current .pview-step-label{color:var(--text-secondary)}.pview-step.current .pview-step-label{color:var(--accent-light);font-weight:700}.pview-save-state{color:var(--text-muted);align-self:flex-end;font-size:.78rem;font-weight:700}.pview-save-state.is-saved{color:var(--success)}.pview-info-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:24px;padding:12px 16px;display:flex}.pview-info-item{flex-direction:column;gap:3px;display:flex}.pview-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.pview-info-val{color:var(--text-primary);font-size:.9rem;font-weight:600}.pview-inline-date{align-items:center;min-width:150px;height:32px}.pview-inline-date-input{color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:8px;width:100%;height:32px;padding:4px 34px 4px 8px;font-size:.9rem;font-weight:700;line-height:22px}.pview-inline-date:hover .pview-inline-date-input,.pview-inline-date:focus-within .pview-inline-date-input{background:var(--bg-card);border-color:var(--border)}.pview-inline-date .date-field-toggle{width:28px;height:28px;min-height:0;top:2px;right:2px}.pview-inline-date .date-field-toggle svg{width:17px;height:17px}.pview-linked{color:var(--success,#10b981)}.pview-section{flex-direction:column;gap:12px;display:flex}.pview-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.pview-items-table{border-collapse:collapse;width:100%;font-size:.85rem}.pview-items-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;font-size:.72rem;font-weight:600}.pview-items-table th:not(:first-child),.pview-items-table .text-right{text-align:right}.pview-items-table td{color:var(--text-primary);vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:8px 10px}.pview-items-table tbody tr:last-child td{border-bottom:none}.pview-totals{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.pview-total-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.pview-total-tax{color:var(--text-muted);font-size:.8rem}.pview-total-grand{border-top:1px solid var(--border);color:var(--text-primary);margin-top:2px;padding-top:8px;font-size:1rem}.pview-total-grand strong{color:var(--accent-light);font-size:1.15rem}.pview-payment-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px}.pview-payment-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.pview-pay-row{border-bottom:1px solid #ffffff0a;grid-template-columns:28px 56px 1fr auto;align-items:center;gap:10px;padding:8px 0;font-size:.88rem;display:grid}.pview-pay-row--editable{grid-template-columns:minmax(120px,1fr) minmax(120px,150px) minmax(140px,170px)}.pview-pay-check{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.pview-pay-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.pview-pay-input{text-align:right}.pview-pay-date-input{min-width:0;font-size:.82rem}.pview-pay-row--difference{color:var(--text-secondary)}.pview-pay-difference-title{font-size:.86rem;font-weight:700}.pview-pay-difference-amount{color:#d97706;text-align:right;font-size:.82rem;font-weight:700}.pview-pay-row:last-of-type{border-bottom:none}.pview-pay-icon{color:var(--text-muted);text-align:center;font-size:.9rem}.pview-pay-icon.paid{color:#10b981}.pview-pay-label{color:var(--text-secondary);font-weight:500}.pview-pay-date{color:var(--text-muted);font-size:.8rem}.pview-pay-amount{color:var(--text-muted);text-align:right;font-weight:600}.pview-pay-amount.paid{color:#10b981}.pview-outstanding{border-radius:8px;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;font-size:.9rem;font-weight:600;display:flex}.pview-outstanding--due{color:#d97706;background:#d977061a;border:1px solid #d9770647}.pview-outstanding--cleared{color:#10b981;background:#10b98114;border:1px solid #10b98140}.pview-outstanding--adjusted{color:var(--text-secondary);background:#64748b14;border:1px solid #64748b40}.adjustment-panel{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:12px;padding-top:14px;display:flex}.adjustment-panel-head,.adjustment-row{align-items:center;gap:10px;display:flex}.adjustment-panel-head{justify-content:space-between}.adjustment-panel-head strong{color:#d97706;font-size:.9rem}.adjustment-empty{color:var(--text-muted);margin:0;font-size:.84rem}.adjustment-list{flex-direction:column;gap:8px;display:flex}.adjustment-row{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.adjustment-type{border-radius:999px;flex:none;padding:4px 8px;font-size:.74rem;font-weight:700}.adjustment-type--allowance{color:#d97706;background:#d977061f}.adjustment-type--refund{color:#ef4444;background:#ef44441a}.adjustment-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.adjustment-main strong{color:var(--text-primary);font-size:.86rem}.adjustment-main span,.adjustment-date{color:var(--text-muted);font-size:.78rem}.adjustment-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adjustment-date{flex:none}.adjustment-delete{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.adjustment-delete:hover:not(:disabled){color:#ef4444;border-color:#ef444473}.adjustment-form{grid-template-columns:minmax(86px,.8fr) minmax(96px,1fr) minmax(132px,1fr);gap:8px;max-width:100%;display:grid}.adjustment-form .input,.adjustment-form .date-field{min-width:0}.adjustment-amount-input{text-align:right}.adjustment-form .btn{min-width:72px}.adjustment-reason-input{grid-column:span 2}@media (width<=900px){.adjustment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.adjustment-reason-input{grid-column:1/-1}}.pview-specs-text{color:var(--text-secondary);white-space:pre-wrap;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin:0;padding:12px 14px;font-size:.88rem;line-height:1.6}.pview-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:4px;padding-top:8px;display:flex}.quote-modal{width:min(1280px,100vw - 32px);max-width:min(1280px,100vw - 32px)}.quote-modal-body{grid-template-columns:minmax(460px,.92fr) minmax(420px,1.08fr);min-height:0;display:grid;overflow:hidden}.quote-modal-form{flex-direction:column;min-height:0;padding:22px 24px 0;display:flex;overflow-y:auto}.quote-status-strip{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:22px;display:grid}.quote-status-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.quote-status-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-accent)}.quote-status-btn.active{background:var(--accent-dim);border-color:var(--border-accent);color:var(--accent-light)}.quote-status-btn:disabled{cursor:not-allowed;opacity:.55}.qs-badge{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.qs-draft{color:#94a3b8;background:#94a3b826}.qs-sent{color:#60a5fa;background:#60a5fa26}.qs-accepted{color:#34d399;background:#34d39926}.qs-converted{color:var(--accent-light);background:#7c4dff29}.qs-rejected{color:#f87171;background:#f871711f}.qs-expired{color:#fbbf24;background:#fbbf2421}.quote-customer-field{gap:8px}.quote-customer-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.quote-selected-customer{color:var(--text-muted);font-size:.78rem}.quote-selected-customer strong{color:var(--text-primary)}.quote-customer-options{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;max-height:180px;padding:6px;display:flex;overflow-y:auto}.quote-customer-option{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.quote-customer-option:hover{background:var(--surface-hover)}.quote-customer-option.selected{color:var(--success);background:#698e6c1f;border-color:#698e6c5c}.quote-customer-option strong{color:var(--text-primary);font-size:.9rem}.quote-customer-option span,.quote-customer-empty{color:var(--text-muted);font-size:.76rem}.quote-customer-empty{padding:10px}.quote-items-editor{flex-direction:column;gap:8px;display:flex}.quote-items-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-item-grid{grid-template-columns:96px minmax(160px,1fr) 68px 68px 90px 96px 58px;align-items:center;gap:8px;display:grid}.quote-item-grid-head{color:var(--text-muted);padding:0 4px;font-size:.75rem;font-weight:600}.quote-item-amount{color:var(--accent-light);text-align:right;font-size:.82rem;font-weight:700}.quote-editor-total{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;justify-content:flex-end;align-items:center;gap:16px;margin-top:4px;padding:10px 12px;display:flex}.quote-editor-total .order-total-controls{grid-template-columns:minmax(220px,auto) 116px}.quote-editor-total .tax-toggle{width:auto}.quote-editor-total strong{color:var(--accent-light);font-size:1rem}.quote-note-select{margin-bottom:8px}.quote-modal-footer{margin:20px -24px 0}.quote-live-preview{border-left:1px solid var(--border);background:#d9d6cf;min-height:0;padding:18px;overflow:auto}.quote-live-preview-head{color:#2f352f;justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.quote-live-preview-head span{font-size:.9rem;font-weight:800}.quote-live-preview-head small{color:#687166;font-size:.75rem}.quote-live-preview .quote-paper{transform-origin:top;max-width:760px;margin:0 auto;box-shadow:0 14px 34px #0f172a3d}@media (width<=1180px){.quote-modal-body{grid-template-columns:1fr}.quote-live-preview{border-left:0;border-top:1px solid var(--border);max-height:68vh}}@media (width<=560px){.quote-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}.quote-modal-form{padding:18px 16px 0}.quote-status-strip{grid-template-columns:repeat(2,1fr)}.quote-customer-search-row{grid-template-columns:1fr}.quote-item-grid{grid-template-columns:1fr 1fr}.quote-item-grid-head{display:none}.quote-modal-footer{margin-left:-16px;margin-right:-16px}}.quote-discount-row{grid-template-columns:minmax(140px,180px) minmax(150px,220px) minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.quote-discount-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem;line-height:1.4;display:block}.quote-editor-total--muted{color:var(--text-secondary)}.quote-editor-total--muted strong{color:var(--text-primary);font-size:15px}@media (width<=760px){.quote-discount-row{grid-template-columns:1fr}.quote-editor-total{flex-direction:column;align-items:stretch}.quote-editor-total .order-total-controls{grid-template-columns:1fr;justify-items:stretch}.quote-editor-total .tax-toggle{justify-content:stretch}.quote-editor-total .tax-btn{flex:1}}.quote-project-field{gap:8px}.quote-project-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.quote-selected-project{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;display:flex}.quote-selected-project strong{color:var(--text-primary)}.quote-project-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem}.quote-project-clear:hover{color:var(--danger,#f87171)}.quote-project-options{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;max-height:220px;padding:6px;display:flex;overflow-y:auto}.quote-project-option{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.quote-project-option:hover{background:var(--surface-hover)}.quote-project-option.selected{color:var(--success);background:#698e6c1f;border-color:#698e6c5c}.quote-project-option strong{color:var(--text-primary);font-size:.9rem}.quote-project-option span,.quote-project-empty{color:var(--text-muted);font-size:.76rem}.quote-project-empty{padding:10px}@media (width<=560px){.quote-project-search-row{grid-template-columns:1fr}}.quote-project-hint,.quote-project-warning{margin:0;font-size:.76rem;line-height:1.45}.quote-project-hint{color:var(--text-muted)}.quote-project-warning{color:var(--danger,#f87171)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-lg);animation:slideUp .2s var(--ease);flex-direction:column;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);background:0 0;border:none;padding:4px 8px;font-size:14px}.modal-close:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-full{grid-column:1/-1}.form-group label{color:var(--text-muted);font-size:12px;font-weight:500}.tier-override-group{justify-content:flex-end}.toggle-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:flex}.toggle-row input{accent-color:var(--accent)}.field-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.tag-input-row{gap:8px;display:flex}.tag-removable{cursor:pointer;transition:opacity var(--duration-fast)}.tag-removable:hover{opacity:.6}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.parse-panel-toggle{align-items:center;gap:12px;margin-bottom:16px;display:flex}.parse-btn{font-size:.82rem}.parse-btn--active{border-color:var(--accent);color:var(--accent-light);background:#7c4dff1a}.parse-hint{color:var(--text-muted);font-size:.78rem}.parse-panel{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;animation:.15s fadeIn;display:flex}.parse-textarea{resize:vertical;min-height:110px;font-family:inherit;font-size:.82rem;line-height:1.6}.parse-error{color:var(--danger,#f87171);font-size:.8rem}.parse-actions{justify-content:flex-end;gap:8px;display:flex}.taxid-row{align-items:center;gap:8px;display:flex}.taxid-row .input{flex:1}.gcis-btn{white-space:nowrap;flex-shrink:0}.gcis-error{color:var(--danger,#f87171);margin-top:4px;font-size:.8rem}.gcis-result{background:#7c4dff0f;border:1px solid #7c4dff33;border-radius:8px;flex-direction:column;gap:3px;margin-top:8px;padding:10px 12px;display:flex}.gcis-result-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.gcis-result-meta{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.gcis-result-industry{color:var(--accent-light,#a78bfa);margin-top:2px;font-size:.82rem}.gcis-result .btn{align-self:flex-start;margin-top:6px}.form-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);margin:18px 0 8px;padding-bottom:6px;font-size:.75rem;font-weight:700}.receiver-sync-group{margin-top:-4px}.receiver-sync-toggle{justify-content:flex-start;width:fit-content}.form-group .input:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed}.line-profile-row{align-items:center;gap:10px;display:flex}.line-profile-row img{border:1px solid var(--border);object-fit:cover;border-radius:50%;flex:none;width:38px;height:38px}.line-profile-row .input{flex:1;min-width:0}@media (width<=640px){.form-grid{grid-template-columns:1fr}.line-profile-row{align-items:stretch}}.invoice-preview-wrap{flex-direction:column;gap:10px;display:flex}.invoice-download-row{align-items:center;gap:10px;display:flex}.invoice-download-error{color:var(--danger);font-size:12px}.invoice-paper{color:#151515;background:#fff;border:1px solid #d6d2c9;border-radius:8px;padding:28px 32px;font-size:13px;box-shadow:0 2px 12px #0000000f}.invoice-paper-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.invoice-brand-row{align-items:center;display:flex}.invoice-logo-image{object-fit:contain;width:226px;height:67px;display:block}.invoice-paper-header h3{color:#4e9488;letter-spacing:.18em;margin:6px 0 0;font-size:18px;font-weight:700}.invoice-meta{text-align:right;color:#555;font-size:12px;line-height:1.8}.invoice-section-head{color:#fff;background:#8db7ad;border-radius:4px;margin:12px 0 6px;padding:5px 12px;font-size:12px;font-weight:700}.invoice-customer-info{background:#f8faf9;border-left:3px solid #8db7ad;border-radius:4px;padding:4px 12px 8px;font-size:12px;line-height:1.9}.invoice-items{border-collapse:collapse;width:100%;margin:14px 0;font-size:12px}.invoice-items th{color:#fff;text-align:left;background:#8db7ad;padding:7px 10px;font-weight:700}.invoice-items th:not(:first-child),.invoice-items td:not(:first-child){text-align:right}.invoice-items td{background:#f3efd8;border-bottom:1px solid #bfd7d1;padding:8px 10px}.invoice-payment-summary{background:#f3efd8;border:1px solid #bfd7d1;border-radius:6px;width:320px;margin:0 0 14px auto;padding:12px 16px;font-size:13px}.invoice-payment-row{color:#333;justify-content:space-between;padding:5px 0;display:flex}.invoice-payment-divider{border-bottom:1px solid #8db7ad;margin-bottom:4px;padding-bottom:8px}.invoice-payment-total{padding-top:8px;font-size:15px;font-weight:700}.invoice-notes-box{background:#f2f2f2;border-radius:6px;margin-bottom:10px;padding:10px 14px;font-size:12px;line-height:1.6}.invoice-notes-box p{white-space:pre-line;margin:0}.invoice-notes-title{color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:700}.invoice-reminder-box{color:#1a7060;background:#ecfdf7;border-left:3px solid #4e9488;border-radius:4px;margin-bottom:10px;padding:10px 14px;font-size:12px;line-height:1.6}.invoice-reminder-title{text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:700}.invoice-bank-box{background:#f8faf9;border-radius:4px;margin-bottom:10px;padding:10px 14px;font-size:12px;line-height:1.7}.invoice-bank-box b{color:#4e9488;margin-bottom:4px;display:block}.invoice-footer{text-align:center;color:#4e9488;border-top:1px solid #e0e0e0;padding-top:12px;font-size:12px;font-weight:700}.invoice-modal{flex-direction:column;width:96vw;max-width:1380px;height:94vh;max-height:94vh;display:flex;overflow:hidden}.invoice-modal>.modal-header{flex-shrink:0}.modal-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:13px}.invoice-modal-body{flex:1;grid-template-columns:1fr 1.1fr;gap:0;min-height:0;display:grid;overflow:hidden}.invoice-modal-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 24px;display:flex}.invoice-footer-error{color:var(--danger);padding:4px 24px 0;font-size:12px}.invoice-form-side{overscroll-behavior:contain;border-right:1px solid var(--border);flex-direction:column;gap:0;min-height:0;padding:20px 24px 40px;display:flex;overflow-y:auto}.invoice-preview-side{overscroll-behavior:contain;background:var(--surface);min-height:0;padding:16px 20px 40px;overflow-y:auto}.invoice-preview-side-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.invoice-form-section{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.invoice-form-section:last-child{border-bottom:none}.invoice-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.invoice-items-preview{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:12px}.invoice-items-preview th{background:var(--surface-raised);text-align:left;color:var(--text-muted);padding:5px 10px;font-size:11px;font-weight:600}.invoice-items-preview th:not(:first-child),.invoice-items-preview td:not(:first-child){text-align:right}.invoice-items-preview td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:6px 10px}.invoice-no-items{color:var(--text-muted);margin-bottom:8px;font-size:12px;font-style:italic}.invoice-subtotal-row{color:var(--text-secondary);justify-content:space-between;padding:8px 10px 0;font-size:13px;display:flex}.invoice-subtotal-row strong{color:var(--text-primary)}.invoice-balance-display{background:var(--surface-raised);border-radius:8px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;font-size:15px;display:flex}.invoice-balance-display strong{font-size:18px;font-weight:900}.invoice-balance-warn{color:var(--danger);margin-top:6px;font-size:12px}.invoice-ai-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.invoice-ai-header .invoice-section-label{margin-bottom:0}.invoice-message-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.invoice-ai-error{color:var(--danger);margin-bottom:8px;font-size:12px}.invoice-ai-warning{color:var(--warning);background:var(--warning-bg,#fffbeb);border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:12px}.invoice-delivery-notes{resize:vertical;white-space:pre-wrap;min-height:92px;line-height:1.6}.invoice-customer-message{resize:vertical;white-space:pre-wrap;min-height:292px;line-height:1.65}.page-title{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.2}.date-badge{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:12px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);align-items:flex-start;gap:14px;padding:20px;display:flex}.kpi-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}.kpi-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.kpi-icon--revenue{background:var(--accent-dim);color:var(--accent-light)}.kpi-icon--orders{background:var(--success-dim);color:var(--success)}.kpi-icon--customers{background:var(--info-dim,#60a5fa1f);color:var(--info)}.kpi-icon--avg{background:var(--warning-dim);color:var(--warning)}.kpi-label{color:var(--text-muted);letter-spacing:.03em;margin-bottom:4px;font-size:11px;font-weight:500}.kpi-value{color:var(--text-primary);margin-bottom:4px;font-size:22px;font-weight:700;line-height:1.2}.kpi-change{font-size:11px;font-weight:500}.kpi-change.positive{color:var(--success)}.kpi-change.neutral{color:var(--text-muted)}.dashboard-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dashboard-card{height:280px;overflow:hidden}.card-title{color:var(--text-primary);margin-bottom:20px;font-size:14px;font-weight:600}.top-customers{flex-direction:column;gap:14px;display:flex}.top-customer-row{align-items:center;gap:10px;display:flex}.rank{color:var(--text-muted);flex-shrink:0;width:24px;font-size:11px;font-weight:700}.top-customer-info{flex-direction:column;flex-shrink:0;width:80px;display:flex}.top-customer-name{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.2}.top-customer-industry{color:var(--text-muted);font-size:10px}.top-customer-bar-wrap{background:var(--bg-glass);border-radius:999px;flex:1;height:6px;overflow:hidden}.top-customer-bar{background:linear-gradient(90deg, var(--accent), var(--accent-light));height:100%;transition:width .8s var(--ease);border-radius:999px}.top-customer-rev{color:var(--text-secondary);text-align:right;flex-shrink:0;width:70px;font-size:12px;font-weight:600}.industry-list{flex-direction:column;gap:14px;display:flex}.industry-row{align-items:center;gap:10px;display:flex}.industry-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.industry-name{color:var(--text-secondary);flex-shrink:0;width:60px;font-size:12px}.industry-bar-wrap{background:var(--bg-glass);border-radius:999px;flex:1;height:6px;overflow:hidden}.industry-bar{background:linear-gradient(90deg, var(--success), #6ee7b7);border-radius:999px;height:100%}.industry-count{color:var(--text-muted);text-align:right;flex-shrink:0;width:36px;font-size:11px}.dq-row{margin-top:16px}.dq-card{flex-direction:column;gap:0;display:flex}.dq-card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dq-card-header .card-title{margin-bottom:0}.dq-pending-badge{color:var(--warning);background:var(--warning-dim);border:1px solid #fbbf2440;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.dq-fields{flex-direction:column;gap:14px;display:flex}.dq-field-row{align-items:center;gap:10px;display:flex}.dq-field-label{color:var(--text-secondary);flex-shrink:0;width:42px;font-size:12px}.dq-bar-wrap{background:var(--bg-glass);border-radius:999px;flex:1;height:7px;overflow:hidden}.dq-bar{height:100%;transition:width .8s var(--ease);border-radius:999px}.dq-bar--taxid{background:linear-gradient(90deg, var(--accent), var(--accent-light))}.dq-bar--email{background:linear-gradient(90deg, var(--info), #93c5fd)}.dq-bar--phone{background:linear-gradient(90deg, var(--success), #6ee7b7)}.dq-bar--address{background:linear-gradient(90deg, var(--warning), #fde68a)}.dq-field-stat{color:var(--text-muted);text-align:right;flex-shrink:0;width:52px;font-size:11px}.dq-field-pct{color:var(--text-secondary);text-align:right;flex-shrink:0;width:34px;font-size:12px;font-weight:600}.dq-sources{flex-direction:column;gap:16px;display:flex}.dq-source-row{align-items:center;gap:10px;display:flex}.dq-source-label{color:var(--text-secondary);flex-shrink:0;width:78px;font-size:12px}.src-bar--quote{background:linear-gradient(90deg, var(--accent), var(--accent-light))}.src-bar--hist{background:linear-gradient(90deg, var(--info), #93c5fd)}.src-bar--invoice{background:linear-gradient(90deg, var(--success), #6ee7b7)}.src-bar--erp{background:linear-gradient(90deg, var(--warning), #fde68a)}.dq-source-count{color:var(--text-muted);text-align:right;flex-shrink:0;width:36px;font-size:11px}.customer-intake-page{color:#1f2933;background:#f6f7f4;min-height:100vh;padding:40px 18px}.customer-intake-page *{box-sizing:border-box}.customer-intake-shell{background:#fff;border:1px solid #d9e2d8;border-radius:8px;width:min(820px,100%);margin:0 auto;padding:28px;box-shadow:0 18px 46px #1f293314}.customer-intake-header{border-bottom:1px solid #e4e7eb;margin-bottom:22px;padding-bottom:18px}.customer-intake-brand{color:#3f8b82;margin:0 0 6px;font-size:15px;font-weight:700}.customer-intake-header h1{letter-spacing:0;margin:0;font-size:28px}.customer-intake-line-status{color:#3f8b82;margin:10px 0 0;font-size:14px;font-weight:700}.customer-intake-form{gap:24px;display:grid}.customer-intake-section{gap:14px;display:grid}.customer-intake-section h2{color:#3f8b82;letter-spacing:0;margin:0;font-size:16px}.customer-intake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.customer-intake-full{grid-column:1/-1}.customer-intake-grid label{color:#52616b;gap:7px;font-size:14px;font-weight:700;display:grid}.customer-intake-check{color:#52616b;cursor:pointer;background:#f8faf9;border:1px solid #d9e2d8;border-radius:6px;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.customer-intake-check input[type=checkbox]{accent-color:#3f8b82;flex:none;width:18px;height:18px;margin:0}.customer-intake-check span{min-width:0}.customer-intake-sample-grid{margin-top:2px}.customer-intake-grid input:not([type=checkbox]),.customer-intake-result textarea{color:#1f2933;width:100%;font:inherit;background:#fff;border:1px solid #ccd2d8;border-radius:6px}.customer-intake-grid input:not([type=checkbox]){height:46px;padding:0 12px}.customer-intake-grid input:not([type=checkbox]):disabled{color:#8b98a5;background:#eef2f0}.customer-intake-grid input:not([type=checkbox]):focus,.customer-intake-result textarea:focus{border-color:#6aa79d;outline:none;box-shadow:0 0 0 3px #6aa79d2e}.customer-intake-submit,.customer-intake-actions button,.customer-intake-actions a{cursor:pointer;border:1px solid #6aa79d;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.customer-intake-submit{color:#fff;background:#6aa79d;justify-self:end}.customer-intake-result{border-top:1px solid #e4e7eb;gap:12px;margin-top:24px;padding-top:20px;display:grid}.customer-intake-result-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-intake-result-header h2{margin:0;font-size:18px}.customer-intake-result-header span{color:#3f8b82;font-size:13px;font-weight:700}.customer-intake-result textarea{resize:vertical;min-height:180px;padding:12px;line-height:1.7}.customer-intake-actions{flex-wrap:wrap;gap:10px;display:flex}.customer-intake-actions button{color:#3f8b82;background:#fff}.customer-intake-actions a{color:#fff;background:#3f8b82}@media (width<=640px){.customer-intake-page{padding:14px 10px}.customer-intake-shell{padding:18px 16px}.customer-intake-header h1{font-size:24px}.customer-intake-form{gap:22px}.customer-intake-grid{grid-template-columns:1fr;gap:14px}.customer-intake-check{min-height:54px;padding:0 14px}.customer-intake-grid input:not([type=checkbox]){height:48px}.customer-intake-submit{justify-self:stretch}.customer-intake-actions{display:grid}}.page-title{color:var(--text-primary);font-size:24px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.header-actions{gap:8px;display:flex}.toolbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-input{flex:1;min-width:0}.filter-group{gap:8px;display:flex}.filter-select{cursor:pointer}.source-select{min-width:128px}.table-wrap{padding:0;overflow:auto hidden}.customer-table{border-collapse:collapse;width:100%;font-size:13px}.customer-table thead tr{border-bottom:1px solid var(--border)}.customer-table th{text-align:left;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:12px 16px;font-size:11px;font-weight:600}.th-sortable{cursor:pointer;transition:color var(--duration-fast)}.th-sortable:hover{color:var(--text-primary)}.sort-icon{margin-left:4px;font-size:10px}.sort-icon.muted{color:var(--text-muted)}.sort-icon.active{color:var(--accent-light)}.customer-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast) var(--ease)}.customer-row:last-child{border-bottom:none}.customer-row:hover{background:var(--bg-glass)}.customer-row td{vertical-align:middle;padding:14px 16px}.customer-name-cell{align-items:center;gap:10px;min-width:200px;display:flex}.customer-avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.customer-full-name{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.3}.customer-id{color:var(--text-muted);font-size:11px}.customer-meta-line{align-items:center;gap:6px;margin-top:2px;display:flex}.source-pill{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;line-height:1}.source-pill-import{background:var(--accent-dim);border-color:var(--border-accent);color:var(--accent-light)}.industry-tag{white-space:normal;word-break:keep-all;overflow-wrap:break-word;max-width:100px;font-size:12px;font-weight:500;line-height:1.4;display:inline-block}.td-secondary{color:var(--text-secondary);font-size:12px}.td-number{color:var(--text-secondary);text-align:right;font-weight:500}.td-revenue{color:var(--accent-light);font-weight:600}.tier-badge{border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.row-actions{justify-content:flex-end;gap:6px;min-width:100px;display:flex}.row-action-btn{opacity:0;transition:opacity var(--duration-fast);padding:4px 10px;font-size:12px}.customer-row:hover .row-action-btn{opacity:1}.delete-action{color:var(--danger)}.delete-action:hover{background:var(--danger-dim);border-color:#f8717140}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px;font-size:14px}.customer-merge-modal{width:min(92vw,860px);max-height:92vh;padding:28px 32px;overflow:auto}.merge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.merge-picker{flex-direction:column;gap:8px;display:flex}.merge-selected{background:#7c4dff14;border:1px solid #7c4dff38;border-radius:8px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.merge-selected strong,.merge-result strong{color:var(--text-primary);font-size:14px}.merge-selected span,.merge-result span,.merge-summary{color:var(--text-muted);font-size:12px}.merge-results{border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:300px;display:flex;overflow:auto}.merge-result{background:var(--bg-surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.merge-result:last-child{border-bottom:0}.merge-result:hover,.merge-result.active{background:var(--surface-hover)}.merge-result.active{box-shadow:inset 3px 0 0 var(--accent)}.merge-summary{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;margin-top:16px;padding:12px;display:flex}@media (width<=760px){.merge-grid{grid-template-columns:1fr}}.profile-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.profile-actions{gap:8px;display:flex}.profile-nav-actions{flex-wrap:wrap;gap:8px;display:flex}.danger-btn{color:var(--danger)}.danger-btn:hover{background:var(--danger-dim);border-color:#f8717140}.profile-hero{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;display:flex}.profile-avatar{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;font-weight:700;display:flex}.profile-main{flex:1;min-width:200px}.profile-name-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.profile-name{color:var(--text-primary);font-size:20px;font-weight:700}.tier-chip{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.source-chip{background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent-light);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.profile-sub{color:var(--text-muted);margin-bottom:10px;font-size:12px}.profile-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-stats{gap:32px;display:flex}.profile-stat{text-align:right}.stat-label{color:var(--text-muted);margin-bottom:2px;font-size:11px}.stat-value{color:var(--text-primary);font-size:16px;font-weight:700}.profile-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.notes-card{grid-column:1/-1}.business-card{grid-column:span 1}.projects-card{grid-column:1/-1}.section-title{color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:600}.section-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title-row .section-title{margin-bottom:0}.project-count{color:var(--text-muted);font-size:12px}.info-rows{flex-direction:column;gap:12px;display:flex}.info-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.info-row-stack{align-items:flex-start}.info-label{color:var(--text-muted);flex-shrink:0;font-size:12px}.info-value{color:var(--text-primary);text-align:right;font-size:13px;font-weight:500}.info-value.highlight{color:var(--accent-light);font-size:15px;font-weight:700}.info-value.link{color:var(--accent-light);text-decoration:none}.info-value.link:hover{text-decoration:underline}.notes-text{color:var(--text-secondary);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border);padding:16px;font-size:13px;line-height:1.7}.project-list{flex-direction:column;gap:10px;display:flex}.project-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.project-name{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:600}.project-product{color:var(--text-secondary);font-size:12px;line-height:1.5}.project-meta{color:var(--text-muted);text-align:right;justify-items:end;gap:4px;min-width:140px;font-size:12px;display:grid}.project-meta strong{color:var(--accent-light);font-size:13px}.empty-projects{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:16px;font-size:13px}.section-title-actions{align-items:center;gap:12px;display:flex}.btn-sm{padding:5px 14px;font-size:12px}.btn-xs{padding:3px 10px;font-size:11px}.order-list{flex-direction:column;gap:10px;display:flex}.order-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;transition:border-color .15s;display:flex}.order-row:hover{border-color:var(--border-accent)}.order-row-main{flex:1;min-width:0}.order-row-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.order-name{color:var(--text-primary);font-size:13px;font-weight:600}.order-product{color:var(--text-secondary);font-size:12px}.order-specs{color:var(--text-muted);border-left:2px solid var(--border);margin-bottom:8px;padding-left:8px;font-size:12px;line-height:1.5}.order-row-meta{color:var(--text-muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.order-row-meta strong{color:var(--accent-light);font-size:13px}.order-row-actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.empty-orders{background:var(--bg-surface);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:32px 16px;font-size:13px;display:flex}.quote-preview-modal{width:min(94vw,980px);max-width:980px;max-height:92vh;padding:28px 32px;overflow:auto}.pm-badge{white-space:nowrap;border-radius:12px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.pm-full{color:#10b981;background:#10b98126}.pm-deposit{color:#fbbf24;background:#fbbf2426}.pm-unpaid{color:#94a3b8;background:#94a3b81a}.quote-page-grid{grid-template-columns:minmax(560px,1fr) minmax(360px,.72fr);align-items:start;gap:16px;display:grid}.quote-row-active{background:var(--accent-dim)}.quote-customer-link{color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.quote-customer-link:hover{color:var(--accent-light)}.quote-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.quote-preview-panel{max-height:calc(100vh - 132px);overflow:auto}.quote-preview-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.quote-preview-panel-head .section-title{margin-bottom:4px}.quote-preview-panel-head p{color:var(--text-muted);font-size:12px}.quote-preview-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.customer-picker{width:min(92vw,560px);max-width:560px;padding:28px 32px}.customer-picker-list{flex-direction:column;gap:8px;max-height:360px;margin-top:16px;display:flex;overflow:auto}.customer-picker-row{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.customer-picker-row:hover{background:var(--surface-hover);border-color:var(--border-accent)}.customer-picker-row span{color:var(--text-muted);font-size:12px}@media (width<=1160px){.quote-page-grid{grid-template-columns:1fr}.quote-preview-panel{max-height:none}}.settings-actions{align-items:center;gap:10px;display:flex}.settings-saved{color:var(--success);font-size:12px;font-weight:700}.quote-settings-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.settings-card{min-height:0}.settings-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.settings-item-list,.settings-note-list{flex-direction:column;gap:10px;display:flex}.settings-item-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.settings-item-main{grid-template-columns:minmax(140px,.7fr) minmax(220px,1fr) 80px 120px 58px;align-items:center;gap:8px;display:grid}.settings-tier-panel{border-top:1px dashed var(--border);padding-top:8px}.settings-tier-head{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.settings-tier-list{flex-direction:column;gap:8px;display:flex}.settings-tier-row{grid-template-columns:120px 120px 58px;gap:8px;max-width:340px;display:grid}.settings-note-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:12px}.settings-note-title-row{grid-template-columns:minmax(0,1fr) 58px;gap:8px;margin-bottom:8px;display:grid}.settings-note-textarea{resize:vertical;min-height:128px}@media (width<=760px){.settings-actions,.settings-section-head{flex-direction:column;align-items:stretch}.settings-item-main,.settings-tier-row,.settings-note-title-row{grid-template-columns:1fr;max-width:none}}.inquiry-page .toolbar{margin-top:18px}.inquiry-create{margin-bottom:20px}.inquiry-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.inquiry-section-head h2,.inquiry-section-head h3{margin:0;font-size:20px}.inquiry-section-head p{color:var(--text-muted);margin-top:4px}.inquiry-section-head.compact{align-items:center;margin:22px 0 12px}.inquiry-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.inquiry-form-grid .span-2{grid-column:span 2}.inquiry-checks{color:var(--text-secondary);align-items:center;gap:14px;font-weight:600;display:flex}.inquiry-checks label{align-items:center;gap:6px;display:inline-flex}.inquiry-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.inquiry-list{max-height:74vh;padding:12px;overflow:auto}.inquiry-row{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr;gap:6px 10px;padding:14px;display:grid}.inquiry-row:hover,.inquiry-row.active{background:var(--bg-card-hover);border-color:var(--border-accent)}.inquiry-row strong{grid-column:1/-1;font-size:15px}.inquiry-row span:not(.badge){color:var(--text-secondary)}.inquiry-detail{min-height:620px}.inquiry-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.inquiry-detail-head h2{margin:8px 0 4px;font-size:28px}.inquiry-detail-head p{color:var(--text-muted)}.inquiry-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.inquiry-meta-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.inquiry-meta-grid span{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.inquiry-meta-grid strong{font-size:14px}.estimate-card{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:14px;padding:16px}.estimate-card.needs-review{background:#f59e0b0a;border-color:#f59e0b59}.estimate-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.estimate-card h4{margin:8px 0 2px;font-size:24px}.estimate-card p,.muted-line{color:var(--text-muted)}.estimate-warnings{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.estimate-warnings span{background:var(--warning-dim);color:var(--warning);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.estimate-items{gap:8px;margin-top:12px;display:grid}.estimate-items div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.line-reply-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-base);margin-top:14px;padding:12px}.line-reply-box span{color:var(--text-muted);font-size:12px;font-weight:700}.line-reply-box pre{white-space:pre-wrap;font-family:var(--font-sans);color:var(--text-secondary);margin-top:8px}.inquiry-notice{color:var(--text-muted);margin-top:16px;font-size:13px}.inquiry-empty{color:var(--text-muted)}@media (width<=1100px){.inquiry-layout{grid-template-columns:1fr}.inquiry-form-grid,.inquiry-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.inquiry-form-grid,.inquiry-meta-grid{grid-template-columns:1fr}.inquiry-form-grid .span-2{grid-column:span 1}.inquiry-section-head,.inquiry-detail-head,.estimate-card-head{flex-direction:column}}.project-stat-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.project-stat-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:116px;padding:14px 12px;transition:border-color .15s,background .15s;display:flex}.project-stat-card:hover{background:var(--surface-hover);border-color:var(--border-accent)}.project-stat-card.active{background:var(--accent-dim);border-color:var(--accent)}.project-stat-count{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.project-delete-action{color:var(--danger);margin-right:auto}.project-delete-action:hover:not(:disabled){background:var(--danger-dim)}.project-year-groups{flex-direction:column;gap:22px;display:flex}.project-year-group{flex-direction:column;display:flex}.project-year-toggle{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:10px 16px;transition:background .15s,border-color .15s;display:flex}.project-year-toggle:hover{background:var(--surface-hover);border-color:var(--border-accent)}.project-year-toggle.open{border-color:var(--accent);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.project-year-label{color:var(--text-primary);margin-right:auto;font-size:.88rem;font-weight:700}.project-year-toggle span:not(.project-year-label):not(.project-year-chevron){background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:1px 8px;font-size:13px}.project-year-chevron{color:var(--text-muted);margin-left:0;font-size:.7rem}.project-table th,.project-table td{vertical-align:middle;padding-left:10px;padding-right:10px;line-height:1.35}.project-year-group .table-wrap{overflow-x:hidden}.project-table{table-layout:fixed}.project-col-status{width:10%}.project-col-name{width:16%}.project-col-note{width:14%}.project-col-customer{width:12%}.project-col-money{width:8%}.project-col-profit{width:10%}.project-col-payment{width:9%}.project-col-invoice{width:8%}.project-col-counts{width:5%}.project-table .project-row{align-items:initial;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;grid-template-columns:none;gap:0;padding:0;display:table-row}.project-table .project-row:last-child{border-bottom:0}.project-table .project-row td{display:table-cell}.project-table .project-progress-cell{white-space:normal}.project-progress-detail{color:var(--text-muted);margin-top:5px;font-size:11px;font-weight:700;line-height:1.25;display:block}.project-table .project-item-cell{text-overflow:ellipsis;max-width:280px;font-size:13px;font-weight:400;overflow:hidden}.project-table .td-expense{color:var(--danger);font-weight:700}.project-profit{color:var(--success)}.project-profit strong,.project-profit span{display:block}.project-profit span{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:700}.project-profit.negative,.project-profit.negative span{color:var(--danger)}.project-table .order-customer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:400;display:block;overflow:hidden}.project-table .project-name-cell{text-overflow:ellipsis;color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.project-table .project-note-cell{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-table .td-number,.project-table .td-secondary:last-child{white-space:nowrap}.os-badge{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.os-all{color:var(--text-secondary);background:#64748b21}.os-quote-waiting{color:#0f766e;background:#14b8a624}.os-pending{color:#94a3b8;background:#94a3b826}.os-art-check{color:#60a5fa;background:#60a5fa26}.os-preflight{color:#a78bfa;background:#7c4dff26}.os-proof{color:#fbbf24;background:#fbbf2426}.os-printing{color:#ec4899;background:#ec489926}.os-shipped{color:#38bdf8;background:#0ea5e926}.os-done{color:#10b981;background:#10b98126}.os-cancelled{color:#f87171;background:#f8717126}.payment-progress-wrap{flex-direction:column;gap:3px;display:flex}.project-invoice-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.project-invoice-no{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;display:block;overflow:hidden}.pc-counts{justify-content:space-between;align-items:center;gap:8px;display:flex}.pc-status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.pc-status-active{color:#60a5fa;background:#60a5fa24}.pc-status-completed{color:#10b981;background:#10b98124}.pc-status-hold{color:#fbbf24;background:#fbbf2424}.pc-status-cancelled{color:#f87171;background:#f8717124}.pc-customer,.pc-counts,.project-container-card p{color:var(--text-muted);font-size:13px}.project-customer-select-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.project-customer-select-row--search{align-items:start}.project-customer-picker{flex-direction:column;gap:8px;min-width:0;display:flex}.project-selected-customer{background:#7c4dff14;border:1px solid #7c4dff38;border-radius:8px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.project-selected-customer-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-selected-customer strong{color:var(--text-primary);font-size:14px}.project-selected-customer span,.project-customer-result span,.project-customer-empty{color:var(--text-muted);font-size:12px}.project-selected-customer--readonly{background:var(--bg-surface);border-color:var(--border)}.project-customer-results{border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:260px;display:flex;overflow:auto}.project-customer-result{background:var(--bg-surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.project-customer-result:last-child{border-bottom:0}.project-customer-result:hover,.project-customer-result.active{background:var(--surface-hover)}.project-customer-result.active{box-shadow:inset 3px 0 0 var(--accent)}.project-customer-result strong{color:var(--text-primary);font-size:14px}.project-customer-empty{margin:0;padding:12px}.project-form-modal{width:min(92vw,560px);max-height:92vh;padding:28px 32px;overflow:auto}.expense-modal{width:480px;max-width:96vw;max-height:90vh;animation:slideUp .2s var(--ease,cubic-bezier(.16,1,.3,1));padding:28px;overflow-y:auto}.expense-modal input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.expense-modal input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.expense-modal input[type=number]{appearance:textfield}.expense-form{flex-direction:column;gap:14px;margin-top:16px;display:flex}.expense-form-row{gap:12px;display:flex}.expense-form-row .expense-form-group{flex:1}.expense-form-group{flex-direction:column;gap:4px;display:flex}.expense-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.expense-cat-picker{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.expense-cat-group{align-items:flex-start;gap:8px;display:flex}.expense-cat-group-label{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;min-width:68px;padding-top:4px;font-size:10px;font-weight:800}.expense-cat-items{flex-wrap:wrap;gap:4px;display:flex}.expense-cat-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .12s}.expense-cat-item:hover{background:var(--surface-hover)}.expense-cat-item.selected{font-weight:700}.expense-textarea{resize:vertical;min-height:52px}.expense-modal-actions{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:8px;padding-top:12px;display:flex}.expense-allocation-section{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.expense-allocation-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.expense-allocation-head h3{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:800}.expense-allocation-head p,.expense-allocation-empty{color:var(--text-muted);font-size:12px}.expense-allocation-list{flex-direction:column;gap:10px;display:flex}.expense-allocation-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:10px}.expense-allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.expense-allocation-note-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px;display:grid}.expense-allocation-items{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.expense-allocation-items-head{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:800;display:flex}.expense-allocation-items-empty{background:var(--bg-card);border:1px dashed var(--border);color:var(--text-muted);border-radius:8px;padding:10px;font-size:12px}.expense-allocation-item-list{flex-direction:column;gap:8px;display:flex}.expense-allocation-item-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(170px,1.6fr) 82px 70px 88px 118px 108px 108px 28px;align-items:end;gap:8px;padding:8px;display:grid}.expense-item-field{flex-direction:column;gap:4px;min-width:0;display:flex}.expense-item-field span{color:var(--text-muted);letter-spacing:.04em;font-size:10px;font-weight:800}.expense-item-total{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;min-height:44px;padding:6px 8px}.expense-item-total strong{color:var(--text-primary);text-align:right;font-size:13px;font-weight:800}.expense-item-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;justify-content:center;align-self:end;align-items:center;width:28px;height:40px;font-size:24px;font-weight:800;display:flex}.expense-allocation-add-row{justify-content:flex-end;display:flex}.expense-allocation-status{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.expense-allocation-status.done{color:var(--success)}.expense-allocation-status.over{color:var(--danger)}@media (width>=760px){.expense-modal{width:min(1100px,96vw)}.expense-allocation-grid{grid-template-columns:1fr 1fr 1fr 120px}}@media (width<=980px){.expense-allocation-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-item-name{grid-column:1/-1}.expense-item-remove{justify-self:end}}@media (width<=640px){.expense-form-row,.expense-allocation-note-row{flex-direction:column;display:flex}.expense-allocation-grid,.expense-allocation-item-grid{grid-template-columns:1fr}}.expense-option-chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.expense-option-chip{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.expense-option-chip:hover,.expense-option-chip.selected{color:var(--success);background:#ecfdf7;border-color:#34d3996b}.expense-custom-pay-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.expense-payment-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.expense-payment-status-option{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;gap:4px;min-height:74px;padding:10px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.expense-payment-status-option strong{color:var(--text-primary);font-size:13px;font-weight:800}.expense-payment-status-option span{color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.35}.expense-payment-status-option.pending.selected{background:#fff7ed;border-color:#fb923c8f;box-shadow:0 0 0 1px #fb923c2e}.expense-payment-status-option.paid.selected{background:#ecfdf7;border-color:#34d3997a;box-shadow:0 0 0 1px #34d39929}.expense-payment-status-option.no-payment.selected{border-color:var(--text-muted);background:#f4f6f8;box-shadow:0 0 0 1px #94a3b82e}.expense-paid-date-row{grid-template-columns:auto minmax(0,220px);align-items:center;gap:8px;margin-top:8px;display:grid}.expense-paid-date-row span{color:var(--text-secondary);font-size:12px;font-weight:800}@media (width<=760px){.expense-payment-status-grid,.expense-paid-date-row{grid-template-columns:1fr}}.project-detail-summary{grid-template-columns:minmax(0,1fr) repeat(4,180px);gap:14px;margin-bottom:16px;display:grid}.project-detail-note,.project-detail-kpi{padding:18px 20px}.project-detail-actions,.project-detail-note-head,.project-detail-edit-actions{align-items:center;gap:8px;display:flex}.project-detail-actions,.project-detail-edit-actions{justify-content:flex-end}.project-detail-delete-action{color:var(--danger);margin-right:auto}.project-detail-delete-action:hover:not(:disabled){color:var(--danger);border-color:#ef444466}.project-progress-control{align-items:center;gap:8px;display:flex}.project-progress-control span{color:var(--text-muted);white-space:nowrap;font-size:12px}.project-progress-control .input{min-width:150px}.project-detail-note-head{justify-content:space-between}.project-detail-note p:last-child{color:var(--text-secondary);margin-top:8px;line-height:1.6}.project-detail-edit-form{gap:12px;display:grid}.project-detail-customer-edit{gap:8px}.project-detail-selected-customer{color:var(--text-muted);font-size:12px}.project-detail-selected-customer strong{color:var(--text-primary)}.project-detail-customer-options{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;max-height:180px;padding:6px;display:flex;overflow-y:auto}.project-detail-customer-option{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.project-detail-customer-option:hover{background:var(--surface-hover)}.project-detail-customer-option.active{background:#698e6c1f;border-color:#698e6c5c}.project-detail-customer-option strong{color:var(--text-primary)}.project-detail-customer-option span,.project-detail-customer-empty{color:var(--text-muted);font-size:12px}.project-detail-customer-empty{padding:8px 10px}.project-detail-kpi strong{color:var(--text-primary);margin-top:6px;font-size:32px;display:block}.project-detail-kpi span{color:var(--text-muted);font-size:13px}.project-detail-kpi-with-action{flex-direction:column;gap:10px;display:flex}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-workbench-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.46fr);align-items:start;gap:16px;display:grid}.project-workbench-main{padding:20px}.project-workbench-side{flex-direction:column;gap:16px;display:flex}.project-workbench-empty{min-height:260px}.project-detail-section{padding:20px}.project-detail-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.project-order-title-input{color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:8px;width:100%;max-width:min(520px,100%);margin:-6px 0;padding:6px 8px;font-size:20px;font-weight:700;line-height:1.25}.project-order-title-input:hover,.project-order-title-input:focus{background:var(--bg-surface);border-color:var(--border);outline:none}.project-order-title-state{color:var(--text-muted);margin-top:8px;font-size:12px;display:inline-block}.project-detail-list{flex-direction:column;gap:8px;display:flex}.project-detail-row{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:86px minmax(0,1fr) 92px 110px;align-items:center;gap:10px;padding:12px;display:grid}.project-detail-row:hover{border-color:var(--border-accent)}.project-detail-row strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-detail-row span:last-child{color:var(--success);text-align:right;font-weight:700}.secondary-order-list{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;display:flex}.secondary-order-row{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:86px minmax(0,1fr) 110px;align-items:center;gap:8px;padding:12px;display:grid}.secondary-order-row:hover{border-color:var(--border-accent)}.secondary-order-row strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-side-customer{padding:24px 28px}.project-side-customer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.project-side-customer-link{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:18px;font-weight:700}.project-side-customer-link:hover{color:var(--success);text-decoration:underline}.project-side-tier{color:#fb923c;background:#fb923c1f;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.project-side-customer-actions{flex-wrap:wrap;gap:8px;margin:-8px 0 16px;display:flex}.project-side-customer-picker{gap:8px;margin-bottom:16px;display:grid}.project-side-meta{grid-template-columns:auto minmax(0,1fr);gap:12px;display:grid}.project-side-meta span{color:var(--text-muted);font-size:13px}.project-side-meta strong{color:var(--text-secondary);text-align:right;font-size:13px}.project-side-meta .project-side-revenue{color:var(--success)}.project-side-tabs-card{padding:20px 24px}.project-side-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.project-side-tabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 8px;font-size:14px;font-weight:700}.project-side-tabs button.active{border-bottom-color:var(--success);color:var(--success)}.project-side-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.project-side-panel-head span{color:var(--text-primary);font-size:18px;font-weight:700}.project-side-list{flex-direction:column;gap:12px;display:flex}.project-side-row{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);text-align:left;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.project-side-row.converted,.project-side-row.current{border-left:3px solid var(--success);background:#10b9810d}.project-side-row-main,.project-side-row-meta,.project-side-row-actions{align-items:center;gap:10px;display:flex}.project-side-row-main strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;overflow:hidden}.project-side-row-meta{color:var(--text-muted);justify-content:space-between;font-size:14px}.project-side-row-meta strong{color:var(--text-secondary);font-size:15px;font-weight:800}.project-side-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-side-row-actions .btn{min-width:58px}.project-side-row-actions .danger-btn{color:var(--danger)}.project-side-row-actions .danger-btn:hover{background:var(--danger-dim)}.project-invoice-inline{grid-template-columns:auto minmax(108px,1fr) minmax(120px,1fr);align-items:center;gap:8px;display:grid}.project-invoice-inline .input{min-height:34px;padding:7px 9px;font-size:13px}.project-invoice-select,.project-invoice-date-field{min-width:0}.invoice-badge{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.invoice-muted{color:#64748b;background:#94a3b826}.invoice-warning{color:#d97706;background:#fbbf2429}.invoice-danger{color:#ef4444;background:#f8717126}.invoice-issued{color:#059669;background:#10b98126}.invoice-not-required{color:var(--text-secondary);background:#64748b1f}.billing-badge{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.billing-draft{color:#64748b;background:#94a3b824}.billing-sent{color:#3b82f6;background:#60a5fa24}.billing-paid{color:#10b981;background:#10b98124}.billing-overdue{color:#ef4444;background:#f8717124}@media (width<=1180px){.project-detail-summary,.project-detail-grid,.project-workbench-grid{grid-template-columns:1fr}.project-invoice-inline{grid-template-columns:1fr 1fr}}.project-detail-kpi-cost strong{color:var(--danger);font-size:24px}.project-detail-kpi-profit strong{color:var(--success);font-size:24px}@media (width<=1280px){.project-detail-summary{grid-template-columns:minmax(0,1fr) repeat(2,180px)}}@media (width<=900px){.project-detail-summary{grid-template-columns:1fr}}.project-side-panel-actions{align-items:center;gap:8px;display:flex}.project-side-attach-box{background:var(--bg-surface);border:1px dashed var(--border-accent);border-radius:12px;margin-bottom:12px;padding:12px}.project-side-attach-box p{color:var(--text-muted);margin:0 0 10px;font-size:13px}.project-side-attach-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow-y:auto}.project-side-attach-row{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.project-side-attach-row:hover{border-color:var(--success)}.project-side-attach-row strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-side-attach-row small{color:var(--text-muted);grid-column:2}.project-detail-kpi-clickable{cursor:pointer;font:inherit;text-align:left;width:100%;transition:opacity var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);background:0 0;border:0;margin:0;padding:0;display:block}.project-detail-kpi-clickable:not(:disabled):hover{opacity:.82;transform:translateY(-1px)}.project-detail-kpi-clickable:disabled{cursor:default}.project-expense-add-btn{justify-content:center;width:100%}.expense-detail-modal{flex-direction:column;width:min(640px,94vw);max-height:88vh;padding:22px 24px;display:flex}.expense-detail-list{flex-direction:column;gap:10px;margin-top:12px;display:flex;overflow-y:auto}.expense-detail-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:inherit;text-align:left;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;display:flex}.expense-detail-row-clickable{cursor:pointer;transition:border-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease), background var(--duration-fast) var(--ease)}.expense-detail-row-clickable:hover,.expense-detail-row-clickable:focus-visible{background:var(--surface-hover);border-color:var(--accent);outline:none;transform:translateY(-1px)}.expense-detail-main{flex:1;min-width:0}.expense-detail-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expense-detail-cat{color:var(--accent);background:var(--accent-dim);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.expense-detail-title{color:var(--text-primary);font-size:14px}.expense-detail-open-hint{color:var(--text-muted);margin-left:auto;font-size:11px}.expense-detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;display:flex}.expense-detail-payment-badge{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;line-height:1.2}.expense-detail-payment-badge.pending{color:#ea580c;background:#fff7ed;border-color:#fb923c5c}.expense-detail-payment-badge.paid{color:var(--success);background:#ecfdf7;border-color:#34d3995c}.expense-detail-payment-badge.no-payment{border-color:var(--border);color:var(--text-secondary);background:#f4f6f8}.expense-detail-note{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.5}.expense-detail-items{flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.expense-detail-items li{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:12px;display:flex}.expense-detail-items li span{color:var(--text-muted);white-space:nowrap}.expense-detail-amount{text-align:right;white-space:nowrap}.expense-detail-amount span{color:var(--text-muted);font-size:11px;display:block}.expense-detail-amount strong{color:var(--text-primary);font-size:16px}.billing-badge{white-space:nowrap;font-size:.75rem;font-weight:600}.order-stat-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.order-stat-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:90px;padding:14px 12px;transition:border-color .15s,background .15s;display:flex}.order-stat-card:hover{border-color:var(--border-accent);background:var(--surface-hover)}.order-stat-card.active{border-color:var(--accent);background:var(--accent-dim)}.order-stat-count{color:var(--text-primary);font-size:1.5rem;font-weight:700}.customer-picker-modal{flex-direction:column;width:400px;max-width:94vw;max-height:80vh;padding:24px;display:flex}.customer-picker-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.customer-picker-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .12s;display:flex}.customer-picker-item:hover{background:var(--surface-hover)}.cpicker-name{color:var(--text-primary);font-size:13px;font-weight:600}.cpicker-meta{color:var(--text-muted);font-size:11px}.order-customer-name{-webkit-line-clamp:3;color:var(--text-primary);word-break:break-word;-webkit-box-orient:vertical;min-width:100px;max-width:160px;font-size:13px;font-weight:500;display:-webkit-box;overflow:hidden}.td-primary{color:var(--text-primary);font-size:13px;font-weight:600}.order-year-group{margin-bottom:28px}.order-year-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 4px 8px;font-size:.82rem;font-weight:700}.order-year-toggle{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:10px 16px;transition:background .15s,border-color .15s;display:flex}.order-year-toggle:hover{background:var(--surface-hover);border-color:var(--border-accent)}.order-year-toggle.open{border-color:var(--accent);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.order-year-label{color:var(--text-primary);font-size:.88rem;font-weight:700}.order-year-count{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:1px 8px;font-size:.78rem}.order-year-chevron{color:var(--text-muted);margin-left:auto;font-size:.7rem}.payment-progress-wrap{flex-direction:column;gap:3px;min-width:80px;display:flex}.payment-progress-bar{background:var(--border);border-radius:99px;height:5px;overflow:hidden}.payment-progress-fill{border-radius:99px;height:100%;transition:width .3s}.payment-progress-label{font-size:.72rem;font-weight:600}.marketing-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.marketing-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.marketing-card{min-height:280px}.marketing-card-wide{grid-column:1/-1}.marketing-bars,.opportunity-list{flex-direction:column;gap:14px;display:flex}.marketing-bar-row,.marketing-funnel-row{align-items:center;gap:12px;display:grid}.marketing-bar-row{grid-template-columns:92px minmax(0,1fr) 78px}.industry-opportunity-row{grid-template-columns:120px minmax(0,1fr) 110px}.marketing-funnel-row{grid-template-columns:92px minmax(0,1fr) 40px}.marketing-bar-row span{color:var(--text-secondary);font-size:12px}.marketing-bar-track{background:var(--bg-glass);border-radius:999px;height:8px;overflow:hidden}.marketing-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:999px;height:100%}.marketing-bar-fill-green{background:linear-gradient(90deg, var(--success), #6ee7b7)}.marketing-bar-fill-yellow{background:linear-gradient(90deg, var(--warning), #fde68a)}.marketing-bar-row strong,.marketing-funnel-row strong{color:var(--text-primary);text-align:right;font-size:12px}.tier-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tier-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:16px}.tier-box span{border-radius:999px;margin-bottom:12px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.tier-box strong{color:var(--text-primary);font-size:24px;line-height:1;display:block}.tier-box small{color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.industry-pie-layout{grid-template-columns:188px minmax(0,1fr);align-items:center;gap:18px;min-height:218px;display:grid}.industry-pie{aspect-ratio:1;border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;padding:18px;display:flex}.industry-pie>div{background:var(--bg-card);border:1px solid var(--border);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:104px;height:104px;display:flex}.industry-pie strong{color:var(--text-primary);font-size:28px;line-height:1}.industry-pie span{color:var(--text-muted);margin-top:6px;font-size:12px}.industry-pie-legend{flex-direction:column;gap:8px;display:flex}.industry-pie-row{grid-template-columns:10px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.industry-pie-row i{border-radius:50%;width:10px;height:10px}.industry-pie-row span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.industry-pie-row b{color:var(--text-primary);text-align:right;font-size:12px}.opportunity-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.opportunity-row strong{color:var(--text-primary);margin-bottom:4px;font-size:13px;display:block}.opportunity-row span{color:var(--text-muted);font-size:12px}.opportunity-row b{color:var(--accent-light);flex-shrink:0;font-size:12px}@media (width<=1100px){.marketing-kpi-grid,.marketing-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.marketing-kpi-grid,.marketing-grid,.tier-grid{grid-template-columns:1fr}.marketing-card-wide{grid-column:auto}.marketing-bar-row,.marketing-funnel-row,.industry-opportunity-row,.industry-pie-layout{grid-template-columns:1fr}.industry-pie{width:100%;max-width:220px}.marketing-bar-row strong,.marketing-funnel-row strong{text-align:left}}.mfc{flex-direction:column;gap:10px;display:flex}.mfc-legend{flex-wrap:wrap;gap:16px;display:flex}.mfc-leg{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.mfc-leg i{border-radius:3px;width:12px;height:12px;display:inline-block}.mfc-leg i.mfc-leg-line{border-radius:2px;width:16px;height:3px}.mfc-plot{width:100%;position:relative}.mfc-svg{width:100%;height:auto;display:block;overflow:visible}.mfc-grid{stroke:var(--border);stroke-width:1px}.mfc-baseline{stroke:var(--text-muted);stroke-width:1px}.mfc-ytick{fill:var(--text-muted);font-variant-numeric:tabular-nums;text-anchor:end;font-size:10px;font-weight:700}.mfc-xtick{fill:var(--text-muted);text-anchor:middle;font-size:11px;font-weight:700}.mfc-line{stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.mfc-cross{opacity:.6;stroke:var(--text-muted);stroke-dasharray:3 3;stroke-width:1px}.mfc-band.active{opacity:1}.mfc-tip{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;z-index:5;border-radius:10px;padding:8px 10px;font-size:11px;position:absolute;top:0;transform:translate(-50%)}.mfc-tip-title{color:var(--text-primary);margin-bottom:4px;font-weight:900}.mfc-tip p{color:var(--text-secondary);align-items:center;gap:5px;font-weight:600;display:flex}.mfc-tip strong{color:var(--text-primary);margin-left:auto;font-weight:800}.report-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.report-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 20px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.report-tab:hover{color:var(--text-primary)}.report-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.finance-period-tools{align-items:center;gap:10px;display:flex}.finance-period-tools span{color:var(--text-muted);font-size:13px;font-weight:800}.finance-period-select{appearance:none;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:10px;min-width:150px;padding:10px 34px 10px 14px;font-size:14px;font-weight:800}.finance-period-tools:after{color:var(--text-muted);content:"⌄";pointer-events:none;margin-left:-34px;font-size:18px;font-weight:800}.finance-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.finance-kpi-grid--5{grid-template-columns:repeat(5,1fr)}.finance-growth-list{flex-direction:column;gap:5px;margin:6px 0;display:flex}.finance-growth-row{justify-content:space-between;align-items:baseline;display:flex}.finance-growth-row span{color:var(--text-muted);font-size:12px;font-weight:900}.finance-growth-row strong{color:var(--text-primary);font-size:24px;font-weight:900;line-height:1}.finance-growth-row strong.positive{color:var(--success,#10b981)}.finance-growth-row strong.negative{color:var(--danger,#f87171)}.finance-growth-row strong.neutral{color:var(--text-muted)}.finance-summary{grid-template-columns:1fr;gap:16px;margin-bottom:24px;display:grid}.finance-flow-card{padding:22px 24px}.finance-flow-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:18px;display:flex}.finance-flow-title{color:var(--text-primary);font-size:15px;font-weight:800}.finance-flow-hint{color:var(--text-muted);font-size:12px;font-weight:600}.finance-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;display:grid}.finance-flow-item{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:16px 12px;display:flex}.finance-flow-emoji{font-size:24px;line-height:1}.finance-flow-label{color:var(--text-muted);font-size:12px;font-weight:800}.finance-flow-value{color:var(--text-primary);font-size:26px;font-weight:900;line-height:1.1}.finance-flow-value--income{color:var(--accent-light)}.finance-flow-value--expense{color:var(--danger)}.finance-flow-value--profit{color:var(--success)}.finance-flow-value--loss{color:var(--danger)}.finance-flow-item small{color:var(--text-muted);font-size:11px;font-weight:700}.finance-flow-op{color:var(--text-muted);text-align:center;align-self:center;font-size:26px;font-weight:900}.finance-sub-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.finance-sub-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.finance-sub-emoji{background:var(--bg-surface);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.finance-sub-body{flex:1;min-width:0}.finance-sub-label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:800}.finance-sub-value{color:var(--text-primary);font-size:22px;font-weight:900;line-height:1.1}.finance-sub-hint{color:var(--text-muted);margin-top:6px;font-size:11px;font-weight:700}.finance-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.finance-cash-card{flex-direction:column;gap:18px;margin-bottom:24px;padding:20px;display:flex}.finance-cash-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.finance-cash-subtitle{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.6}.finance-cash-result{flex-direction:column;align-items:flex-end;gap:4px;min-width:180px;display:flex}.finance-cash-result span,.finance-cash-metric span{color:var(--text-muted);font-size:12px;font-weight:800}.finance-cash-result strong{color:var(--text-primary);font-size:30px;font-weight:900;line-height:1.05}.finance-cash-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.finance-cash-metric{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;min-height:104px;padding:12px;display:flex}.finance-cash-metric strong{color:var(--text-primary);font-size:18px;font-weight:900}.finance-cash-metric small{color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.4}.finance-cash-result strong.positive,.finance-cash-metric strong.positive{color:var(--success,#10b981)}.finance-cash-result strong.negative,.finance-cash-metric strong.negative{color:var(--danger,#f87171)}.finance-cash-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.finance-cash-option{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.finance-cash-option input{accent-color:var(--accent);width:16px;height:16px}.finance-cash-option span{color:var(--text-secondary);font-size:13px;font-weight:800}.finance-cash-option strong{color:var(--text-primary);text-align:right;font-size:13px;font-weight:900}.finance-card{min-height:280px}.finance-card-wide{grid-column:1/-1}.finance-bars{flex-direction:column;gap:14px;display:flex}.finance-bars.compact{gap:12px}.finance-bar-row,.finance-status-row{align-items:center;gap:12px;display:grid}.finance-bar-row{grid-template-columns:78px minmax(0,1fr) 96px}.finance-status-row{grid-template-columns:92px minmax(0,1fr) 92px}.finance-bar-label{color:var(--text-secondary);font-size:12px}.finance-bar-track{background:var(--bg-glass);border-radius:999px;height:8px;overflow:hidden}.finance-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:999px;height:100%}.finance-bar-fill-success{background:linear-gradient(90deg, var(--success), #6ee7b7)}.finance-bar-fill-warning{background:linear-gradient(90deg, var(--warning), #fde68a)}.finance-bar-row strong,.finance-status-row strong{color:var(--text-primary);text-align:right;font-size:12px}.finance-table{border-collapse:collapse;width:100%}.finance-table th,.finance-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px 10px;font-size:12px}.finance-table th{color:var(--text-muted);font-weight:600}.finance-table td{color:var(--text-secondary)}.finance-table td:first-child{color:var(--text-primary);font-weight:600}.finance-money{font-weight:700;color:var(--accent-light)!important;text-align:right!important}.finance-money-expense{color:var(--danger,#f87171)!important}.finance-profit-positive{color:var(--success,#10b981)!important}.finance-profit-negative{color:var(--danger,#f87171)!important}.finance-month-rate{font-weight:800;color:var(--text-secondary)!important;text-align:right!important}.finance-selected-month-row td{background:#7ca48014}.finance-empty-cell{color:var(--text-muted)!important;text-align:center!important;padding:18px 10px!important;font-weight:600!important}.finance-revenue-detail-table{margin-top:10px}.finance-revenue-month-row td{background:var(--bg-card)}.finance-revenue-month-row--open td{background:#7ca48014}.finance-month-count{font-weight:800;color:var(--text-primary)!important;text-align:right!important}.finance-detail-toggle-cell{text-align:right!important}.finance-detail-toggle{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:72px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.finance-detail-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.finance-detail-toggle:disabled{cursor:not-allowed;opacity:.45}.finance-detail-toggle span{font-size:14px;line-height:1}.finance-revenue-detail-row td{background:var(--bg-surface)!important;padding:0!important}.finance-revenue-orders{flex-direction:column;gap:0;display:flex}.finance-revenue-order{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 108px 120px;align-items:center;gap:12px;padding:12px 14px 12px 28px;display:grid}.finance-revenue-order:last-child{border-bottom:none}.finance-revenue-order div{min-width:0}.finance-revenue-order strong:first-child{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850;display:block;overflow:hidden}.finance-revenue-order span:not(.os-badge){color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;font-weight:700;display:block;overflow:hidden}.finance-revenue-empty{color:var(--text-muted);margin:0;padding:14px;font-size:12px;font-weight:700}.finance-note{color:var(--text-muted);margin-top:12px;font-size:12px;font-weight:700}.empty-hint{color:var(--text-muted);font-size:13px}@media (width<=1100px){.finance-kpi-grid,.finance-grid,.finance-cash-grid,.finance-cash-options{grid-template-columns:1fr 1fr}.finance-cash-head{flex-direction:column}.finance-cash-result{align-items:flex-start}.finance-period-tools{margin-top:10px}}@media (width<=720px){.finance-kpi-grid,.finance-grid,.finance-cash-grid,.finance-cash-options,.finance-sub-cards,.finance-flow{grid-template-columns:1fr}.finance-flow-op{transform:rotate(90deg)}.finance-card-wide{grid-column:auto}.finance-bar-row,.finance-status-row,.finance-revenue-order{grid-template-columns:1fr}.finance-bar-row strong,.finance-status-row strong,.finance-revenue-order .finance-money{text-align:left!important}.finance-period-tools{flex-direction:column;align-items:stretch;width:100%}.finance-period-tools:after{display:none}.finance-period-select{width:100%}}.price-audit-page .table-wrap{overflow-x:auto}.price-audit-tools{align-items:center;gap:10px;display:flex}.price-audit-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.price-audit-card{flex-direction:column;gap:6px;min-height:110px;padding:18px;display:flex}.price-audit-card span{color:var(--text-muted);font-size:12px;font-weight:800}.price-audit-card strong{color:var(--text-primary);font-size:26px;font-weight:900;line-height:1.1}.price-audit-card small{color:var(--text-muted);font-size:11px;font-weight:700}.price-audit-table th,.price-audit-table td{vertical-align:middle}.price-audit-issue-row td{background:#fbbf240f}.audit-type-badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;display:inline-flex}.audit-type-quote{color:#60a5fa;background:#60a5fa1f}.audit-type-order{color:#10b981;background:#10b9811f}.audit-issue-list{flex-wrap:wrap;gap:6px;min-width:220px;display:flex}.audit-issue-list span{color:#d97706;background:#fbbf2424;border:1px solid #fbbf2452;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}.audit-ok-label{color:var(--text-muted);font-size:12px;font-weight:700}.price-audit-empty{color:var(--text-muted);font-size:13px;font-weight:700;text-align:center!important;padding:24px!important}@media (width<=1100px){.price-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.price-audit-tools{flex-direction:column;align-items:stretch;width:100%}.price-audit-summary{grid-template-columns:1fr}}.egd{flex-wrap:wrap;align-items:center;gap:20px;margin-top:12px;display:flex}.egd-ring{flex-shrink:0;width:168px;height:168px;position:relative}.egd-svg{width:100%;height:100%;display:block}.egd-track{stroke:var(--bg-card-hover)}.egd-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.egd-center-label{color:var(--text-muted);font-size:11px;font-weight:700}.egd-center-value{color:var(--text-primary);font-size:16px;font-weight:900}.egd-legend{flex-direction:column;flex:1;gap:8px;min-width:190px;margin:0;padding:0;list-style:none;display:flex}.egd-legend li{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;display:grid}.egd-dot{border-radius:3px;width:10px;height:10px}.egd-name{color:var(--text-secondary);font-size:12px;font-weight:700}.egd-pct{color:var(--text-primary);font-size:12px;font-weight:900}.egd-amt{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:72px;font-size:11px;font-weight:700}.expense-quick-wrap{margin-bottom:20px;padding:0;overflow:hidden}.expense-quick-toggle{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:14px 20px;display:flex}.expense-quick-toggle-label{color:var(--text-primary);font-size:13px;font-weight:800}.expense-quick-toggle-hint{color:var(--text-muted);margin-left:auto;font-size:12px;font-weight:600}.expense-quick-caret{color:var(--text-muted);transition:transform .18s var(--ease,ease);font-size:14px}.expense-quick-caret.open{transform:rotate(180deg)}.expense-quick-content{border-top:1px solid var(--border);flex-direction:column;gap:18px;padding:16px 20px 18px;display:flex}.expense-quick-block .expense-quick-title{margin-bottom:10px}.expense-fixed-panel{margin-bottom:12px;padding:14px 20px 16px}.expense-fixed-groups{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=1000px){.expense-fixed-groups{grid-template-columns:repeat(2,1fr)}}.expense-fixed-group{border:1px solid;border-radius:10px;padding:10px 12px 12px}.expense-fixed-btns{flex-wrap:wrap;gap:6px;display:flex}.expense-fixed-btn{background:var(--surface-raised);color:var(--text-primary);cursor:pointer;white-space:nowrap;border:1px solid #0000001a;border-radius:8px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;transition:box-shadow .12s,transform .1s;display:flex}.expense-fixed-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.expense-fixed-amt{color:var(--text-muted);background:#0000000f;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:500}.expense-quick-panel{margin-bottom:20px;padding:16px 20px 18px}.expense-quick-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:700}.expense-quick-groups{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=1000px){.expense-quick-groups{grid-template-columns:repeat(2,1fr)}}.expense-quick-group{border:1px solid;border-radius:10px;padding:10px 12px 12px}.expense-quick-group-label{text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;font-size:10px;font-weight:800}.expense-quick-btns{flex-wrap:wrap;gap:5px;display:flex}.expense-quick-btn{cursor:pointer;white-space:nowrap;border:1px solid;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;transition:opacity .12s,transform .1s}.expense-quick-btn:hover{opacity:.75;transform:translateY(-1px)}.expense-kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width<=900px){.expense-kpi-grid{grid-template-columns:repeat(2,1fr)}}.expense-charts-grid{grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=860px){.expense-charts-grid{grid-template-columns:1fr}}.expense-chart-card{padding:20px}.expense-bars{flex-direction:column;gap:8px;margin-top:12px;display:flex}.expense-bar-row{grid-template-columns:72px 1fr 100px;align-items:center;gap:10px;display:grid}.expense-bar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.expense-bar-track{background:var(--bg-surface);border-radius:99px;height:8px;overflow:hidden}.expense-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .3s}.expense-bar-fill-cat{opacity:.85}.expense-bar-row strong{color:var(--text-primary);text-align:right;font-size:12px;font-weight:600}.expense-cat-badge{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.expense-allocation-pill{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.expense-allocation-pill.done{color:var(--success);background:#ecfdf7;border-color:#34d3995c}.expense-payment-badge{border:1px solid var(--border);text-align:center;white-space:nowrap;border-radius:999px;flex-direction:column;gap:1px;min-width:74px;padding:4px 9px;font-size:11px;font-weight:800;line-height:1.15;display:inline-flex}.expense-payment-badge small{color:inherit;opacity:.78;font-size:10px;font-weight:700}.expense-payment-badge.pending{color:#ea580c;background:#fff7ed;border-color:#fb923c5c}.expense-payment-badge.paid{color:var(--success);background:#ecfdf7;border-color:#34d3995c}.expense-payment-badge.no-payment{border-color:var(--border);color:var(--text-secondary);background:#f4f6f8}.expense-payment-inline{border:1px solid var(--border);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:92px;padding:3px 8px;display:inline-flex;position:relative}.expense-payment-inline select{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:center;background:0 0;border:0;outline:none;padding:1px 12px 1px 2px;font-size:11px;font-weight:800;line-height:1.15}.expense-payment-inline:after{content:"";opacity:.58;pointer-events:none;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;top:10px;right:9px}.expense-payment-inline small{color:inherit;opacity:.78;font-size:10px;font-weight:700}.expense-payment-inline .expense-paid-date-inline{width:82px;margin-top:2px}.expense-payment-inline .expense-paid-date-input{color:inherit;opacity:.8;text-align:center;background:0 0;border:0;outline:none;width:100%;min-height:16px;padding:0 16px 0 0;font-size:10px;font-weight:700;line-height:1.15}.expense-payment-inline .expense-paid-date-inline .date-field-toggle{width:14px;min-height:16px;right:0}.expense-payment-inline .expense-paid-date-inline .date-field-toggle svg{width:12px;height:12px}.expense-payment-inline .expense-paid-date-inline .date-field-popover{z-index:120;top:calc(100% + 6px);left:-82px}.expense-payment-inline.pending{color:#ea580c;background:#fff7ed;border-color:#fb923c5c}.expense-payment-inline.paid{color:var(--success);background:#ecfdf7;border-color:#34d3995c}.expense-payment-inline.no-payment{border-color:var(--border);color:var(--text-secondary);background:#f4f6f8}.expense-payment-inline:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.expense-payment-inline:has(select:disabled){opacity:.62}.login-page{background:radial-gradient(circle at 20% 20%, var(--accent-dim), transparent 32%), var(--bg-base);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.login-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), var(--shadow-accent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a1e2ed1;width:100%;max-width:420px;padding:32px}.login-brand{align-items:center;gap:14px;margin-bottom:28px;display:flex}.login-logo{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:27px;font-weight:800;display:flex}.login-brand h1{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.login-brand p{color:var(--text-muted);margin-top:4px;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-error{background:var(--danger-dim);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #f871713d;padding:10px 12px;font-size:13px;line-height:1.5}.login-submit,.login-fallback{justify-content:center;width:100%;min-height:40px}.login-copy{flex-direction:column;gap:6px;margin-bottom:2px;display:flex}.login-copy h2{color:var(--text-primary);margin:0;font-size:18px;line-height:1.3}.login-copy p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.login-success{border-radius:var(--radius-sm);color:var(--success);background:#4ade801f;border:1px solid #4ade803d;padding:10px 12px;font-size:13px;line-height:1.5}.login-link-row{justify-content:center;margin-top:-6px;display:flex}.login-text-button{color:var(--accent-light);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 8px;font-size:13px}.login-text-button:hover{color:var(--accent);text-decoration:underline}
