*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#111827;color:#e5e7eb;padding:24px 18px;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#2563eb;color:#fff;font-weight:800}.brand small,.eyebrow,.topbar-title p,.empty-state p{color:#6b7280}.brand small{display:block;color:#9ca3af}.nav-section{margin-top:24px}.nav-section p{letter-spacing:.08em;margin:0 0 10px;color:#cbd5e1;font-size:11px;font-weight:800;text-transform:uppercase;-webkit-user-select:none;user-select:none}.nav-link{display:block;padding:9px 10px;border-radius:7px;color:#d1d5db}.nav-link.active,.nav-link:hover{background:#1f2937;color:#fff}.main-panel{padding:0 28px 28px;overflow-x:hidden}.topbar,.page-header,.section-heading,.button-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-actions,.page-action-row,.action-row-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.form-actions{margin-top:18px}.form-actions-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.form-actions-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.form-actions .secondary-button,.form-actions .ghost-button{margin-right:auto}.page-action-row{margin-bottom:18px}.topbar{align-items:flex-start;background:#fffffff5;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #0f172a0a;flex-wrap:wrap;margin:0 -28px 24px;padding:20px 28px 18px}.topbar-title{flex:1 1 320px;min-width:0}.topbar-title h1{margin:0;font-size:26px;line-height:1.2}.topbar-title p{margin:6px 0 0;font-size:14px;line-height:1.45;max-width:760px;overflow-wrap:anywhere}.topbar-actions{align-items:center;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:min(100%,320px)}.user-chip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:2px;padding:8px 11px;text-align:right}.user-chip strong{color:#172033;font-size:13px}.user-chip span,.user-chip small{color:#6b7280;font-size:12px}.user-chip small{text-transform:capitalize}.language-switcher{background:#e5e7eb;border-radius:8px;display:inline-flex;padding:3px}.language-switcher button{background:transparent;border:0;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:800;min-height:30px;padding:6px 9px}.language-switcher button.active{background:#fff;color:#111827}.eyebrow{margin:0 0 4px;font-size:13px;font-weight:700;text-transform:uppercase}.page-header{margin-bottom:18px}.page-header.page-actions{justify-content:flex-end}.primary-button,.secondary-button,.ghost-button,.danger-button{border:1px solid transparent;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;font-weight:700}.primary-button{background:#2563eb;border-color:#2563eb;color:#fff}.secondary-button{background:#fff;border-color:#d1d5db;color:#374151}.ghost-button{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.danger-button{background:#fff;border-color:#fecaca;color:#991b1b}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.small-button{font-size:13px;min-height:32px;padding:6px 11px}.muted-line{display:block;margin-top:3px;color:#64748b;font-size:12px}.flash{margin-bottom:16px;padding:12px 14px;border-radius:7px}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.flash.warning{background:#fef3c7;color:#92400e}.stats-grid,.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-card,.detail-card,.table-card,.form-card,.empty-state{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.stat-card{padding:22px}.stat-card span{color:#6b7280;display:block}.stat-card strong{display:block;font-size:34px;margin-top:8px}.dashboard-page{display:grid;gap:14px}.dashboard-priority-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start}.dashboard-section{padding:12px}.dashboard-section h3{font-size:14px;margin-bottom:6px}.dashboard-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-bottom:8px}.dashboard-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0}.dashboard-metric-compact{display:block;min-height:42px;padding:6px 10px 7px;text-decoration:none}.dashboard-metric-label{color:#64748b;display:block;font-size:11px;line-height:1.2}.dashboard-metric-value{color:#111827;display:block;font-size:20px;line-height:1.1;margin-top:2px}.table-card{overflow-x:auto}.table-card.flat{border:0;box-shadow:none}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:12px 14px;text-align:left;vertical-align:top}th{background:#f9fafb;color:#374151;font-size:13px;text-transform:uppercase}.actions{display:flex;gap:10px;white-space:nowrap}.table-actions{align-items:center;display:flex;gap:8px;white-space:nowrap}.table-actions.stacked-actions{align-items:flex-start;flex-direction:column;white-space:normal}.cell-stack{display:grid;gap:4px;max-width:280px;min-width:0}.cell-title{display:block;font-weight:700;line-height:1.35}.table-primary-link{color:inherit;font-weight:700;text-decoration:none}.table-primary-link:hover{color:#111827;text-decoration:underline;text-underline-offset:3px}a.cell-title{color:inherit;text-decoration:none}a.cell-title:hover{color:#111827;text-decoration:underline;text-underline-offset:3px}.cell-meta{color:#64748b;display:block;font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.cell-muted{color:#64748b;display:block;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.stacked-sections{display:grid;gap:16px}.progress-summary{display:grid;gap:10px;margin-bottom:14px}.progress-track{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:#2563eb;height:100%;transition:width .16s ease}.production-queue-table table{min-width:1180px}.production-queue-table td{white-space:normal}.production-queue-table .readiness-cell{max-width:340px}.actions a:not(.small-button),.actions button:not(.small-button){border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#374151;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;font-size:13px;font-weight:700}.form-card,.detail-card,.empty-state{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{color:#374151;display:grid;gap:7px;font-weight:700}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#172033;min-height:40px;padding:8px 10px;width:100%}select:not(:disabled){opacity:1}input:disabled,select:disabled,textarea:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}textarea{resize:vertical}.span-2{grid-column:span 2}.checkbox-row{align-items:center;display:flex;gap:10px}.checkbox-row input{min-height:auto;width:auto}.checkbox-list{display:grid;gap:6px;margin-top:8px}.role-option-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.role-option{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:10px;padding:12px}.role-option input{margin-top:3px;min-height:auto;width:auto}.role-option span{display:grid;gap:3px}.role-option small{color:#6b7280;line-height:1.35}.assignment-form{align-items:end;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(260px,1fr) auto auto auto;margin-bottom:18px;padding:14px}.assignment-table{margin-top:8px}.status-badge{background:#e5e7eb;border-radius:999px;color:#374151;display:inline-flex;font-size:12px;font-weight:800;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.status-badge.required{background:#dbeafe;color:#1e40af}.status-badge.active{background:#dcfce7;color:#166534}.switch-field{align-items:center;display:grid;gap:6px;justify-items:start}.switch-field input{height:1px;opacity:0;position:absolute;width:1px}.switch-track{background:#d1d5db;border-radius:999px;display:inline-flex;height:24px;padding:3px;transition:background .15s ease;width:46px}.switch-thumb{background:#fff;border-radius:999px;box-shadow:0 1px 2px #0f172a38;height:18px;transform:translate(0);transition:transform .15s ease;width:18px}.switch-field input:checked+.switch-track{background:#2563eb}.switch-field input:checked+.switch-track .switch-thumb{transform:translate(22px)}.switch-field strong{color:#374151;font-size:13px}.form-section{border-top:1px solid #e5e7eb;margin-top:22px;padding-top:18px}.form-section.first-section{border-top:0;margin-top:18px;padding-top:0}.contained-form{margin:0 auto;max-width:1160px}.form-section-card{border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;padding:16px}.form-section-card:first-child{margin-top:0}.form-section-card h3{color:#111827;font-size:16px;margin:0 0 4px}.toggle-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.toggle-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.toggle-copy{display:grid;gap:3px}.toggle-copy strong{color:#172033;font-size:13px}.toggle-copy small,.form-help{color:#64748b;font-size:12px;font-weight:500;line-height:1.4}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.metric-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:4px;padding:12px}.metric-card strong{color:#111827;font-size:18px}.metric-card span{color:#64748b;font-size:12px;font-weight:700}.filter-bar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:14px}.drawer-overlay{background:#0f172a59;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .16s ease;z-index:40}.drawer-overlay.is-open{opacity:1;pointer-events:auto}.drawer-panel{background:#fff;border-left:1px solid #e5e7eb;bottom:0;box-shadow:-8px 0 24px #0f172a1f;display:flex;flex-direction:column;max-width:100vw;overflow-y:auto;padding:24px;position:fixed;right:0;top:0;transform:translate(100%);transition:transform .2s ease;width:440px;z-index:50}.drawer-panel.is-open{transform:translate(0)}.table-card-dense th,.table-card-dense td{padding:8px 12px}.warehouse-stock-table table{table-layout:auto}.warehouse-stock-table .warehouse-name-column,.warehouse-stock-table .warehouse-name-cell{min-width:18rem;width:auto}.warehouse-stock-table .warehouse-name-cell .cell-stack{max-width:none;width:100%}.warehouse-stock-table .compact-column,.warehouse-stock-table .actions-column,.warehouse-stock-table .quantity-column{width:1%;white-space:nowrap}.warehouse-stock-table .quantity-cell{white-space:nowrap}.warehouse-stock-table .quantity-cell,.warehouse-stock-table .quantity-column{text-align:right}.warehouse-stock-table .quantity-cell .cell-stack{justify-items:end;max-width:none}.inventory-catalog-table table{table-layout:auto}.inventory-catalog-table .inventory-name-column,.inventory-catalog-table .inventory-name-cell{min-width:18rem;width:auto}.inventory-catalog-table .inventory-name-cell .cell-stack{max-width:none;width:100%}.inventory-catalog-table .compact-column,.inventory-catalog-table .actions-column{width:1%;white-space:nowrap}.inventory-catalog-table .inventory-stock-column,.inventory-catalog-table .inventory-stock-cell{width:1%}.inventory-catalog-table .inventory-stock-cell{min-width:14rem;white-space:nowrap}.inventory-catalog-table .inventory-stock-cell .cell-stack{max-width:none}.truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sku-column{width:1%;white-space:nowrap}.sku-cell{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.type-material{background:#e0e7ff;color:#3730a3}.status-badge.type-component{background:#d1fae5;color:#065f46}.status-badge.type-assembly{background:#fef3c7;color:#92400e}.status-badge.type-finished_good{background:#dbeafe;color:#1e40af}.status-badge.type-spare_part{background:#fce7f3;color:#9f1239}.status-badge.type-service_kit{background:#e0f2fe;color:#075985}.status-badge.type-consumable{background:#f3f4f6;color:#374151}.row-actions{display:flex;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .12s ease}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1}.icon-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.icon-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.muted-text{color:#64748b;font-size:.875rem;margin:0 0 14px}.danger-text{color:#b91c1c}.checkbox-line{align-items:center;display:flex;gap:8px}.checkbox-line input{width:auto}.calendar-layout{display:grid;gap:18px;grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.calendar-month-title{color:#111827;font-size:18px;font-weight:700;margin-bottom:14px;text-transform:capitalize}.task-calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{color:#64748b;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.calendar-day{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;min-height:84px;padding:10px;text-align:left}.calendar-day:hover,.calendar-day.active{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.calendar-day.muted{background:#f8fafc;color:#94a3b8}.calendar-day-number{display:block;font-weight:700;margin-bottom:8px}.calendar-day-count{color:#64748b;display:block;font-size:12px}.calendar-event-list{display:grid;gap:10px}.calendar-event{align-items:flex-start;border:1px solid #e5e7eb;border-radius:8px;color:inherit;display:flex;gap:10px;justify-content:space-between;padding:10px;text-decoration:none}.calendar-event:hover{border-color:#2563eb}.segmented-control{background:#f1f5f9;border:1px solid #dbe4ef;border-radius:8px;display:inline-flex;gap:4px;padding:4px}.segmented-control button{background:transparent;border:0;border-radius:6px;color:#475569;cursor:pointer;font-weight:700;padding:8px 12px}.segmented-control button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0f172a14}.resource-calendar-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.resource-column{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;min-height:220px;padding:12px}.resource-column h4{color:#111827;font-size:14px;margin:0 0 10px}.section-heading-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.recipe-panel{align-items:center;background:#f8fafc;border:1px solid #dbe4ef;border-radius:8px;display:flex;gap:18px;justify-content:space-between;padding:18px}.recipe-panel h3{color:#111827;font-size:20px;margin:0 0 6px}.recipe-flow{align-items:center;color:#334155;display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:8px;justify-content:flex-end}.recipe-flow span{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 9px}.recipe-input-table select,.recipe-input-table input{min-width:150px}.recipe-summary-card,.recipe-output-card,.recipe-inputs-card{border-color:#dbe4ef}.technology-steps-card{background:#fcfcfd}.form-section h3,.detail-card h3{margin:0 0 14px}.form-error{color:#b91c1c;font-size:13px;font-weight:600}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dl{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;margin:0 0 18px}dt{color:#6b7280}dd{margin:0}.plain-list{margin:0;padding-left:18px}.line-item{align-items:start;border:1px solid #e5e7eb;border-radius:8px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:12px;margin-top:12px;padding:12px}.line-total{align-self:end;font-weight:800;padding-bottom:10px;white-space:nowrap}.quote-item-card{border:1px solid #e5e7eb;border-radius:8px;margin-top:14px;padding:14px}.quote-lines-table{margin-top:12px}.quote-lines-table table{min-width:1160px}.quote-lines-table td{background:#fff}.quote-lines-table input,.quote-lines-table select,.quote-lines-table textarea{font-size:13px;min-width:110px}.quote-lines-table textarea{min-width:180px}.quote-form{display:grid;gap:18px}.quote-form .detail-card h3{margin-bottom:14px}.quote-show-actions{flex-wrap:wrap}.quote-brand-header{align-items:start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:18px;grid-template-columns:minmax(220px,1fr) minmax(360px,auto);margin-bottom:18px;padding:18px 20px}.quote-brand-header.public{margin-bottom:18px}.quote-brand{display:grid;gap:4px;justify-items:start}.quote-brand img{display:block;max-height:76px;max-width:260px;object-fit:contain}.quote-brand strong{color:#172033;font-size:24px;letter-spacing:.02em}.quote-brand span,.quote-brand p{color:#6b7280;margin:0}.quote-meta{align-items:start;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(100px,auto));justify-content:end;text-align:right}.quote-meta div{display:grid;gap:3px}.quote-meta span{color:#6b7280;font-size:12px;font-weight:600}.quote-meta strong{color:#374151;font-size:14px;font-weight:700;white-space:nowrap}.quote-customer{display:grid;gap:4px;justify-items:end;text-align:right}.quote-customer>span{color:#6b7280;font-size:12px;font-weight:600}.quote-customer strong{color:#172033;font-size:16px;font-weight:800}.quote-customer small{color:#6b7280;font-size:13px}.quote-accept-button,.quote-accepted-note{grid-column:1 / -1;justify-self:end}.nowrap{white-space:nowrap}.quote-item-header,.quote-line-row{align-items:center;display:flex;gap:14px;justify-content:space-between}.quote-item-header h4{margin:0}.quote-item-grid{display:grid;grid-template-columns:2fr 1.4fr 110px 90px 130px 150px 100px;gap:12px;margin-top:12px}.quote-line-row{border-bottom:1px solid #e5e7eb;padding-bottom:10px}.quote-line-row div{display:grid;gap:3px;min-width:0}.quote-line-row span{color:#374151}.quote-modules-section{border-left:3px solid #d1d5db;margin:14px 0 0 14px;padding-left:14px}.quote-modules-title{color:#6b7280;font-size:13px;font-weight:800;margin:12px 0 8px;text-transform:uppercase}.quote-module-list{display:grid;gap:8px}.quote-module-suggestions{background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;padding:10px}.quote-module-suggestion-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:7px;display:grid;gap:10px;grid-template-columns:1.6fr 80px 120px auto auto;padding:9px 10px}.quote-module-suggestion-row.included{grid-template-columns:minmax(220px,1fr) 110px 70px 130px}.quote-module-suggestion-row.selectable{cursor:pointer;grid-template-columns:auto minmax(220px,1fr) 110px 70px 130px 140px}.quote-module-suggestion-row div{display:grid;gap:3px}.quote-module-suggestion-row span{color:#374151}.quote-module-row{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;display:grid;gap:10px;grid-template-columns:auto 1.4fr 1fr 80px 100px 120px auto 1fr;padding:9px 10px}.quote-module-badge{background:#e5e7eb;border-radius:999px;color:#374151;font-size:12px;font-weight:800;padding:4px 8px;text-transform:uppercase}.quote-group-title{color:#374151;font-size:14px;font-weight:800;margin:18px 0 0;text-transform:uppercase}.quote-status{text-transform:uppercase}.quote-status.draft,.quote-status.sent,.quote-status.viewed{background:#e5e7eb;color:#374151}.quote-status.accepted{background:#dcfce7;color:#166534}.quote-status.changes_requested,.quote-status.change_requested{background:#fef3c7;color:#92400e}.quote-status.revised_sent{background:#e5e7eb;color:#374151}.quote-status.production_blocked,.quote-status.deposit_pending,.quote-status.pending,.quote-status.overdue{background:#fef3c7;color:#92400e}.quote-status.overdue{background:#fee2e2;color:#991b1b}.quote-status.deposit_paid,.quote-status.partially_paid{background:#dbeafe;color:#1e40af}.quote-status.paid{background:#dcfce7;color:#166534}.quote-status.no_milestones,.quote-status.waived{background:#e5e7eb;color:#374151}.quote-status.production_unlocked,.quote-status.in_production{background:#dcfce7;color:#166534}.quote-status.rejected,.quote-status.expired{background:#fee2e2;color:#991b1b}.quote-status.archived{background:#f3f4f6;color:#6b7280}.quote-document .detail-card{overflow:hidden;padding:0}.quote-document .detail-card>h3{background:#18181b;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0;padding:12px 16px;text-transform:uppercase}.quote-document .detail-card>dl,.quote-document .detail-card>p,.quote-document .detail-card>.quote-summary,.quote-document .detail-card>.quote-section-card,.quote-document .detail-card>.flash,.quote-document .detail-card>.quote-notes-content{margin:16px}.quote-document .detail-card>.quote-section-card+.quote-section-card{margin-top:16px}.quote-section-card,.quote-ungrouped-section{margin-top:16px}.quote-section-card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden}.quote-section-title{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#172033;font-size:15px;font-weight:800;padding:12px 14px}.quote-product-header{align-items:stretch;background:#fff;border-bottom:1px solid #e5e7eb;display:grid;gap:18px;grid-template-columns:minmax(260px,1fr) minmax(260px,auto);padding:14px}.quote-offer-summary{align-items:start;background:#27272a;border-bottom:0;display:grid;gap:18px;grid-template-columns:minmax(260px,1fr) minmax(420px,auto);padding:18px 20px}.quote-offer-product{display:grid;gap:4px;min-width:0}.quote-offer-product strong{color:#fff;font-size:17px;font-weight:800}.quote-offer-product span,.quote-offer-product p{color:#d4d4d8;margin:0}.quote-offer-prices{display:grid;gap:12px;grid-template-columns:90px 180px 160px;text-align:right}.quote-offer-prices div{display:grid;gap:4px}.quote-offer-prices span{color:#d4d4d8;font-size:12px;font-weight:600}.quote-offer-prices strong{color:#f4f4f5;font-weight:700;white-space:nowrap}.quote-offer-prices div:last-child strong{color:#fff;font-size:18px;font-weight:800}.quote-product-header>div{display:grid;gap:4px;min-width:0}.quote-product-header span{color:#374151}.quote-product-main strong{color:#172033;font-size:16px}.quote-product-main p{color:#374151;margin:2px 0 0}.quote-product-pricing{align-content:start;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(120px,auto))}.quote-product-pricing div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;display:grid;gap:4px;padding:10px 12px}.quote-product-pricing span{color:#6b7280;font-size:12px;font-weight:800;text-transform:uppercase}.quote-product-pricing strong{text-align:right;white-space:nowrap}.quote-module-display{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:2px 14px 12px}.quote-price-composition{background:#fff;display:grid;gap:10px;padding:14px 20px 18px}.quote-price-composition h4,.quote-price-composition h5{color:#6b7280;margin:0}.quote-price-composition h4{font-size:13px;font-weight:600}.quote-price-composition h5{font-size:12px;font-weight:600}.quote-composition-group{display:grid;gap:8px}.quote-unit-configuration{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;gap:10px;padding:12px 14px 14px}.quote-unit-configuration .quote-module-display{border-bottom:0;padding:0}.quote-modules-title.compact{margin-bottom:0;margin-top:2px}.quote-price-line{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) 180px;padding:4px 0}.quote-price-line>span{color:#4b5563;font-size:13px}.quote-price-line.muted span{color:#4b5563;font-size:13px}.quote-price-line>strong{color:#172033;font-size:13px;font-weight:600;text-align:right;white-space:nowrap}.quote-module-display-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:7px;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) 120px;margin-top:8px;padding:9px 10px}.quote-module-display-row.priced{grid-template-columns:minmax(220px,1fr) 180px}.quote-module-display-row>div{display:grid;gap:3px;min-width:0}.quote-module-display-row span{color:#374151}.quote-module-display-row>span:not(.quote-module-badge),.quote-module-display-row>strong{text-align:right;white-space:nowrap}.quote-included-list{display:grid;gap:8px;list-style:disc;margin:0;padding-left:18px}.quote-included-list.compact{gap:6px}.quote-included-list li{color:#6b7280;font-size:12px}.quote-paid-additions{display:grid;gap:2px}.quote-final-unit-price{align-items:center;border-top:1px solid #edf0f3;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) 180px;margin-top:2px;padding-top:10px}.quote-final-unit-price span{color:#172033;font-size:13px;font-weight:700}.quote-final-unit-price strong{color:#172033;font-size:15px;font-weight:700;text-align:right;white-space:nowrap}.quote-included-list span{display:block}.quote-included-list small{color:#6b7280;display:block;margin-top:2px}.quote-lines-grid{display:grid;grid-template-columns:minmax(260px,1fr) 110px 90px 150px 150px}.quote-lines-head{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:12px;font-weight:800;padding:10px 12px;text-transform:uppercase}.quote-lines-row{display:contents}.quote-lines-row>*{border-bottom:1px solid #e5e7eb;padding:12px}.quote-lines-row>div{display:grid;gap:4px}.quote-lines-row.component>*{background:#f9fafb;color:#374151}.quote-lines-row.component>div{padding-left:28px}.quote-lines-row.primary strong:first-child{color:#172033}.quote-component-label{color:#6b7280;font-size:12px;font-weight:800;text-transform:uppercase}.numeric{text-align:right;white-space:nowrap}.quote-section-subtotal{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(150px,auto);justify-content:end;padding:12px 14px}.quote-section-subtotal span{color:#374151}.quote-section-subtotal strong{text-align:right}.quote-add-row{display:flex;justify-content:flex-start;margin-top:14px}.quote-module-row.readonly{grid-template-columns:1.4fr 1fr 1fr 1fr}.quote-module-checkbox{min-height:auto;width:auto}.quote-module-checkbox-label{align-items:center;display:flex;gap:0;justify-content:center}.quote-group-suggestions{display:flex;flex-wrap:wrap;gap:6px}.quote-group-suggestions button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:999px;color:#374151;cursor:pointer;font-size:12px;font-weight:700;min-height:28px;padding:4px 9px}.quote-item-summary,.quote-summary{display:grid;gap:8px;justify-content:end;margin-top:14px}.quote-item-summary{grid-template-columns:auto minmax(130px,auto)}.quote-summary{border-top:1px solid #e5e7eb;grid-template-columns:auto minmax(150px,auto);padding-top:14px}.detail-card>.quote-summary{border-top:0;margin-top:0;padding-top:0}.quote-summary div{display:contents}.quote-summary .quote-eur-conversion{border-top:1px solid #e5e7eb;display:grid;gap:3px;grid-column:1 / -1;justify-items:end;margin-top:6px;padding-top:10px}.quote-summary .quote-eur-conversion strong{color:#374151;font-size:15px;font-weight:700}.quote-summary .quote-eur-conversion span{color:#6b7280;font-size:12px}.quote-accepted-note{background:#dcfce7;border-radius:7px;color:#166534;font-size:14px;font-weight:700;padding:9px 12px}.quote-item-summary strong,.quote-summary strong,.quote-module-row strong,.quote-line-row strong:last-child{text-align:right}.empty-state{text-align:center}.guest-shell{align-items:center;display:grid;min-height:100vh;padding:28px;place-items:center}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 30px #0f172a14;display:grid;gap:20px;max-width:460px;padding:28px;width:100%}.auth-brand{align-items:center;display:flex;gap:12px}.auth-brand small,.auth-heading p{color:#6b7280}.auth-brand small{display:block}.auth-heading h1{margin:0}.auth-heading p{margin:6px 0 0}.auth-form{display:grid;gap:16px}.public-quote{margin:0 auto;max-width:1180px}@media print{body{background:#fff}.sidebar,.topbar,.page-header,.no-print{display:none!important}.app-shell{display:block;min-height:auto}.main-panel{padding:0}.detail-grid{display:block}.detail-card,.table-card{border:1px solid #d1d5db;box-shadow:none;break-inside:avoid;margin-bottom:14px}.quote-document .detail-card>h3{background:#111827!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}a{text-decoration:none}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.stats-grid,.detail-grid,.dashboard-priority-grid,.dashboard-grid-compact,.form-grid,.line-item,.assignment-form,.calendar-layout,.quote-brand-header,.quote-meta,.quote-customer,.topbar-actions,.quote-item-grid,.quote-module-suggestion-row,.quote-module-row,.quote-module-row.readonly{grid-template-columns:1fr}.dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-line-row,.quote-item-header{align-items:flex-start;flex-direction:column}.quote-lines-grid{display:block}.quote-meta,.quote-customer,.user-chip,.quote-accept-button,.quote-accepted-note{justify-self:stretch;text-align:left}.quote-customer{justify-items:start}.quote-product-header,.quote-offer-summary,.quote-offer-prices,.quote-price-line,.quote-final-unit-price,.quote-module-display-row,.quote-module-display-row.priced,.quote-product-pricing{grid-template-columns:1fr}.quote-product-pricing strong,.quote-offer-prices,.quote-offer-prices strong,.quote-price-line>strong,.quote-final-unit-price strong,.quote-module-display-row>span:not(.quote-module-badge),.quote-module-display-row>strong{text-align:left}.quote-lines-head{display:none}.quote-lines-row{display:grid;gap:6px;padding:12px}.quote-lines-row>*{border-bottom:0;padding:0}.quote-lines-row.component>div{padding-left:12px}.numeric{text-align:left}.span-2{grid-column:span 1}}@media (max-width: 768px){.row-actions{opacity:1}}@media (max-width: 640px){.drawer-panel{width:100vw}}
