@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Work+Sans:wght@300;400;500;600;700&display=swap";.integrations-dropdown{position:relative;display:inline-flex}.integrations-trigger{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:6px;transition:background-color .15s ease}.integrations-trigger:hover{background-color:#0000000d}.integrations-trigger svg{color:var(--color-text-secondary, #666)}.integrations-trigger:hover svg{color:var(--color-text-primary, #333)}.integrations-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.integrations-menu-header{padding:12px 16px;border-bottom:1px solid var(--color-border, #e0e0e0);font-weight:600;font-size:.875rem;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.05em}.integrations-menu-items{padding:8px 0}.integration-item{display:flex;align-items:center;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background-color .15s ease;gap:12px}.integration-item:hover:not(.disabled){background-color:var(--color-bg-hover, #f5f5f5)}.integration-item.disabled{cursor:not-allowed;opacity:.6}.integration-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background-color:var(--color-bg-secondary, #f0f0f0);color:var(--color-text-secondary, #666);flex-shrink:0}.integration-item:hover:not(.disabled) .integration-icon{background-color:var(--color-primary-light, #e8f0fe);color:var(--color-primary, #1a73e8)}.integration-info{flex:1;min-width:0}.integration-name{display:flex;align-items:center;gap:8px;font-weight:500;font-size:.9375rem;color:var(--color-text-primary, #333)}.coming-soon{font-size:.6875rem;font-weight:500;padding:2px 6px;border-radius:4px;background-color:var(--color-warning-light, #fff3e0);color:var(--color-warning, #e65100);text-transform:uppercase}.integration-description{display:block;font-size:.8125rem;color:var(--color-text-secondary, #666);margin-top:2px}.integration-arrow{color:var(--color-text-tertiary, #999);flex-shrink:0}.integration-item:hover:not(.disabled) .integration-arrow{color:var(--color-primary, #1a73e8)}.company-gantt{margin-top:1rem;overflow-x:hidden;min-width:0;width:100%;flex:0 0 auto}.company-gantt-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;width:100%;max-width:100%;min-width:0;overflow:hidden}.company-gantt-header h4{margin:0}.company-gantt-view-toggle,.company-gantt-date-filter{display:flex;gap:2px;background:var(--border-light, #f0ece4);border-radius:6px;padding:2px}.gantt-view-btn{background:none;border:none;cursor:pointer;padding:4px 12px;font-size:.78rem;border-radius:4px;color:var(--text-muted, #6b7280);font-weight:500;transition:background .15s,color .15s}.gantt-view-btn:hover{color:var(--text, #1f2937);background:#0000000a}.gantt-view-btn--active{background:var(--surface, #fff);color:var(--rust, #b45a3c);box-shadow:0 1px 3px #00000014}.company-gantt-metrics{display:flex;gap:1rem;font-size:.8rem;color:var(--text-muted, #6b7280)}.company-gantt-metrics .metric{display:flex;align-items:center;gap:.25rem}.company-gantt-metrics .conflict-badge{background:#fee2e2;color:#dc2626;padding:2px 8px;border-radius:10px;font-weight:600;font-size:.75rem}.company-gantt-container::-webkit-scrollbar{height:10px}.company-gantt-container::-webkit-scrollbar-track{background:#f5f0e8;border-radius:5px}.company-gantt-container::-webkit-scrollbar-thumb{background:#c4b5a0;border-radius:5px;border:2px solid #f5f0e8}.company-gantt-container::-webkit-scrollbar-thumb:hover{background:#a89880}.company-gantt-container{overflow-x:auto;min-width:0;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c4b5a0 #f5f0e8}.company-gantt-scroll{border:1px solid var(--border, #e5e0d8);border-radius:.5rem;background:var(--surface, #fff);overflow:hidden;min-width:1020px}.company-gantt-timeline-header{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--border, #e5e0d8);background:var(--surface-alt, #f9f7f4);position:sticky;top:0;z-index:5}.company-gantt-timeline-header .label-col{padding:.5rem 1rem;font-weight:600;font-size:.85rem;border-right:1px solid var(--border, #e5e0d8);display:flex;align-items:center}.company-gantt-timeline-header .timeline-col{position:relative;height:44px;min-width:800px}.company-gantt-rows{min-width:fit-content}.company-gantt-row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--border-light, #f0ece4);transition:background .1s}.company-gantt-row:hover{background:#00000004}.company-gantt-row--job{min-height:40px;background:var(--surface-alt, #f9f7f4);font-weight:500}.company-gantt-row--scope{min-height:36px}.company-gantt-row--member{min-height:32px}.company-gantt-member-group{border-top:2px solid var(--border, #e5e0d8)}.company-gantt-member-group:first-child{border-top:none}.company-gantt-member-group--alt>.company-gantt-row,.company-gantt-member-group--alt>div>.company-gantt-row{background:#00000005}.company-gantt-member-group--alt>.company-gantt-row--job{background:var(--surface-alt, #f9f7f4)}.company-gantt-label{padding:.4rem .5rem;border-right:1px solid var(--border, #e5e0d8);display:flex;align-items:center;gap:.35rem;overflow:hidden;font-size:.85rem}.company-gantt-row--scope .company-gantt-label{padding-left:1.5rem;font-size:.8rem}.company-gantt-row--member .company-gantt-label{padding-left:2.75rem;font-size:.78rem;color:var(--text-muted, #6b7280)}.gantt-expand-btn{background:none;border:none;cursor:pointer;padding:0;font-size:.7rem;color:var(--text-muted, #6b7280);flex-shrink:0;width:16px;text-align:center;transition:transform .15s}.gantt-expand-btn:hover{color:var(--rust, #b45a3c)}.gantt-expand-btn--expanded{transform:rotate(90deg)}.gantt-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.gantt-row-name--job{cursor:pointer;color:var(--rust, #b45a3c)}.gantt-row-name--job:hover{text-decoration:underline}.gantt-status-badge{font-size:.65rem;padding:1px 6px;border-radius:8px;flex-shrink:0;font-weight:500;text-transform:uppercase}.gantt-status-badge--active{background:#3f7b5926;color:var(--success, #3f7b59)}.gantt-status-badge--on_hold{background:#c7882b26;color:var(--warning, #c7882b)}.company-gantt-bars{position:relative;padding:4px 0;min-width:800px}.company-gantt-bar{position:absolute;top:4px;bottom:4px;border-radius:4px;display:flex;align-items:center;overflow:hidden;cursor:pointer;transition:transform .1s,box-shadow .1s}.company-gantt-bar:hover{transform:scale(1.02);box-shadow:0 2px 8px #0003;z-index:10}.company-gantt-bar--clickable:hover{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.company-gantt-bar--job{opacity:.35;border:1px dashed rgba(0,0,0,.25);cursor:default}.company-gantt-bar-label{color:#fff;font-size:.7rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;text-shadow:0 1px 2px rgba(0,0,0,.3);flex:1;min-width:0}.company-gantt-bar--conflict{background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(220,38,38,.3) 3px,rgba(220,38,38,.3) 6px)!important;border:2px solid #dc2626!important;animation:conflict-pulse 2s ease-in-out infinite}@keyframes conflict-pulse{0%,to{border-color:#dc2626}50%{border-color:#f87171}}.company-gantt-bar--mob{border-radius:3px;border:1px solid rgba(255,255,255,.3);cursor:default;transition:opacity .15s,transform .1s,box-shadow .1s}.company-gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:#059669;z-index:3;pointer-events:none}.company-gantt-grid-overlay{min-width:800px}.company-gantt-grid-overlay{left:220px}.company-gantt-gridline{position:absolute;top:0;bottom:0;width:1px;background:var(--border-light, #f0ece4)}.company-gantt-marker{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-size:.72rem;color:var(--text-muted, #6b7280);padding-left:4px;border-left:1px solid var(--border-light, #e5e0d8)}.company-gantt-marker-stacked{display:flex;flex-direction:column;align-items:center;line-height:1.15;gap:0}.company-gantt-marker-stacked .marker-day{font-size:.82rem;font-weight:600;color:inherit}.company-gantt-marker-stacked .marker-month{font-size:.62rem;font-weight:400;color:var(--text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.02em}.company-gantt-marker--today{color:#059669;font-weight:600}.company-gantt-marker--today .marker-month{color:#059669}.company-gantt-tooltip{position:fixed;transform:translate(-50%,-100%);background:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:.8rem;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #00000026;max-width:300px}.company-gantt-tooltip-title{font-weight:600;margin-bottom:4px}.company-gantt-tooltip-detail{color:#9ca3af;margin-bottom:2px}.company-gantt-tooltip-conflict{margin-top:6px;padding:4px 8px;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:.72rem;font-weight:500}.company-gantt-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding:.6rem 1rem;background:var(--surface-alt, #f9f7f4);border-radius:.5rem;font-size:.78rem}.company-gantt-legend-label{font-weight:500;color:var(--text-muted, #6b7280)}.company-gantt-legend-item{display:flex;align-items:center;gap:4px}.company-gantt-legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}.company-gantt-empty,.company-gantt-loading{padding:2rem;text-align:center;color:var(--text-muted, #6b7280)}.company-gantt-error{padding:1.5rem;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626}.company-gantt-error button{margin-top:.5rem;padding:.4rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.company-gantt-error button:hover{background:#b91c1c}.company-gantt-no-dates{position:absolute;top:50%;left:8px;transform:translateY(-50%);font-size:.72rem;color:var(--text-muted, #9ca3af);font-style:italic}@media (max-width: 959px){.company-gantt-timeline-header,.company-gantt-row{grid-template-columns:150px 1fr}.company-gantt-timeline-header .label-col{padding:.4rem .5rem;font-size:.75rem}.company-gantt-label{padding:.3rem .4rem;font-size:.78rem}.company-gantt-row--scope .company-gantt-label{padding-left:1rem}.company-gantt-row--member .company-gantt-label{padding-left:1.75rem;font-size:.72rem}.company-gantt{margin-top:0}.company-gantt-header{flex-direction:column;align-items:flex-start;gap:.5rem}.company-gantt-grid-overlay{left:150px}.company-gantt-timeline-header .timeline-col,.company-gantt-bars,.company-gantt-grid-overlay{min-width:500px}.company-gantt-scroll{min-width:650px}.company-gantt-legend{font-size:.7rem;gap:.5rem;padding:.4rem .75rem}.company-gantt-marker{font-size:.62rem;padding-left:2px}.company-gantt-marker-stacked .marker-day{font-size:.7rem}.company-gantt-marker-stacked .marker-month{font-size:.52rem}.company-gantt-date-filter .gantt-view-btn{padding:3px 8px;font-size:.72rem}}.approvals-loading,.approvals-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted, #64748b);font-size:.95rem}.approvals-error{text-align:center;padding:1rem;color:var(--color-danger, #ef4444);background:var(--bg-danger-subtle, #fef2f2);border-radius:.375rem;margin-bottom:1rem}.approvals-header-badges{display:flex;gap:.5rem;align-items:center}.approvals-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.approvals-badge--labor{background:var(--bg-warning-subtle, #fffbeb);color:var(--color-warning-dark, #92400e);border:1px solid var(--color-warning, #f59e0b)}.approvals-badge--delivery{background:var(--bg-info-subtle, #eff6ff);color:var(--color-info-dark, #1e40af);border:1px solid var(--color-info, #3b82f6)}.approvals-badge--request{background:#f5f3ff;color:#5b21b6;border:1px solid #8b5cf6}.approvals-badge--total{background:var(--bg-subtle, #f1f5f9);color:var(--text-secondary, #475569);border:1px solid var(--border-color, #e2e8f0)}.approvals-job-list{display:flex;flex-direction:column;gap:.5rem}.approvals-job-section{border:1px solid var(--border-color, #e2e8f0);border-radius:.5rem;overflow:hidden}.approvals-job-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--bg-subtle, #f8fafc);border:none;cursor:pointer;text-align:left;font-size:.95rem;transition:background .15s}.approvals-job-header:hover{background:var(--bg-hover, #f1f5f9)}.approvals-chevron{display:inline-flex;transition:transform .2s;color:var(--text-muted, #64748b)}.approvals-chevron.expanded{transform:rotate(90deg)}.approvals-job-name{flex:1;font-weight:600;color:var(--text-primary, #1e293b)}.approvals-job-badges{display:flex;gap:.35rem;align-items:center}.approvals-job-body{padding:0 1rem .75rem;border-top:1px solid var(--border-color, #e2e8f0)}.approvals-subsection{margin-top:.75rem}.approvals-subsection-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-secondary, #475569);text-transform:uppercase;letter-spacing:.03em}.approvals-entry-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border-color-light, #f1f5f9)}.approvals-entry-row:last-child{border-bottom:none}.approvals-entry-info{flex:1;min-width:0}.approvals-entry-main{display:flex;gap:.5rem;align-items:center;margin-bottom:.2rem}.approvals-vendor{color:var(--text-muted, #64748b)}.approvals-entry-meta{display:flex;flex-wrap:wrap;gap:.15rem;font-size:.82rem;color:var(--text-muted, #64748b)}.approvals-entry-meta>span:not(:last-child):after{content:" •";margin-left:.15rem}.approvals-entry-desc{font-size:.85rem;margin-top:.2rem}.approvals-entry-notes{font-size:.85rem;margin-top:.2rem;font-style:italic;color:var(--text-muted, #64748b)}.approvals-entry-actions{display:flex;gap:.4rem;flex-shrink:0}.approvals-entry-empty{padding:1rem 0;text-align:center;color:var(--text-muted, #64748b);font-size:.9rem}.approvals-summary-box{padding:.5rem;background:var(--bg-subtle, #f8fafc);border-radius:4px;margin-bottom:1rem;font-size:.85rem}.approvals-cost-box{padding:.75rem;background:var(--bg-success-subtle, #f0fdf4);border:1px solid var(--color-success-border, #86efac);border-radius:.375rem;text-align:center;margin-bottom:.75rem}@media (max-width: 600px){.approvals-entry-row{flex-direction:column;align-items:flex-start}.approvals-entry-actions{margin-top:.5rem}}.upcoming-checklist{display:flex;flex-direction:column;background:var(--cream, #fdfaf3);border-radius:6px;font-size:.9em;color:var(--ink, #2a2418)}.upcoming-checklist.compact{font-size:.85em}.upcoming-checklist-tabs{display:flex;gap:4px;padding:6px 8px 0;border-bottom:1px solid var(--clay, #dfd2c1)}.upcoming-tab{background:none;border:none;padding:8px 14px;font-size:inherit;font-weight:500;color:var(--muted, #999);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s ease;font-family:inherit}.upcoming-tab:hover{color:var(--ink, #2a2418)}.upcoming-tab.active{color:var(--rust, #b45a3c);border-bottom-color:var(--rust, #b45a3c)}.upcoming-checklist-body{padding:8px 12px 12px;overflow-y:auto;max-height:60vh}.upcoming-checklist.compact .upcoming-checklist-body{max-height:420px}.upcoming-checklist-jobs{list-style:none;margin:0;padding:0}.upcoming-job-group{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-faint, #f0e8da)}.upcoming-job-group:last-child{border-bottom:none;margin-bottom:4px}.upcoming-job-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.upcoming-job-name{font-weight:700;font-size:1em;color:var(--ink, #2a2418)}.upcoming-job-mob{font-size:.8em;color:var(--rust, #b45a3c);font-weight:500;white-space:nowrap}.upcoming-job-scopes{list-style:none;margin:0;padding:0 0 0 8px}.upcoming-scope-group{margin-top:8px}.upcoming-scope-header{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.upcoming-scope-arrow{color:var(--muted, #999);font-size:.9em;flex-shrink:0}.upcoming-scope-name{font-weight:600;font-size:.92em;color:var(--ink, #2a2418);flex:1}.upcoming-scope-mob{font-size:.75em;color:var(--muted, #777);white-space:nowrap}.upcoming-scope-items{list-style:none;margin:0;padding:0 0 0 18px}.upcoming-item{margin:3px 0}.upcoming-item label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:3px 4px;border-radius:3px;transition:background .12s ease}.upcoming-item label:hover{background:var(--sand, #f4efe6)}.upcoming-item input[type=checkbox]{margin:3px 0 0;width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:var(--rust, #b45a3c)}.upcoming-item-label{font-size:.9em;line-height:1.4;word-break:break-word;flex:1;color:var(--ink, #2a2418)}.upcoming-item-label.checked{text-decoration:line-through;color:var(--muted, #999)}.upcoming-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:var(--muted, #777)}.upcoming-empty-emoji{font-size:1.6em;margin-bottom:8px}.upcoming-empty-text{font-size:.9em}.upcoming-checklist-pill-wrapper{position:relative;display:inline-flex}.upcoming-checklist-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.85em;border-radius:14px;border:1px solid var(--clay, #dfd2c1);background:var(--cream, #fdfaf3);color:var(--ink, #2a2418);cursor:pointer;transition:all .12s ease;font-family:inherit;margin-left:8px}.upcoming-checklist-pill:hover{border-color:var(--rust, #b45a3c);background:var(--sand, #f4efe6)}.upcoming-checklist-pill.has-open{border-color:var(--rust, #b45a3c);color:var(--rust, #b45a3c)}.upcoming-pill-icon{font-size:.95em;line-height:1}.upcoming-pill-label{font-weight:500}.upcoming-pill-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--rust, #b45a3c);color:#fff;font-size:.75em;font-weight:600;line-height:1}.upcoming-pill-badge.dim{background:var(--muted, #999)}.upcoming-checklist-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:100;width:480px;max-width:calc(100vw - 32px);background:var(--cream, #fdfaf3);border:1px solid var(--clay, #dfd2c1);border-radius:8px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;max-height:70vh}.upcoming-popover-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--clay, #dfd2c1)}.upcoming-popover-title{flex:1;font-weight:600;font-size:.95em;color:var(--ink, #2a2418)}.upcoming-popover-refresh,.upcoming-popover-close{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--muted, #999);font-size:1em;font-family:inherit;transition:all .12s ease}.upcoming-popover-refresh:hover,.upcoming-popover-close:hover{background:var(--sand, #f4efe6);color:var(--rust, #b45a3c)}.upcoming-popover-refresh:disabled{cursor:wait;opacity:.5}.upcoming-popover-close{font-size:1.3em;line-height:1}.upcoming-popover-body{flex:1;overflow-y:auto}.upcoming-popover-loading,.upcoming-popover-error{padding:32px 16px;text-align:center;color:var(--muted, #777);font-size:.9em}.upcoming-popover-error{color:var(--rust, #b45a3c)}.upcoming-popover-error .ghost-button{display:block;margin:12px auto 0}.cashflow-chart-wrapper{padding:.5rem 0}.cashflow-legend{display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem;font-size:.8rem;color:var(--steel)}.cashflow-legend-item{display:flex;align-items:center;gap:.35rem}.cashflow-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.cashflow-tooltip{background:var(--card, #fff);border:1px solid var(--clay, #e0e0e0);border-radius:8px;padding:.75rem 1rem;box-shadow:0 4px 12px #0000001f;font-size:.82rem;min-width:200px}.cashflow-tooltip-title{font-weight:600;margin:0 0 .5rem;color:var(--ink, #333);font-size:.9rem}.cashflow-tooltip-rows{display:flex;flex-direction:column;gap:.25rem}.cashflow-tooltip-row{display:flex;justify-content:space-between;gap:1rem}.cashflow-tooltip-label{color:var(--steel, #757575)}.cashflow-tooltip-amount{font-weight:500;font-variant-numeric:tabular-nums}.cashflow-tooltip-amount.positive{color:#26a69a}.cashflow-tooltip-amount.negative{color:#ef5350}.cashflow-tooltip-value{font-size:1.1rem;font-weight:600;margin:0}.cashflow-tooltip-value.positive{color:#26a69a}.cashflow-tooltip-value.negative{color:#ef5350}.cashflow-tooltip-divider{border:none;border-top:1px solid var(--clay, #e0e0e0);margin:.25rem 0}.cashflow-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:320px;gap:1rem}.cashflow-loading-bar{width:120px;height:4px;background:var(--clay, #e0e0e0);border-radius:2px;overflow:hidden;position:relative}.cashflow-loading-bar:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--sage, #7cb342);border-radius:2px;animation:cashflow-shimmer 1.2s ease-in-out infinite}@keyframes cashflow-shimmer{0%{left:-40%}to{left:100%}}.cashflow-loading-text{font-size:.85rem;color:var(--steel, #757575);margin:0}.cashflow-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--steel, #757575);font-size:.9rem}.cashflow-header-row{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.5rem;padding:0 .5rem}.cashflow-timeframe-select{font-size:.82rem;padding:4px 8px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;background:var(--card, #fff);color:var(--ink, #333);cursor:pointer;outline:none}.cashflow-timeframe-select:focus-visible{outline:2px solid var(--sage, #7cb342);outline-offset:1px}@media (max-width: 599px){.cashflow-legend{flex-wrap:wrap;gap:.5rem;font-size:.75rem}.cashflow-tooltip{min-width:160px;font-size:.78rem}}.billing-dashboard-view{padding:.5rem 0}.billing-dashboard-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:0 .25rem}.billing-dashboard-date-range{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.billing-dashboard-date-range input[type=date]{padding:3px 6px;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.8rem;color:var(--ink, #333);background:#fff}.billing-dashboard-date-range span{color:var(--steel, #757575)}.billing-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.billing-dashboard-panel{background:var(--card, #fff);border:1px solid var(--clay, #e0e0e0);border-radius:8px;padding:.75rem;min-height:280px;display:flex;flex-direction:column}.billing-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.billing-panel-title{font-size:.85rem;font-weight:600;color:var(--ink, #333);margin:0 0 .5rem}.billing-panel-header .billing-panel-title{margin-bottom:0}.billing-panel-select{font-size:.78rem;padding:3px 6px;border:1px solid var(--clay, #e0e0e0);border-radius:4px;background:#fff;color:var(--ink, #333);cursor:pointer}.billing-panel-select:focus-visible{outline:2px solid var(--sage, #7cb342);outline-offset:1px}.accounting-basis-toggle{display:inline-flex;border:1px solid var(--clay, #e0e0e0);border-radius:4px;overflow:hidden}.accounting-basis-toggle .toggle-btn{padding:2px 8px;font-size:.72rem;font-weight:500;border:none;background:#fff;color:var(--steel, #757575);cursor:pointer;transition:background .15s,color .15s;line-height:1.4}.accounting-basis-toggle .toggle-btn:not(:last-child){border-right:1px solid var(--clay, #e0e0e0)}.accounting-basis-toggle .toggle-btn.active{background:var(--ink, #333);color:#fff}.accounting-basis-toggle .toggle-btn:hover:not(.active){background:var(--sand, #f5f5f5)}.accounting-basis-toggle .toggle-btn:focus-visible{outline:2px solid var(--sage, #7cb342);outline-offset:-2px}.billing-job-bars-scroll{flex:1;overflow-y:auto;max-height:240px}.billing-dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:320px;gap:1rem}.billing-dashboard-error{text-align:center;padding:2rem}@media (max-width: 767px){.billing-dashboard-grid{grid-template-columns:1fr}}.rwd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:900;animation:rwd-fade-in .2s ease}.rwd-drawer{position:fixed;top:0;right:0;width:600px;max-width:90vw;height:100vh;background:var(--card-bg, #fff);box-shadow:-4px 0 24px #00000026;z-index:910;display:flex;flex-direction:column;animation:rwd-slide-in .2s ease}@keyframes rwd-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rwd-fade-in{0%{opacity:0}to{opacity:1}}.rwd-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--clay, #e0e0e0);flex-shrink:0}.rwd-header-info{flex:1;min-width:0}.rwd-title{font-size:1rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rwd-subtitle{font-size:.82rem;color:var(--steel, #757575);display:block;margin-top:2px}.rwd-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--steel, #757575);padding:0 4px;line-height:1;margin-left:12px}.rwd-close-btn:hover{color:var(--charcoal, #333)}.rwd-tabs{display:flex;border-bottom:2px solid var(--clay, #e0e0e0);flex-shrink:0;padding:0 20px}.rwd-tab{background:none;border:none;padding:10px 16px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--steel, #757575);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s,border-color .12s;display:flex;align-items:center;gap:6px}.rwd-tab:hover{color:var(--charcoal, #333)}.rwd-tab--active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb)}.rwd-tab-badge{background:var(--primary, #2563eb);color:#fff;font-size:.65rem;padding:1px 6px;border-radius:10px;font-weight:700}.rwd-error{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#fef2f2;color:#991b1b;font-size:.82rem;flex-shrink:0}.rwd-error-dismiss{background:none;border:none;font-size:1rem;cursor:pointer;color:#991b1b;margin-left:auto}.rwd-content{flex:1;overflow-y:auto;padding:16px 20px}.rwd-status-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.rwd-actions-bar{display:flex;justify-content:flex-end;margin-bottom:12px}.rwd-loading{padding:24px 0;text-align:center;color:var(--steel, #757575);font-size:.82rem}.rwd-empty{padding:32px 0;text-align:center;color:var(--steel, #757575)}.rwd-hint{font-size:.82rem;color:var(--steel, #757575)}.rwd-context-card{background:var(--sand, #f5f5f5);border:1px solid var(--clay, #e0e0e0);border-radius:6px;padding:12px 14px;margin-bottom:16px}.rwd-context-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:.82rem}.rwd-context-label{color:var(--steel, #757575)}.rwd-context-value{font-weight:600}.rwd-field{margin-bottom:16px}.rwd-label{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;margin-bottom:6px}.rwd-label .required{color:#dc2626;margin-left:2px}.rwd-select-all{font-weight:400;color:var(--primary, #2563eb);cursor:pointer;font-size:.72rem}.rwd-select-all:hover{text-decoration:underline}.rwd-vendor-list{border:1px solid var(--clay, #e0e0e0);border-radius:6px;max-height:180px;overflow-y:auto;padding:8px 12px}.rwd-vendor-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.82rem;cursor:pointer}.rwd-vendor-item:hover{background:var(--sand, #f5f5f5)}.rwd-category-row{display:flex;gap:20px}.rwd-category-item{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer}.rwd-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:12px;border-top:1px solid var(--clay, #e0e0e0)}.rwd-request-summary{padding:8px 0}.rwd-section-title{font-size:.82rem;font-weight:700;margin:0 0 8px}.rwd-summary-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:12px}.rwd-summary-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--clay, #e0e0e0);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--steel, #757575)}.rwd-summary-table td{padding:8px;border-bottom:1px solid var(--clay, #e0e0e0)}.rwd-email-log-section{margin-top:12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;overflow:hidden;animation:rwd-fade-in .2s ease}.rwd-email-log-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--sand, #f5f5f5);border-bottom:1px solid var(--clay, #e0e0e0)}.rwd-email-log-title{font-size:.82rem;font-weight:600;margin:0}.rwd-email-log-actions{display:flex;align-items:center;gap:8px}.rwd-email-log-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--steel, #757575);padding:0 4px;line-height:1}.rwd-email-log-close:hover{color:var(--charcoal, #333)}.rwd-email-log-loading,.rwd-email-log-empty{padding:16px 12px;font-size:.82rem;color:var(--steel, #757575);text-align:center}.rwd-email-log-list{padding:4px 0}.rwd-email-log-entry{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-bottom:1px solid var(--clay, #e0e0e0);font-size:.82rem}.rwd-email-log-entry:last-child{border-bottom:none}.rwd-email-log-badge{flex-shrink:0;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;margin-top:2px}.rwd-email-log-badge--sent{background:#fef3c7;color:#92400e}.rwd-email-log-badge--received{background:#dcfce7;color:#166534}.rwd-email-log-badge--uploaded{background:#dbeafe;color:#1e40af}.rwd-email-log-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rwd-email-log-subject{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rwd-email-log-recipient{font-size:.72rem;color:var(--steel, #757575)}.rwd-email-log-file{font-size:.72rem}.rwd-email-log-file a{color:var(--primary, #2563eb);text-decoration:none}.rwd-email-log-file a:hover{text-decoration:underline}.rwd-email-log-size{color:var(--steel, #757575);margin-left:4px}.rwd-email-log-preview{font-size:.72rem;color:var(--steel, #757575);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rwd-email-log-notes{font-size:.72rem;color:var(--steel, #757575);font-style:italic}.rwd-email-log-time{flex-shrink:0;font-size:.65rem;color:var(--steel, #757575);white-space:nowrap;margin-top:2px}.rwd-template-category{margin-bottom:20px}.rwd-template-slot{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--clay, #e0e0e0);font-size:.82rem}.rwd-template-slot:last-child{border-bottom:none}.rwd-template-label{flex:1}.rwd-template-file{display:flex;align-items:center;gap:8px}.rwd-template-filename{font-size:.72rem;color:var(--primary, #2563eb);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rwd-template-delete{background:none;border:none;color:#dc2626;font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.rwd-template-upload-btn{display:inline-block;padding:4px 12px;border:1px solid var(--clay, #e0e0e0);border-radius:4px;cursor:pointer;font-size:.72rem;color:var(--steel, #757575);transition:border-color .12s}.rwd-template-upload-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.rwd-template-empty{font-size:.72rem;color:var(--steel, #757575)}.wtp-panel{background:var(--card-bg, #fff);border:1px solid var(--clay, #e0e0e0);border-radius:8px;padding:16px 18px}.wtp-compact{padding:8px 12px}.wtp-compact .wtp-header{margin-bottom:8px}.wtp-compact .wtp-category{margin-bottom:10px}.wtp-compact .wtp-slot{padding:5px 0}.wtp-compact .wtp-category-title{font-size:.75rem}.wtp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wtp-title{font-size:.9rem;font-weight:700;margin:0}.wtp-count{font-size:.72rem;color:var(--steel, #757575);background:var(--sand, #f5f5f5);padding:2px 8px;border-radius:10px}.wtp-description{font-size:.78rem;color:var(--steel, #999);margin:0 0 12px;line-height:1.4}.wtp-error{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fef2f2;color:#991b1b;font-size:.75rem;border-radius:4px;margin-bottom:10px}.wtp-error-dismiss{background:none;border:none;font-size:1rem;cursor:pointer;color:#991b1b;margin-left:auto}.wtp-category{margin-bottom:14px}.wtp-category:last-child{margin-bottom:0}.wtp-category-title{font-size:.78rem;font-weight:700;color:var(--charcoal, #333);margin:0 0 6px;text-transform:uppercase;letter-spacing:.03em}.wtp-slot{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--clay, #f0f0f0);font-size:.8rem}.wtp-slot:last-child{border-bottom:none}.wtp-slot-label{flex:1;color:var(--charcoal, #555)}.wtp-slot-file{display:flex;align-items:center;gap:6px}.wtp-filename{font-size:.72rem;color:var(--primary, #2563eb);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wtp-delete-btn{background:none;border:none;color:#dc2626;font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}.wtp-delete-btn:hover{color:#991b1b}.wtp-upload-btn{display:inline-block;padding:3px 10px;border:1px solid var(--clay, #d0d0d0);border-radius:4px;cursor:pointer;font-size:.72rem;color:var(--steel, #616161);transition:border-color .15s,color .15s}.wtp-upload-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.wtp-empty{font-size:.72rem;color:var(--steel, #bbb)}.wtp-loading{padding:16px 0;text-align:center;color:var(--steel, #999);font-size:.82rem}.wsr-row{background:var(--sand, #fafaf8);border-bottom:1px solid var(--clay, #e0e0e0)}.wsr-cell{padding:8px 16px 10px}.wsr-loading,.wsr-error,.wsr-empty{font-size:.82rem;color:var(--steel, #757575);padding:6px 0}.wsr-error{color:#991b1b}.wsr-empty{display:flex;align-items:center;gap:8px}.wsr-link-btn{background:none;border:none;color:var(--primary, #2563eb);cursor:pointer;font-size:.82rem;text-decoration:underline;padding:0}.wsr-table{width:100%;border-collapse:collapse;font-size:.82rem}.wsr-table thead tr{border-bottom:1px solid var(--clay, #d0d0d0)}.wsr-table th{text-align:left;padding:3px 6px;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--steel, #757575);white-space:nowrap}.wsr-table td{padding:4px 6px;vertical-align:middle}.wsr-data-row{border-bottom:1px solid var(--clay, #f0f0f0)}.wsr-data-row:last-child{border-bottom:none}.wsr-data-row--clickable{cursor:pointer;transition:background .12s}.wsr-data-row--clickable:hover{background:#2563eb0a}.wsr-right{text-align:right;font-variant-numeric:tabular-nums}.wsr-vendor{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wsr-separator{color:var(--steel, #757575)}.wsr-cat-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:1px 4px;border-radius:3px;text-transform:uppercase}.wsr-cat-lien{background:#fef3c7;color:#92400e}.wsr-cat-supplier{background:#e0e7ff;color:#3730a3}.wsr-status{font-weight:600;text-transform:capitalize;font-size:.72rem}:root{--register-red: #ffd7d7;--register-yellow: #fff9c4;--register-green: #d7f5d7}.billing-register-view{display:flex;flex-direction:column;gap:0;position:relative}.billing-register-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0 .75rem}.billing-register-title{font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--ink, #333);text-align:center;margin:0;min-width:240px}.register-nav-btn{background:none;border:1px solid var(--clay, #e0e0e0);border-radius:4px;padding:2px 10px;font-size:1.2rem;cursor:pointer;color:var(--ink, #333);line-height:1;transition:background .15s}.register-nav-btn:hover{background:var(--sand, #f5f5f5)}.register-save-error{background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:4px;padding:6px 10px;font-size:.78rem;margin-bottom:.5rem}.register-loading,.register-error{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--steel, #757575);font-size:.85rem}.register-error{flex-direction:column}.billing-register-table-wrap{overflow-x:auto;border:1px solid var(--clay, #e0e0e0);border-radius:6px}.billing-register-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.78rem;table-layout:fixed}.register-th-select{width:36px}.register-th-check{width:40px}.register-th-project{width:170px}.register-th-scope,.register-th-gc{width:110px}.register-th-currency{width:95px}.register-th-readonly{width:85px}.register-th-status{width:52px}.register-th-waiver{width:40px}.register-th-pct{width:68px}.register-th-notes{width:150px}.billing-register-table thead tr{background:var(--steel, #757575);color:#fff}.register-th{padding:6px;text-align:left;font-size:.65rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;border-right:1px solid rgba(255,255,255,.18)}.register-th-check,.register-th-select,.register-th-status,.register-th-waiver{text-align:center}.register-th-currency,.register-th-readonly,.register-th-pct{text-align:right}.register-row{border-bottom:1px solid var(--clay, #e0e0e0)}.register-row:hover{filter:brightness(.97)}.register-scope-row{background:var(--sand, #fafafa)}.register-scope-row:hover{background:#f5f5f5}.register-pushed-row{border-left:3px solid #22c55e}.register-row-disabled{pointer-events:none;background:var(--sand, #f5f5f5)!important}.register-row-disabled>td{opacity:.4}.register-row-disabled .register-project-cell-wrap{opacity:1}.register-row-disabled .register-expand-btn{pointer-events:auto;opacity:1;box-shadow:0 0 0 2px #2563eb4d}.register-row-disabled .register-cell-project{opacity:.7}.register-cell{padding:3px 5px;vertical-align:middle;border-right:1px solid var(--clay, #e0e0e0)}.register-cell-select,.register-cell-check{text-align:center}.register-cell-check input[type=checkbox],.register-cell-select input[type=checkbox]{cursor:pointer;width:14px;height:14px}.register-cell-select input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.register-cell-currency{text-align:right;font-variant-numeric:tabular-nums}.register-cell-total{font-weight:600}.register-cell-notes{font-size:.72rem;color:var(--steel, #757575)}.register-cell-readonly{text-align:right;font-variant-numeric:tabular-nums;background:#00000005;color:var(--steel, #757575);font-size:.72rem}.register-cell-status{text-align:center}.register-templates-area{position:relative;margin-left:auto;z-index:20}.register-templates-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:.78rem;font-weight:600;color:var(--steel, #616161);background:var(--card-bg, #fff);border:1px solid var(--clay, #d0d0d0);border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.register-templates-btn:hover,.register-templates-btn--active{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.register-templates-chevron{font-size:.65rem}.register-templates-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:340px;background:var(--card-bg, #fff);border:1px solid var(--clay, #d0d0d0);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:25;animation:rwd-fade-in .15s ease}.register-cell-waiver{text-align:center}.register-cell-waiver input[type=checkbox]{cursor:pointer;width:14px;height:14px}.register-cell-waiver input.waiver-complete{accent-color:#22c55e}.register-cell-waiver input[type=checkbox]:indeterminate{accent-color:#f59e0b}.register-cell-waiver--clickable{cursor:pointer;transition:background .12s}.register-cell-waiver--clickable:hover{background:#2563eb0f}.register-cell-scope{font-size:.7rem}.register-scope-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--steel, #616161)}.register-add-contract-link{font-size:.68rem;color:var(--info, #2563eb);text-decoration:none;font-style:italic;cursor:pointer;white-space:nowrap}.register-add-contract-link:hover{text-decoration:underline;color:var(--info-dark, #1d4ed8)}.register-project-cell-wrap{display:flex;align-items:center;gap:2px;width:100%}.register-project-cell-wrap>:first-child{flex:1;min-width:0}.register-expand-btn{flex-shrink:0;background:none;border:1px solid var(--clay, #d1d5db);border-radius:3px;width:20px;height:20px;font-size:.6rem;color:var(--info, #2563eb);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.register-expand-btn:hover,.register-expand-btn.expanded{background:var(--info, #2563eb);color:#fff;border-color:var(--info, #2563eb)}.register-cell-indent{padding-left:20px}.register-scope-name{font-style:italic;color:var(--steel, #757575);padding-left:4px}.register-cell-linked{font-weight:500}.register-linked-badge{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;margin-left:4px;vertical-align:middle}.register-cell-pct{text-align:right;font-variant-numeric:tabular-nums}.register-pct-display{cursor:pointer}.register-pct-override{font-weight:600;color:var(--info, #2563eb)}.register-pct-badge{font-size:.55rem;font-weight:700;background:#dbeafe;color:#2563eb;padding:0 3px;border-radius:2px;margin-left:3px;vertical-align:middle}.register-pct-badge-br{background:#dcfce7;color:#16a34a}.register-pct-br{color:#15803d}.register-pct-input{text-align:right;width:56px}.register-cell-display{display:block;width:100%;cursor:text;padding:1px 2px;min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.register-cell-display:hover{background:#0000000a;border-radius:3px}.register-cell-display:focus{outline:2px solid var(--info, #3a6c8e);outline-offset:1px;border-radius:3px}.register-cell-empty{color:var(--clay, #ccc);font-style:italic}.register-cell-input{width:100%;border:1px solid var(--info, #3a6c8e);border-radius:3px;padding:1px 4px;font-size:.78rem;outline:none;background:#fff;box-shadow:0 0 0 2px #3a6c8e33}.register-empty-row{text-align:center;padding:2rem;color:var(--steel, #757575);font-size:.82rem}.register-totals-row{background:var(--sand, #f5f5f5);border-top:2px solid var(--clay, #e0e0e0);font-weight:700}.register-totals-label{padding:6px 10px;font-size:.72rem;letter-spacing:.05em;color:var(--steel, #757575)}.register-total-cell{padding:6px;text-align:right;font-variant-numeric:tabular-nums;border-right:1px solid var(--clay, #e0e0e0)}.register-add-row{padding:8px 0 4px}.register-add-btn{background:none;border:1px dashed var(--clay, #ccc);border-radius:4px;padding:5px 14px;font-size:.78rem;color:var(--steel, #757575);cursor:pointer;transition:all .15s}.register-add-btn:hover{border-color:var(--info, #3a6c8e);color:var(--info, #3a6c8e);background:#3a6c8e0f}.register-hint{margin-left:12px;font-size:.75rem;color:var(--steel, #9e9e9e);font-style:italic;-webkit-user-select:none;user-select:none}.register-push-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-top:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.82rem}.register-push-count{font-weight:600;color:#1e40af;white-space:nowrap}.register-push-date{display:flex;align-items:center;gap:6px;color:var(--steel, #616161);font-size:.78rem}.register-push-date input[type=date]{padding:3px 6px;border:1px solid var(--clay, #d1d5db);border-radius:4px;font-size:.78rem}.register-push-btn{padding:5px 16px;background:#2563eb;color:#fff;border:none;border-radius:5px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.register-push-btn:hover{background:#1d4ed8}.register-push-btn:disabled{opacity:.5;cursor:not-allowed}.register-push-cancel{background:none;border:1px solid var(--clay, #d1d5db);border-radius:5px;padding:5px 12px;font-size:.78rem;color:var(--steel, #616161);cursor:pointer}.register-push-cancel:hover{background:var(--sand, #f5f5f5)}.register-tab-bar{display:flex;gap:0;border-top:1px solid var(--clay, #e0e0e0);padding-top:6px;margin-top:6px;overflow-x:auto;scrollbar-width:none}.register-tab-bar::-webkit-scrollbar{display:none}.register-tab{flex-shrink:0;padding:4px 12px;font-size:.72rem;font-weight:500;border:1px solid var(--clay, #e0e0e0);border-bottom:none;border-radius:4px 4px 0 0;background:var(--sand, #f5f5f5);color:var(--steel, #757575);cursor:pointer;margin-right:2px;transition:background .15s}.register-tab:hover{background:#ebebeb}.register-tab-active{background:var(--steel, #757575);color:#fff;border-color:var(--steel, #757575);font-weight:700}.register-context-menu{position:fixed;z-index:9999;background:#fff;border:1px solid var(--clay, #e0e0e0);border-radius:6px;box-shadow:0 4px 16px #00000026;padding:4px 0;min-width:140px}.register-context-menu-section{padding:4px 12px 2px;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--steel, #9e9e9e);text-transform:uppercase}.register-context-item{display:block;width:100%;text-align:left;background:none;border:none;padding:5px 12px;font-size:.8rem;cursor:pointer;color:var(--ink, #333)}.register-context-item:hover{background:var(--sand, #f5f5f5)}.register-context-delete{color:var(--danger, #c62828)}.register-context-delete:hover{background:#fff0f0}.register-context-menu-divider{border-top:1px solid var(--clay, #e0e0e0);margin:4px 0}.project-job-dropdown{font-size:.82rem;background:#fff;border:1px solid var(--clay, #e2e8f0);border-radius:6px;box-shadow:0 4px 16px #0000001f}.project-dropdown-loading{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--steel, #64748b);font-style:italic}.project-dropdown-header{padding:6px 12px 2px;font-size:.68rem;font-weight:700;color:var(--steel, #9e9e9e);text-transform:uppercase;letter-spacing:.06em}.project-dropdown-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.project-dropdown-item:hover,.project-dropdown-item.active{background:#f8fafc}.project-dropdown-main{display:flex;align-items:center;gap:6px}.project-dropdown-name{font-weight:500;flex:1}.project-dropdown-num{color:var(--steel, #64748b);font-size:.75rem}.project-dropdown-contract{font-size:.72rem;color:var(--steel, #64748b);margin-top:2px}.project-dropdown-score{font-size:.72rem;font-weight:600;min-width:32px;text-align:right}.project-dropdown-scopes{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.project-dropdown-scope-tag{font-size:.65rem;padding:1px 5px;border-radius:3px;font-weight:600}.scope-co{background:#ede9fe;color:#6366f1}.scope-prime{background:#e0f2fe;color:#0ea5e9}.scope-more{background:#f1f5f9;color:#64748b}.project-dropdown-empty{padding:10px 12px;color:var(--steel, #64748b);font-style:italic}.project-dropdown-footer{display:flex;align-items:center;padding:8px 12px;cursor:pointer;font-weight:500;color:#2563eb;border-top:1px solid #e2e8f0;background:#f8fafc;position:sticky;bottom:0}.project-dropdown-footer:hover,.project-dropdown-footer.active{background:#eff6ff}.register-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:10000;display:flex;align-items:center;justify-content:center}.register-modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0003;width:480px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column}.register-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 10px;border-bottom:1px solid var(--clay, #e0e0e0)}.register-modal-header h4{margin:0;font-size:1rem;font-weight:700}.register-modal-close{background:none;border:none;font-size:1.4rem;color:var(--steel, #757575);cursor:pointer;line-height:1}.register-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.register-modal-footer{padding:12px 20px;border-top:1px solid var(--clay, #e0e0e0);display:flex;justify-content:flex-end;gap:8px}.register-modal-success{background:#d1fae5;color:#065f46;padding:8px 12px;border-radius:6px;font-weight:600;font-size:.85rem;margin-bottom:12px}.register-modal-warn{background:#fff3cd;color:#856404;padding:8px 12px;border-radius:6px;font-size:.82rem;margin-top:8px}.register-modal-job{margin-bottom:12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;overflow:hidden}.register-modal-job-name{padding:8px 12px;background:var(--sand, #f5f5f5);font-weight:600;font-size:.85rem;border-bottom:1px solid var(--clay, #e0e0e0)}.register-modal-job-name a{color:var(--info, #2563eb);text-decoration:none}.register-modal-job-name a:hover{text-decoration:underline}.register-modal-draw{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid #f1f5f9;font-size:.82rem}.register-modal-scope{flex:1;color:var(--ink, #333)}.register-modal-amount{font-weight:600;font-variant-numeric:tabular-nums}.register-modal-status{font-size:.7rem;padding:2px 6px;border-radius:3px;font-weight:600;text-transform:uppercase}.register-modal-status-drafted{background:#f1f5f9;color:#64748b}.register-modal-status-billed{background:#dbeafe;color:#1e40af}.register-modal-status-approved{background:#d1fae5;color:#065f46}.register-modal-status-disputed{background:#fee2e2;color:#991b1b}.register-modal-status-paid{background:#d1fae5;color:#065f46}.register-modal-link{font-size:.75rem;color:var(--info, #2563eb);text-decoration:none;white-space:nowrap}.register-modal-link:hover{text-decoration:underline}.register-modal-error{padding:4px 12px;font-size:.78rem;color:var(--danger, #c62828);border-bottom:1px solid #f1f5f9}.register-modal-dirty-list{margin-top:8px}.register-modal-dirty-row{display:flex;justify-content:space-between;padding:4px 8px;font-size:.82rem;border-bottom:1px solid #f1f5f9}@media (max-width: 767px){.billing-register-table{font-size:.7rem}.register-th-notes,.register-cell-notes{min-width:100px}.register-push-bar{flex-wrap:wrap}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.weekof-picker-input{padding:12px;border-radius:12px;border:1px solid #d6c7b4;min-height:44px;font-family:inherit;font-size:13px;width:100%;box-sizing:border-box}@media (max-width: 959px){.weekof-picker-input{font-size:16px}}.react-datepicker-wrapper{width:100%}.invoice-attachment{display:flex;flex-direction:column;gap:.25rem;min-width:0}.invoice-attachment.disabled{opacity:.6;pointer-events:none}.attachment-label{font-size:.8rem;color:var(--text-muted, #6b7280);margin-bottom:.125rem}.attachment-upload-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px dashed var(--border-color, #d1d5db);border-radius:.375rem;background:var(--bg-secondary, #f9fafb);color:var(--text-muted, #6b7280);font-size:.8rem;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px}.attachment-upload-btn:hover:not(:disabled){border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6);background:var(--bg-primary-light, #eff6ff)}.attachment-upload-btn:disabled{cursor:not-allowed}.attachment-upload-btn.uploading{border-style:solid;border-color:var(--primary, #3b82f6);background:var(--bg-primary-light, #eff6ff)}.upload-icon{font-size:1rem}.upload-spinner{animation:spin 1s linear infinite}.attachment-preview{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .5rem;border:1px solid var(--success-border, #86efac);border-radius:.375rem;background:var(--success-bg, #f0fdf4);font-size:.8rem;min-height:36px}.attachment-icon{font-size:1rem;flex-shrink:0}.attachment-name{color:var(--text-primary, #1f2937);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.attachment-actions{display:flex;gap:.25rem;margin-left:auto;flex-shrink:0}.attachment-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:.25rem;background:transparent;cursor:pointer;font-size:.75rem;transition:all .15s ease}.attachment-btn.view:hover{background:var(--success-hover, #bbf7d0)}.attachment-btn.remove{color:var(--text-muted, #9ca3af)}.attachment-btn.remove:hover{background:var(--error-bg, #fef2f2);color:var(--error, #ef4444)}.attachment-progress{width:100%;height:3px;background:var(--border-color, #e5e7eb);border-radius:2px;overflow:hidden;margin-top:.25rem}.progress-fill{height:100%;background:var(--primary, #3b82f6);border-radius:2px;transition:width .2s ease}.attachment-error{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.375rem .5rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:.375rem;color:var(--error, #ef4444);font-size:.75rem;margin-top:.25rem}.attachment-error button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:.25rem;background:transparent;color:var(--error, #ef4444);cursor:pointer;font-size:.7rem;flex-shrink:0}.attachment-error button:hover{background:var(--error, #ef4444);color:#fff}.invoice-attachment.compact .attachment-upload-btn{padding:.375rem .5rem;font-size:.75rem;min-height:30px}.invoice-attachment.compact .attachment-preview{padding:.25rem .375rem;font-size:.75rem;min-height:30px}.invoice-attachment.compact .attachment-name{max-width:80px}.invoice-attachment.compact .attachment-btn{width:20px;height:20px}@media (max-width: 600px){.attachment-upload-btn{width:100%;justify-content:center}.attachment-preview{width:100%}.attachment-name{max-width:none;flex:1}}.material-day-fields .invoice-attachment{flex:1;min-width:0}.material-day-fields .attachment-upload-btn,.material-day-fields .attachment-preview{width:100%}.material-system-import-wizard{display:flex;flex-direction:column;gap:1.5rem;max-height:70vh;overflow-x:visible;overflow-y:auto;box-sizing:border-box;width:100%;outline:none}.material-system-import-wizard:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.wizard-steps{display:flex;justify-content:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--clay, #dfd2c1)}.wizard-steps .step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--muted, #8a8f92);font-size:.875rem;transition:color .2s cubic-bezier(.4,0,.2,1)}.wizard-steps .step.active{color:var(--rust, #b45a3c);font-weight:600}.wizard-steps .step.completed{color:var(--success, #3f7b59)}.wizard-steps .step-number{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--clay, #dfd2c1);font-size:.75rem;font-weight:600;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.wizard-steps .step.active .step-number{background:var(--rust, #b45a3c);color:#fff}.wizard-steps .step.completed .step-number{background:var(--success, #3f7b59);color:#fff}.wizard-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem 1.5rem;max-width:100%;box-sizing:border-box}.wizard-step{display:flex;flex-direction:column;gap:1rem;animation:fadeIn .2s cubic-bezier(.4,0,.2,1);max-width:100%;box-sizing:border-box}.wizard-step h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1e293b)}.wizard-description{margin:0;color:var(--steel, #4c5457);font-size:.875rem}.system-list{display:flex;flex-direction:column;gap:.75rem;max-height:50vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--clay, #dfd2c1) transparent;max-width:100%;box-sizing:border-box}.system-list::-webkit-scrollbar{width:8px}.system-list::-webkit-scrollbar-track{background:transparent}.system-list::-webkit-scrollbar-thumb{background-color:var(--clay, #dfd2c1);border-radius:4px}.system-list::-webkit-scrollbar-thumb:hover{background-color:var(--steel, #4c5457)}.system-card{padding:1rem;border:1px solid var(--clay, #dfd2c1);border-radius:.5rem;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:44px;overflow-x:hidden;overflow-y:visible;background:var(--card, #fdfbf7);position:relative;max-width:100%;box-sizing:border-box}.system-card:hover{border-color:var(--rust, #b45a3c);background:var(--sand, #f4efe6)}.system-card:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.system-card.selected{border-color:var(--rust, #b45a3c);background:var(--sand, #f4efe6);box-shadow:inset 0 0 0 1px var(--rust, #b45a3c)}.system-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;overflow:hidden;max-width:100%;min-width:0}.system-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.system-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--steel, #4c5457);margin-top:.25rem}.system-type{font-weight:500}.component-count{color:var(--muted, #8a8f92)}.details-toggle{background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);color:var(--sky, #416c86);font-size:.75rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;margin-left:auto;transition:all .2s ease;white-space:nowrap}.details-toggle:hover{background:var(--clay, #dfd2c1);border-color:var(--sky, #416c86)}.system-card-wrapper{display:flex;flex-direction:column}.system-details-panel{margin-top:-1px;padding:1rem;background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);border-top:2px solid var(--rust, #b45a3c);border-radius:0 0 .5rem .5rem;animation:slideDown .2s cubic-bezier(.4,0,.2,1)}.system-card.expanded{border-radius:.5rem .5rem 0 0;border-bottom-color:var(--rust, #b45a3c)}.system-description{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-primary, #374151);line-height:1.5}.system-manufacturer{margin:0 0 .75rem;font-size:.8125rem;color:var(--steel, #4c5457)}.component-list{font-size:.8125rem}.component-list-header{font-weight:600;color:var(--steel, #4c5457);margin-bottom:.5rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em}.component-list ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.component-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-surface, #ffffff);border-radius:.25rem;border:1px solid var(--border-light, #e5e7eb)}.component-name{font-weight:500;color:var(--text-primary, #1e293b)}.component-rate{color:var(--steel, #4c5457);font-size:.75rem;font-family:ui-monospace,SFMono-Regular,monospace;background:var(--sand, #f4efe6);padding:.125rem .375rem;border-radius:.25rem}.badge{display:inline-block;padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;border-radius:9999px}.system-section-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0 .5rem;padding:.5rem 0}.system-section-divider:before,.system-section-divider:after{content:"";flex:1;height:1px;background:var(--clay, #dfd2c1)}.system-section-divider .section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--steel, #4c5457);white-space:nowrap}.job-systems-section{display:flex;flex-direction:column;margin-bottom:.75rem}.job-systems-scroll{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:var(--clay, #dfd2c1) transparent}.job-systems-scroll::-webkit-scrollbar{width:8px}.job-systems-scroll::-webkit-scrollbar-track{background:transparent}.job-systems-scroll::-webkit-scrollbar-thumb{background-color:var(--clay, #dfd2c1);border-radius:4px}.job-systems-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--steel, #4c5457)}.system-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--clay, #dfd2c1)}.system-section-header .section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink, #1f2426)}.system-section-header .section-count{font-size:.75rem;color:var(--muted, #8a8f92)}.empty-job-systems{padding:1.5rem;text-align:center;background:var(--sand, #f4efe6);border:1px dashed var(--clay, #dfd2c1);border-radius:.5rem;margin-bottom:1rem}.empty-job-systems p{margin:0;font-size:.875rem;color:var(--steel, #4c5457)}.empty-job-systems .help-text{margin-top:.5rem;font-size:.75rem;color:var(--muted, #8a8f92)}.collapsible-section{margin-top:1rem;border:1px solid var(--clay, #dfd2c1);border-radius:.5rem;overflow:hidden}.collapsible-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--sand, #f4efe6);border:none;cursor:pointer;font-size:.75rem;color:var(--steel, #4c5457);transition:background-color .2s cubic-bezier(.4,0,.2,1);min-height:44px}.collapsible-toggle:hover{background:var(--clay, #dfd2c1)}.collapsible-toggle:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:-2px}.collapsible-toggle .toggle-icon{font-size:.625rem;color:var(--muted, #8a8f92);transition:transform .2s cubic-bezier(.4,0,.2,1)}.collapsible-toggle .section-label{font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex:1;text-align:left}.collapsible-toggle .section-count{color:var(--muted, #8a8f92)}.collapsible-content{padding:.75rem .75rem 1.25rem;background:var(--card, #fdfbf7);animation:slideDown .2s cubic-bezier(.4,0,.2,1);max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--clay, #dfd2c1) transparent}.collapsible-content::-webkit-scrollbar{width:6px}.collapsible-content::-webkit-scrollbar-track{background:transparent}.collapsible-content::-webkit-scrollbar-thumb{background-color:var(--clay, #dfd2c1);border-radius:3px}.collapsible-content::-webkit-scrollbar-thumb:hover{background-color:var(--steel, #4c5457)}.source-doc-tag{display:inline-block;font-size:.625rem;font-weight:500;padding:.125rem .5rem;background:var(--sky, #416c86);color:#fff;border-radius:9999px;margin-left:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;flex-shrink:1;min-width:0}.source-document-link{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--clay, #dfd2c1)}.view-source-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);border-radius:.375rem;color:var(--sky, #416c86);font-size:.8125rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:44px}.view-source-button:hover{background:var(--clay, #dfd2c1);color:var(--ink, #1f2426);border-color:var(--steel, #4c5457)}.view-source-button:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.badge.optional{background:var(--warning-bg, #fef3c7);color:var(--warning-color, #b45309)}.badge.small{font-size:.5rem;padding:.0625rem .375rem;margin-left:.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 959px){.material-system-import-wizard{gap:1rem}.wizard-content{padding:.5rem .75rem}.wizard-step h3{font-size:1rem}.wizard-description{font-size:.8125rem}.system-section-header .section-label{font-size:.6875rem}.system-card{padding:.75rem}.system-header strong{font-size:.875rem}.source-doc-tag{max-width:100px;font-size:.5625rem}.system-meta{font-size:.75rem}.form-grid{grid-template-columns:1fr}.wizard-actions button{min-height:44px;min-width:44px}.wizard-actions{padding-top:.75rem;gap:.5rem}}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--steel, #4c5457)}.form-input,.form-select{padding:.5rem .75rem;border:1px solid var(--clay, #dfd2c1);border-radius:.375rem;font-size:.875rem;background:var(--card, #fdfbf7);transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);min-height:44px}.form-input:focus,.form-select:focus{outline:none;border-color:var(--rust, #b45a3c);box-shadow:0 0 0 3px #b45a3c26}.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;min-height:44px}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.zone-breakdown{margin-top:1rem;padding:1rem;background:var(--sand, #f4efe6);border-radius:.5rem;border:1px solid var(--clay, #dfd2c1)}.zone-breakdown h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--ink, #1f2426)}.zone-list{display:flex;flex-direction:column;gap:.5rem}.zone-item{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:var(--card, #fdfbf7);border-radius:.25rem;border:1px solid var(--clay, #dfd2c1);font-size:.875rem}.zone-label{flex:1;font-weight:500;color:var(--ink, #1f2426)}.zone-value{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:600;color:var(--sky, #416c86);background:var(--sand, #f4efe6);padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.zone-confidence{font-size:.75rem;color:var(--warning, #c7882b);font-style:italic}.components-preview{margin-top:.5rem;padding:1rem;background:var(--sand, #f4efe6);border-radius:.5rem;border:1px solid var(--clay, #dfd2c1)}.components-preview h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--ink, #1f2426)}.component-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.component-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:.25rem;font-size:.875rem;min-height:44px}.component-item.optional{background:var(--warning-bg-light, #fffbeb)}.component-item.excluded{opacity:.5;text-decoration:line-through}.component-name{flex:1;font-weight:500}.component-type,.components-preview .component-rate{color:var(--muted, #8a8f92);font-size:.75rem}.preview-summary{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--sand, #f4efe6);border-radius:.5rem;border:1px solid var(--clay, #dfd2c1)}.summary-row{display:flex;justify-content:space-between;font-size:.875rem}.summary-row span{color:var(--steel, #4c5457)}.summary-row strong{color:var(--ink, #1f2426)}.preview-table-container{max-height:250px;overflow-y:auto;border:1px solid var(--clay, #dfd2c1);border-radius:.5rem}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--clay, #dfd2c1)}.preview-table th{background:var(--clay, #dfd2c1);font-weight:600;color:var(--ink, #1f2426);position:sticky;top:0}.preview-table td.quantity{text-align:right;font-family:monospace}.preview-table tr.optional-row{background:var(--warning-bg-light, #fffbeb)}.info-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);border-radius:.5rem;font-size:.875rem;color:var(--steel, #4c5457)}.info-banner.auto-fill-indicator{background:#5d7b6a1a;border-color:var(--sage, #5d7b6a);color:var(--sage, #5d7b6a)}.info-banner.warning-indicator{background:#c7882b1a;border-color:var(--warning, #c7882b);color:var(--warning, #c7882b)}.info-banner .info-icon,.info-banner .loading-icon,.info-banner .warning-icon{font-size:1.25rem;line-height:1}.info-banner .dismiss-button{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:0 .25rem;margin-left:.5rem;color:inherit;opacity:.7}.warning-banner{padding:.75rem 1rem;background:#c7882b26;border:1px solid var(--warning, #c7882b);border-radius:.5rem;font-size:.875rem;color:var(--warning, #c7882b)}.error-banner{padding:.75rem 1rem;background:#b742321a;border:1px solid var(--danger, #b74232);border-radius:.5rem;font-size:.875rem;color:var(--danger, #b74232)}.wizard-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--clay, #dfd2c1)}.wizard-actions button{min-height:44px;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),transform .1s cubic-bezier(.4,0,.2,1)}.wizard-actions button:active{transform:scale(.98)}.wizard-actions button:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--steel, #4c5457)}.empty-state{text-align:center;padding:2rem;color:var(--steel, #4c5457)}.help-text{font-size:.75rem}.document-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:155;background:#1f242699;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s cubic-bezier(.4,0,.2,1)}.document-preview-modal{background:var(--card, #fdfbf7);border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:scaleUp .2s cubic-bezier(.4,0,.2,1)}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.document-preview-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--clay, #dfd2c1);background:var(--sand, #f4efe6)}.document-preview-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--ink, #1f2426);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:1rem}.document-preview-header .close-button{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--steel, #4c5457);cursor:pointer;padding:.25rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.document-preview-header .close-button:hover{background:var(--clay, #dfd2c1);color:var(--ink, #1f2426)}.document-preview-header .close-button:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.document-preview-content{flex:1;overflow-y:auto;padding:1.5rem}.document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.document-loading .loading-spinner-icon{width:40px;height:40px;border:3px solid var(--clay, #dfd2c1);border-top-color:var(--rust, #b45a3c);border-radius:50%;animation:spin .6s linear infinite}.document-loading p{margin:0;color:var(--steel, #4c5457);font-size:.875rem}.document-error{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1rem}.document-error .error-icon{font-size:2.5rem;line-height:1}.document-error h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--ink, #1f2426)}.document-error p{margin:0;font-size:.875rem;color:var(--steel, #4c5457);line-height:1.5}.document-error .document-title{font-size:.8125rem;padding:.5rem .75rem;background:var(--sand, #f4efe6);border-radius:.375rem;margin-top:.25rem}.document-error .error-instructions{font-size:.8125rem;max-width:360px}.document-error .info-text{font-size:.75rem;color:var(--muted, #8a8f92);font-style:italic;max-width:320px}.document-error .retry-button{margin-top:.5rem;padding:.5rem 1rem;background:var(--rust, #b45a3c);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;min-height:44px;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.document-error .retry-button:hover{background:#9d4d32}.document-error .retry-button:focus-visible{outline:2px solid var(--rust, #b45a3c);outline-offset:2px}.document-error.azure-not-configured .error-icon{color:var(--sky, #416c86)}.document-error.api-error .error-icon{color:var(--warning, #c7882b)}.document-error.network-error .error-icon{color:var(--danger, #b74232)}.document-preview-footer{display:flex;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--clay, #dfd2c1);background:var(--sand, #f4efe6)}.scope-pm-percent-cell{display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:3px 8px;border-radius:4px;background:var(--cream, #fdfaf3);border:1px dashed var(--clay, #c9b896);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;transition:all .12s ease;min-width:52px;justify-content:space-between}.scope-pm-percent-cell:hover,.scope-pm-percent-cell:focus{background:var(--sand, #f4efe6);border-color:var(--rust, #b45a3c);border-style:solid;outline:none}.scope-pm-percent-cell:focus-visible{box-shadow:0 0 0 2px #b45a3c33}.scope-pm-percent-value{color:var(--ink, #2a2418);font-weight:500}.scope-pm-percent-edit-icon{font-size:.75em;color:var(--muted, #999);opacity:.6;transition:opacity .12s ease}.scope-pm-percent-cell:hover .scope-pm-percent-edit-icon,.scope-pm-percent-cell:focus .scope-pm-percent-edit-icon{opacity:1;color:var(--rust, #b45a3c)}.scope-pm-percent-saving{margin-left:2px;font-size:.8em;color:var(--muted, #999)}.media-uploader{display:flex;flex-direction:column;gap:1rem}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed var(--border-color, #e5e7eb);border-radius:.75rem;background:var(--bg-secondary, #f9fafb);cursor:pointer;transition:all .2s ease;min-height:200px}.drop-zone:hover:not(.uploading){border-color:var(--primary, #3b82f6);background:var(--bg-primary-light, #eff6ff)}.drop-zone.active{border-color:var(--primary, #3b82f6);border-style:solid;background:var(--bg-primary-light, #eff6ff)}.drop-zone.uploading{cursor:wait;opacity:.8}.drop-icon{font-size:3rem;margin-bottom:.75rem}.drop-text{font-size:1rem;font-weight:500;color:var(--text-primary, #1f2937);margin:0}.drop-hint{font-size:.75rem;color:var(--text-muted, #9ca3af);margin:.25rem 0 0}.progress-bar-container{width:100%;max-width:200px;height:4px;background:var(--border-color, #e5e7eb);border-radius:2px;margin-top:1rem;overflow:hidden}.progress-bar{height:100%;background:var(--primary, #3b82f6);border-radius:2px;transition:width .3s ease}.camera-view{position:relative;border-radius:.75rem;overflow:hidden;background:#000}.camera-preview{width:100%;max-height:400px;object-fit:contain}.camera-controls{display:flex;gap:1rem;justify-content:center;padding:1rem;background:#00000080}.camera-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:transform .1s ease}.camera-btn:active{transform:scale(.95)}.camera-btn.capture{background:var(--primary, #3b82f6);color:#fff}.camera-btn.cancel{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #1f2937)}.camera-trigger{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;background:var(--bg-secondary, #f9fafb);color:var(--text-primary, #1f2937);font-size:.875rem;cursor:pointer;transition:all .15s ease}.camera-trigger:hover{background:var(--bg-hover, #f3f4f6);border-color:var(--primary, #3b82f6)}.captured-preview{position:relative;border-radius:.75rem;overflow:hidden}.captured-preview img{width:100%;max-height:400px;object-fit:contain;background:#000}.upload-progress-overlay{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0000004d}.upload-error{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:.5rem;color:var(--error, #ef4444);font-size:.875rem}.upload-error button{padding:.25rem .5rem;border:1px solid var(--error, #ef4444);border-radius:.25rem;background:transparent;color:var(--error, #ef4444);font-size:.75rem;cursor:pointer}.upload-error button:hover{background:var(--error, #ef4444);color:#fff}.location-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--success-bg, #f0fdf4);border:1px solid var(--success-border, #bbf7d0);border-radius:.375rem;color:var(--success, #22c55e);font-size:.75rem}@media (max-width: 959px){.drop-zone{padding:1.5rem 1rem;min-height:160px}.drop-icon{font-size:2.5rem}.drop-text{font-size:.9375rem;text-align:center}.camera-btn,.camera-trigger{min-height:44px;touch-action:manipulation}.camera-controls{padding:.75rem;gap:.75rem}.upload-error button{min-height:44px;padding:.5rem .75rem;touch-action:manipulation}}@media (max-width: 480px){.drop-zone{padding:1rem;min-height:140px}.drop-icon{font-size:2rem;margin-bottom:.5rem}.camera-controls{flex-direction:column;gap:.5rem}.camera-btn{width:100%}}.draw-requests-section{margin-bottom:2rem;padding:1.5rem;background:var(--card);border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.draw-requests-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.draw-requests-section .section-title{font-size:1.25rem;font-weight:600;color:var(--ink);margin:0}.draw-requests-section .section-actions{display:flex;gap:.5rem;align-items:center}.status-summary-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.status-card{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;min-width:120px;background:var(--sand);border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.status-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.status-card.active{border-color:currentColor}.status-card.empty{opacity:.5}.status-amber{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,white)}.status-amber.active{border-color:var(--warning)}.status-green{color:var(--success);background:color-mix(in srgb,var(--success) 10%,white)}.status-green.active{border-color:var(--success)}.status-blue{color:var(--info);background:color-mix(in srgb,var(--info) 10%,white)}.status-blue.active{border-color:var(--info)}.status-red{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,white)}.status-red.active{border-color:var(--danger)}.status-gray{color:var(--muted);background:var(--sand)}.status-gray.active{border-color:var(--muted)}.status-icon{font-size:1.25rem;margin-bottom:.25rem}.status-label{font-size:.75rem;font-weight:500;text-transform:uppercase}.status-amount{font-size:1rem;font-weight:600;font-family:JetBrains Mono,monospace}.status-count{font-size:.75rem;opacity:.7}.retainage-summary{margin-left:auto;padding:.75rem 1rem;background:var(--sand);border-radius:.5rem;text-align:right}.retainage-label{display:block;font-size:.75rem;color:var(--muted)}.retainage-amount{font-size:1.125rem;font-weight:600;font-family:JetBrains Mono,monospace;color:var(--ink)}.retainage-released-note{display:block;font-size:.7rem;color:var(--color-success, #059669);margin-top:.15rem}.draw-requests-section .table-container{overflow-x:auto}.draw-requests-table{width:100%;border-collapse:collapse}.draw-requests-table th,.draw-requests-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--clay)}.draw-requests-table th{background:var(--sand);font-weight:600;font-size:.875rem;color:var(--steel)}.draw-requests-table tbody tr{cursor:pointer;transition:background-color .15s ease}.draw-requests-table tbody tr:hover{background:var(--sand)}.draw-requests-section .text-right{text-align:right}.draw-requests-section .text-center{text-align:center}.draw-requests-section .font-mono{font-family:JetBrains Mono,monospace}.draw-requests-section .font-bold{font-weight:600}.draw-requests-section .text-muted{color:var(--muted)}.draw-requests-table .action-buttons{display:flex;gap:.25rem}.btn-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:.25rem;cursor:pointer;transition:all .15s ease}.btn-action:hover{transform:scale(1.1)}.btn-action.btn-primary{background:var(--info);color:#fff}.btn-action.btn-secondary{background:var(--clay);color:var(--steel)}.btn-action.btn-success{background:var(--success);color:#fff}.btn-action.btn-warning{background:var(--warning);color:#fff}.btn-action.btn-danger{background:var(--danger);color:#fff}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.size-sm{padding:.125rem .375rem;font-size:.625rem}.status-badge.size-lg{padding:.375rem .75rem;font-size:.875rem}.draw-requests-section .empty-state{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.draw-requests-section .empty-state p{margin-bottom:1rem}.draw-requests-section .loading-indicator{text-align:center;padding:2rem;color:var(--muted)}.draw-requests-section .alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.draw-requests-section .alert-error{background:color-mix(in srgb,var(--danger) 10%,white);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,white)}.draw-requests-section .alert-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:inherit}.draw-request-form .form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--clay)}.draw-request-form .form-section:last-child{border-bottom:none}.draw-request-form h4{font-size:.875rem;font-weight:600;color:var(--steel);margin-bottom:.75rem}.draw-request-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.draw-request-form .form-group{margin-bottom:1rem}.draw-request-form .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--steel);margin-bottom:.375rem}.draw-request-form .required{color:var(--danger)}.draw-request-form .form-input,.draw-request-form .form-textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--clay);border-radius:.375rem;font-size:.875rem}.draw-request-form .form-input:focus,.draw-request-form .form-textarea:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 3px color-mix(in srgb,var(--info) 15%,transparent)}.draw-request-form .form-errors{background:color-mix(in srgb,var(--danger) 10%,white);border:1px solid color-mix(in srgb,var(--danger) 30%,white);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.draw-request-form .form-errors ul{margin:0;padding-left:1.25rem;color:var(--danger)}.draw-request-form .input-with-suffix{display:flex;align-items:center}.draw-request-form .input-with-suffix .form-input{border-top-right-radius:0;border-bottom-right-radius:0}.draw-request-form .input-suffix{padding:.5rem .75rem;background:var(--sand);border:1px solid var(--clay);border-left:none;border-radius:0 .375rem .375rem 0;font-size:.875rem;color:var(--muted)}.draw-request-form .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.draw-request-form .info-item{display:flex;justify-content:space-between}.draw-request-form .info-label{color:var(--muted)}.draw-request-form .info-value{font-weight:600}.calculated-fields{background:var(--sand);padding:1rem;border-radius:.5rem;margin-top:1rem}.calculated-row{display:flex;justify-content:space-between;padding:.5rem 0}.calculated-row.retainage{color:var(--danger)}.calculated-row.net-amount{border-top:2px solid var(--clay);margin-top:.5rem;padding-top:.75rem}.draw-detail-modal .detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.draw-detail-modal .detail-date{color:var(--muted)}.draw-detail-modal .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.draw-detail-modal .detail-column>div{margin-bottom:1.5rem}.draw-detail-modal h4{font-size:.875rem;font-weight:600;color:var(--steel);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.draw-detail-modal .info-rows{display:flex;flex-direction:column;gap:.5rem}.draw-detail-modal .info-row{display:flex;justify-content:space-between}.draw-detail-modal .info-row .label{color:var(--muted)}.draw-detail-modal .info-row .value{font-weight:500}.financial-breakdown{background:var(--sand);padding:1rem;border-radius:.5rem}.financial-row{display:flex;justify-content:space-between;padding:.375rem 0}.financial-row .label{color:var(--muted)}.financial-row .value{font-family:JetBrains Mono,monospace}.financial-row.retainage .value{color:var(--danger)}.financial-row.net-amount{border-top:2px solid var(--clay);margin-top:.5rem;padding-top:.75rem}.financial-divider{height:1px;background:var(--clay);margin:.5rem 0}.draw-detail-modal .empty-state-text{color:var(--muted);font-size:.875rem;font-style:italic}.mini-table{width:100%;border-collapse:collapse;font-size:.875rem}.mini-table th,.mini-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--clay)}.mini-table th{font-weight:500;color:var(--muted)}.waiver-list{list-style:none;padding:0;margin:0}.waiver-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--clay)}.waiver-item:last-child{border-bottom:none}.waiver-icon{font-size:1rem}.waiver-vendor{flex:1}.waiver-status{font-size:.75rem;text-transform:uppercase;opacity:.7}.document-list{display:flex;flex-direction:column;gap:.5rem}.document-link{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--sand);border-radius:.375rem;text-decoration:none;color:var(--steel);transition:background .15s ease}.document-link:hover{background:var(--clay)}.doc-icon{font-size:1.25rem}.doc-name{font-size:.875rem}.draw-detail-modal .section-header-inline{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.draw-detail-modal .section-header-inline h4{flex:1;margin-bottom:0}.waiver-summary-badge{font-size:.7rem;padding:.125rem .5rem;border-radius:999px;background:var(--clay);color:var(--steel);font-weight:500;white-space:nowrap}.btn-xs{font-size:.75rem;padding:.2rem .5rem;border-radius:4px}.btn-outline{background:transparent;border:1px solid var(--clay);color:var(--steel);cursor:pointer}.btn-outline:hover{background:var(--sand)}.btn-micro{font-size:.65rem;padding:.125rem .375rem;border:1px solid var(--clay);border-radius:3px;background:var(--surface, #fff);cursor:pointer;white-space:nowrap;line-height:1.3}.btn-micro.btn-success{color:#059669;border-color:#059669}.btn-micro.btn-primary{color:var(--primary, #2563eb);border-color:var(--primary, #2563eb)}.btn-micro.btn-danger{color:#dc2626;border-color:#dc2626;font-weight:600}.btn-micro:hover{opacity:.8}.btn-micro:disabled{opacity:.4;cursor:default}.waiver-type-label{font-size:.7rem;text-transform:capitalize;color:var(--muted, #6b7280)}.waiver-amount{font-size:.75rem;font-weight:500;white-space:nowrap}.waiver-actions{margin-left:auto;display:flex;gap:.25rem;flex-shrink:0}.inline-waiver-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--sand, #f9fafb);border:1px solid var(--clay);border-radius:6px;margin-bottom:.75rem}.inline-form-row{display:flex;gap:.5rem}.inline-form-row input,.inline-form-row select{flex:1;font-size:.8rem;padding:.375rem .5rem;border:1px solid var(--clay);border-radius:4px}.inline-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.document-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--sand);border-radius:.375rem}.document-link-btn{flex:1;display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--primary, #2563eb);padding:0;font-size:.875rem}.document-link-btn:hover{text-decoration:underline}.inline-uploader{margin-bottom:.75rem}.inline-uploader .drop-zone{padding:1rem;min-height:auto}.draw-detail-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--clay)}.draw-detail-modal .footer-actions{display:flex;gap:.5rem}.draw-requests-section .btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.draw-requests-section .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.draw-requests-section .btn-primary{background:var(--info);color:#fff}.draw-requests-section .btn-primary:hover{background:var(--sky)}.draw-requests-section .btn-secondary{background:var(--clay);color:var(--steel)}.draw-requests-section .btn-secondary:hover{background:var(--muted);color:var(--card)}.draw-requests-section .btn-success{background:var(--success);color:#fff}.draw-requests-section .btn-success:hover{background:var(--sage)}.draw-requests-section .btn-warning{background:var(--warning);color:#fff}.draw-requests-section .btn-warning:hover{background:var(--sun)}.draw-requests-section .btn-danger{background:var(--danger);color:#fff}.draw-requests-section .btn-danger:hover{background:var(--rust)}.draw-requests-section .btn:disabled{opacity:.5;cursor:not-allowed}.aia-g702-section{margin-top:1.5rem;border:1px solid var(--clay);border-radius:.5rem;overflow:hidden}.aia-g702-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--sand);border:none;cursor:pointer;text-align:left;transition:background .15s ease}.aia-g702-header:hover{background:var(--clay)}.aia-g702-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--steel);text-transform:uppercase;letter-spacing:.05em}.aia-g702-toggle{font-size:.875rem;color:var(--muted);line-height:1}.aia-g702-body{padding:1rem}.aia-g702-line{display:flex;align-items:baseline;padding:.375rem 0}.aia-g702-line .line-number{width:2rem;flex-shrink:0;font-weight:600;color:var(--steel);font-size:.875rem}.aia-g702-line .line-desc{flex:1;font-size:.875rem;color:var(--ink)}.aia-g702-line .line-hint{color:var(--muted);font-size:.75rem;font-weight:400}.aia-g702-line .line-amount{flex-shrink:0;text-align:right;min-width:7rem;font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--ink)}.aia-g702-line.sub-item{padding-left:2rem}.aia-g702-line.sub-item .line-number{width:1.5rem;font-weight:500;color:var(--muted);font-size:.8125rem}.aia-g702-line.sub-item .line-desc{font-size:.8125rem;color:var(--muted)}.aia-g702-line.sub-item .line-amount{font-size:.8125rem}.aia-g702-line .retainage-value{color:var(--danger)}.aia-g702-line.retainage-total .line-desc{font-weight:600;color:var(--steel);font-size:.8125rem}.aia-g702-line.subtotal .line-desc,.aia-g702-line.subtotal .line-amount{font-weight:600}.aia-g702-line.total{background:var(--sand);margin:.25rem -1rem;padding:.625rem 1rem;border-top:2px solid var(--clay);border-bottom:2px solid var(--clay)}.aia-g702-line.total .line-desc{font-weight:700;font-size:.9375rem;color:var(--ink)}.aia-g702-line.total .line-amount{font-weight:700;font-size:1rem;color:var(--ink)}.aia-g702-divider{height:1px;background:var(--clay);margin:.5rem 0}.aia-g702-percent{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--clay);font-size:.8125rem}.aia-g702-percent .percent-label{color:var(--muted);font-weight:500}.aia-g702-percent .percent-range{font-weight:600;color:var(--ink);font-family:JetBrains Mono,monospace}.aia-g702-percent .percent-period{color:var(--muted)}@media (max-width: 959px){.status-summary-bar{flex-direction:column}.status-card{flex-direction:row;justify-content:space-between;min-width:auto}.retainage-summary{margin-left:0;text-align:left}.draw-request-form .form-row,.draw-detail-modal .detail-grid{grid-template-columns:1fr}.draw-detail-modal .modal-footer{flex-direction:column;gap:1rem}.draw-detail-modal .footer-actions{flex-wrap:wrap;justify-content:center}}.draw-requests-section .btn-retainage{background:transparent;border:1px solid var(--accent-color, #b8860b);color:var(--accent-color, #b8860b);border-radius:.375rem;cursor:pointer;font-size:.8125rem;padding:.375rem .75rem;font-weight:500;transition:background .2s,color .2s}.draw-requests-section .btn-retainage:hover{background:var(--accent-color, #b8860b);color:#fff}.draw-type-badge{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;padding:1px 4px;border-radius:3px;margin-left:6px;vertical-align:middle}.draw-type-badge.retainage{background:color-mix(in srgb,var(--success) 15%,white);color:var(--success, #059669)}.draw-requests-table td.inline-editable{cursor:pointer;position:relative}.draw-requests-table td.inline-editable:hover{background:color-mix(in srgb,var(--info, #3b82f6) 6%,transparent)}.editable-date-value{display:inline-flex;align-items:center;gap:4px}.editable-date-value .edit-hint{opacity:0;font-size:.7rem;color:var(--muted);transition:opacity .15s}.draw-requests-table td.inline-editable:hover .edit-hint{opacity:.6}.inline-date-input{font-family:inherit;font-size:.875rem;padding:2px 4px;border:1px solid var(--info, #3b82f6);border-radius:4px;background:#fff;color:var(--ink);outline:none;width:130px}.inline-date-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--info, #3b82f6) 25%,transparent)}.status-card-wrapper{display:flex;flex-direction:column;align-items:center}.status-card{position:relative}.status-calendar-btn{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;color:var(--muted, #8a8f92);cursor:pointer;transition:color .15s,background .15s;z-index:1}.status-calendar-btn:hover{color:var(--sky, #416c86);background:#416c861a}.status-calendar-btn.has-dates{color:var(--sky, #416c86)}.status-calendar-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:1000;background:var(--card, #fdfbf7);border:1px solid var(--border, #eadfcd);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:220px;max-height:300px;overflow-y:auto;padding:6px;margin-top:4px}.calendar-dropdown-header{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--steel, #64748b);border-bottom:1px solid var(--clay, #e2e8f0);margin-bottom:4px}.calendar-header-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-amber{background:var(--warning)}.status-dot-green{background:var(--success)}.status-dot-blue{background:var(--info)}.status-dot-red{background:var(--danger)}.calendar-dropdown-empty{padding:12px 10px;text-align:center;font-size:.8rem;color:var(--muted);font-style:italic}.calendar-dropdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:4px;font-size:.85rem}.calendar-dropdown-row:hover{background:#00000008}.calendar-draw-num{font-weight:500;color:var(--ink);white-space:nowrap}.calendar-draw-date{font-weight:600;color:var(--sky, #416c86);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.8rem}@media (max-width: 600px){.draw-requests-section .section-header{flex-direction:column;gap:1rem;align-items:flex-start}}.lien-waiver-section{background:var(--card);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.lien-waiver-section .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.lien-waiver-section .section-title h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink)}.lien-waiver-section .section-subtitle{font-size:.8125rem;color:var(--muted)}.lien-waiver-section .section-actions{display:flex;gap:.5rem}.waiver-status-summary{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.status-chip{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--clay);border-radius:20px;background:var(--card);cursor:pointer;transition:all .2s;font-size:.8125rem}.status-chip:hover{border-color:var(--muted)}.status-chip.active{border-width:2px}.status-chip.amber{border-color:var(--warning)}.status-chip.amber.active{background:color-mix(in srgb,var(--warning) 10%,white)}.status-chip.green{border-color:var(--success)}.status-chip.green.active{background:color-mix(in srgb,var(--success) 10%,white)}.status-chip.blue{border-color:var(--info)}.status-chip.blue.active{background:color-mix(in srgb,var(--info) 10%,white)}.status-chip.gray{border-color:var(--muted)}.status-chip.gray.active{background:var(--sand)}.status-chip.red{border-color:var(--danger)}.status-chip.red.active{background:color-mix(in srgb,var(--danger) 10%,white)}.chip-count{font-weight:600}.chip-label{color:var(--muted)}.waiver-table-container{overflow-x:auto}.waiver-table{width:100%;border-collapse:collapse;font-size:.875rem}.waiver-table th{text-align:left;padding:.75rem 1rem;background:var(--sand);font-weight:500;color:var(--muted);border-bottom:1px solid var(--clay)}.waiver-table td{padding:.75rem 1rem;border-bottom:1px solid var(--clay);vertical-align:middle}.waiver-table tr:hover{background:var(--sand)}.waiver-table tr.overdue-row{background:color-mix(in srgb,var(--danger) 10%,white)}.vendor-cell{min-width:150px}.vendor-name{display:block;font-weight:500;color:var(--ink)}.vendor-contact{display:block;font-size:.75rem;color:var(--muted)}.waiver-type{font-size:.8125rem;color:var(--steel)}.amount-cell{font-family:JetBrains Mono,monospace}.status-cell{min-width:120px}.overdue-indicator{display:block;font-size:.6875rem;color:var(--danger);margin-top:.125rem}.waiver-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500}.waiver-status-badge.status-amber{background:color-mix(in srgb,var(--warning) 15%,white);color:var(--warning)}.waiver-status-badge.status-green{background:color-mix(in srgb,var(--success) 15%,white);color:var(--success)}.waiver-status-badge.status-blue{background:color-mix(in srgb,var(--info) 15%,white);color:var(--info)}.waiver-status-badge.status-gray{background:var(--sand);color:var(--muted)}.waiver-status-badge.status-red{background:color-mix(in srgb,var(--danger) 15%,white);color:var(--danger)}.badge-icon{font-size:.6875rem}.actions-cell{min-width:200px}.lien-waiver-section .action-buttons{display:flex;gap:.25rem;flex-wrap:wrap}.action-btn.green{background:color-mix(in srgb,var(--success) 15%,white);color:var(--success);border-color:var(--success)}.action-btn.green:hover{background:color-mix(in srgb,var(--success) 25%,white)}.action-btn.blue{background:color-mix(in srgb,var(--info) 15%,white);color:var(--info);border-color:var(--info)}.action-btn.blue:hover{background:color-mix(in srgb,var(--info) 25%,white)}.action-btn.amber{background:color-mix(in srgb,var(--warning) 15%,white);color:var(--warning);border-color:var(--warning)}.action-btn.amber:hover{background:color-mix(in srgb,var(--warning) 25%,white)}.action-btn.red{background:color-mix(in srgb,var(--danger) 15%,white);color:var(--danger);border-color:var(--danger)}.action-btn.red:hover{background:color-mix(in srgb,var(--danger) 25%,white)}.action-btn.edit,.action-btn.delete{background:var(--sand);color:var(--muted);border-color:var(--clay);padding:.25rem .5rem}.action-btn.edit:hover{background:var(--clay)}.waiver-form .form-group,.bulk-waiver-form .form-group{margin-bottom:1rem}.waiver-form label,.bulk-waiver-form label{display:block;font-size:.875rem;font-weight:500;color:var(--steel);margin-bottom:.375rem}.waiver-form .required,.bulk-waiver-form .required{color:var(--danger)}.waiver-form .form-select,.bulk-waiver-form .form-select,.waiver-form .form-input,.bulk-waiver-form .form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--clay);border-radius:.375rem;font-size:.875rem}.waiver-form .form-select:focus,.bulk-waiver-form .form-select:focus,.waiver-form .form-input:focus,.bulk-waiver-form .form-input:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 3px color-mix(in srgb,var(--info) 15%,transparent)}.waiver-form .field-hint,.bulk-waiver-form .field-hint{display:block;font-size:.75rem;color:var(--muted);margin-top:.25rem}.waiver-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.waiver-form .form-group.half{width:100%}.input-with-prefix{display:flex;align-items:stretch}.input-prefix{padding:.5rem .75rem;background:var(--sand);border:1px solid var(--clay);border-right:none;border-radius:.375rem 0 0 .375rem;font-size:.875rem;color:var(--muted);display:flex;align-items:center}.input-with-prefix .form-input{border-top-left-radius:0;border-bottom-left-radius:0}.waiver-form .form-textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--clay);border-radius:.375rem;font-size:.875rem;resize:vertical}.waiver-form .form-errors,.bulk-waiver-form .form-error{background:color-mix(in srgb,var(--danger) 10%,white);border:1px solid color-mix(in srgb,var(--danger) 30%,white);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;color:var(--danger)}.waiver-form .form-errors ul{margin:0;padding-left:1.25rem}.vendor-selection-header{display:flex;justify-content:space-between;align-items:center}.vendor-checkbox-list{max-height:250px;overflow-y:auto;border:1px solid var(--clay);border-radius:.5rem;padding:.5rem}.vendor-checkbox{display:flex;align-items:center;gap:.625rem;padding:.5rem;border-radius:.375rem;cursor:pointer}.vendor-checkbox:hover{background:var(--sand)}.vendor-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.vendor-info{display:flex;flex-direction:column}.vendor-info .vendor-name{font-weight:500;color:var(--ink)}.vendor-info .vendor-email{font-size:.75rem;color:var(--muted)}.request-summary{background:color-mix(in srgb,var(--info) 10%,white);border:1px solid color-mix(in srgb,var(--info) 30%,white);border-radius:.375rem;padding:.75rem 1rem;color:var(--info);text-align:center;margin-bottom:1rem}.lien-waiver-section .loading-state,.lien-waiver-section .empty-state{text-align:center;padding:2rem;color:var(--muted)}.lien-waiver-section .empty-state p{margin-bottom:.5rem}.lien-waiver-section .empty-state .hint{font-size:.875rem;font-style:italic;margin-bottom:1rem}.no-draws-message,.no-vendors-message{color:var(--muted);font-style:italic;padding:1rem;text-align:center;background:var(--sand);border-radius:.5rem}.no-vendors-prompt{text-align:center;padding:1rem;background:color-mix(in srgb,var(--info, #3b82f6) 8%,white);border:1px dashed color-mix(in srgb,var(--info, #3b82f6) 40%,white);border-radius:.5rem}.no-vendors-prompt p{margin:0 0 .75rem;font-size:.875rem;color:var(--steel, #64748b)}.lien-waiver-section .alert{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.lien-waiver-section .alert-error{background:color-mix(in srgb,var(--danger) 10%,white);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,white)}.lien-waiver-section .alert-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:inherit}.lien-waiver-section .btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.lien-waiver-section .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.lien-waiver-section .btn-primary{background:var(--info);color:#fff}.lien-waiver-section .btn-primary:hover{background:var(--sky)}.lien-waiver-section .btn-secondary{background:var(--clay);color:var(--steel)}.lien-waiver-section .btn-secondary:hover{background:var(--muted);color:var(--card)}.btn-link{background:none;border:none;color:var(--info);cursor:pointer;font-size:.875rem;padding:0}.btn-link:hover{text-decoration:underline}.waiver-form .link-button{background:none;border:none;color:var(--info);cursor:pointer;font-size:.8125rem;font-weight:500;padding:0;margin-left:.75rem;text-decoration:none}.waiver-form .link-button:hover{text-decoration:underline;color:var(--sky)}.waiver-form .add-vendor-link{float:right;font-weight:700;font-size:.9375rem}@media (max-width: 959px){.lien-waiver-section .section-header{flex-direction:column;gap:.75rem}.lien-waiver-section .section-actions{width:100%;justify-content:stretch}.lien-waiver-section .section-actions button{flex:1}.waiver-status-summary{justify-content:center}.waiver-form .form-row{grid-template-columns:1fr}.waiver-form .add-vendor-link{float:none;display:block;margin-left:0;margin-top:.25rem;font-size:.875rem}}.unconditional-fields{margin-bottom:1rem}.unconditional-warning{background:var(--warning, #f59e0b);background:color-mix(in srgb,var(--warning, #f59e0b) 15%,white);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 30%,white);color:var(--ink, #1a1a2e);padding:.625rem .75rem;border-radius:6px;font-size:.8125rem;margin-bottom:.75rem}.field-error{color:var(--danger, #ef4444);font-size:.75rem;margin-top:.25rem;display:block}.input-error{border-color:var(--danger, #ef4444)!important}.payment-ref-cell{font-size:.8125rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-cell{text-align:center;width:50px}.doc-link{text-decoration:none;font-size:1.125rem}.doc-upload-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.5;padding:.125rem}.doc-upload-btn:hover{opacity:1}.action-btn.history{background:color-mix(in srgb,var(--info, #3b82f6) 15%,white);color:var(--info, #3b82f6);border-color:color-mix(in srgb,var(--info, #3b82f6) 30%,white)}.action-btn.history:hover{background:color-mix(in srgb,var(--info, #3b82f6) 25%,white)}.waiver-history{padding:.5rem 0}.history-timeline{display:flex;flex-direction:column;gap:0}.history-event{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--sand, #f5f5f0)}.history-event:last-child{border-bottom:none}.event-icon{font-size:1.125rem;flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--sand, #f5f5f0);border-radius:50%}.event-content{flex:1;min-width:0}.event-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.event-header strong{font-size:.875rem}.status-transition{font-size:.75rem;padding:.125rem .5rem;background:var(--sand, #f5f5f0);border-radius:10px;color:var(--steel, #64748b)}.event-meta{display:flex;gap:.5rem;align-items:center;margin-top:.25rem;font-size:.75rem;color:var(--muted, #94a3b8)}.event-actor{font-weight:500}.event-source{background:var(--sand, #f5f5f0);padding:.0625rem .375rem;border-radius:4px}.event-notes{margin-top:.375rem;font-size:.8125rem;color:var(--steel, #64748b);padding:.375rem .5rem;background:var(--sand, #f5f5f0);border-radius:4px}.waiver-history .loading-state,.waiver-history .empty-state{text-align:center;padding:2rem;color:var(--muted, #94a3b8)}.billing-records-section{background:var(--card);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.billing-records-section .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--clay)}.billing-records-section .section-title h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink)}.billing-records-section .section-subtitle{display:block;font-size:.8125rem;color:var(--muted);margin-top:.25rem}.billing-records-section .section-actions{display:flex;gap:.5rem}.billing-records-table-container{overflow-x:auto}.billing-records-table{width:100%;border-collapse:collapse;font-size:.875rem}.billing-records-table th{text-align:left;padding:.75rem 1rem;background:var(--sand);font-weight:500;color:var(--muted);border-bottom:1px solid var(--clay)}.billing-records-table td{padding:.75rem 1rem;border-bottom:1px solid var(--clay);vertical-align:middle}.billing-records-table tr:hover{background:var(--sand)}.billing-records-table .amount-col{text-align:right}.billing-records-table .actions-col{width:140px;text-align:center}.order-cell .order-number{font-weight:600;color:var(--steel)}.month-cell{color:var(--steel)}.amount-cell{font-family:JetBrains Mono,monospace;text-align:right;font-weight:500;color:var(--success)}.date-cell{color:var(--muted)}.actions-cell{min-width:140px}.billing-records-section .action-buttons{display:flex;gap:.375rem;justify-content:center}.action-btn{padding:.25rem .625rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;border:1px solid transparent;transition:all .15s}.action-btn.edit{background:var(--sand);color:var(--muted);border-color:var(--clay)}.action-btn.edit:hover{background:var(--clay);color:var(--steel)}.action-btn.delete{background:var(--sand);color:var(--muted);border-color:var(--clay)}.action-btn.delete:hover{background:color-mix(in srgb,var(--danger) 15%,white);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,white)}.table-summary{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--sand);border-radius:0 0 .5rem .5rem;margin-top:.5rem}.summary-label{font-weight:500;color:var(--steel)}.summary-value{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--success)}.summary-count{font-size:.8125rem;color:var(--muted)}.billing-records-section .loading-state,.billing-records-section .empty-state{text-align:center;padding:2rem;color:var(--muted)}.billing-records-section .empty-state p{margin-bottom:.5rem}.billing-records-section .empty-state .hint{font-size:.875rem;font-style:italic;margin-bottom:1rem}.billing-records-section .alert{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.billing-records-section .alert-error{background:color-mix(in srgb,var(--danger) 10%,white);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,white)}.billing-records-section .alert-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:inherit}.billing-records-section .btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.billing-records-section .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.billing-records-section .btn-primary{background:var(--info);color:#fff}.billing-records-section .btn-primary:hover{background:var(--sky)}.billing-records-section .btn-secondary{background:var(--clay);color:var(--steel)}.billing-records-section .btn-secondary:hover{background:var(--muted);color:var(--card)}@media (max-width: 959px){.billing-records-section{padding:1rem}.billing-records-section .section-header{flex-direction:column;gap:.75rem}.billing-records-section .section-actions{width:100%;justify-content:stretch}.billing-records-section .section-actions button{flex:1}.billing-records-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem 12px}.billing-records-table{min-width:500px}.billing-records-table th,.billing-records-table td{padding:.5rem .75rem;font-size:.8125rem;white-space:nowrap}.table-summary{flex-wrap:wrap;justify-content:center;gap:.25rem}}.draw-request-modal .loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.draw-request-modal .spinner{width:40px;height:40px;border:4px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.draw-request-modal .error-banner,.draw-request-modal .warning-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.draw-request-modal .error-banner{background-color:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);color:var(--color-error, #dc2626)}.draw-request-modal .warning-banner{background-color:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning-border, #fcd34d);color:var(--color-warning-text, #92400e)}.draw-request-modal .first-draw-warning{background-color:var(--color-info-bg, #eff6ff);border:1px solid var(--color-info-border, #bfdbfe);color:var(--color-info-text, #1e40af)}.draw-request-modal .overbilling-warning{flex-direction:column}.draw-request-modal .overbilling-content{display:flex;flex-direction:column;gap:.5rem}.draw-request-modal .retry-btn,.draw-request-modal .credit-draw-btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background-color .15s}.draw-request-modal .retry-btn{background:#fff;border:1px solid var(--color-error-border, #fecaca);color:var(--color-error, #dc2626)}.draw-request-modal .credit-draw-btn{background:var(--color-warning, #f59e0b);border:none;color:#fff;align-self:flex-start}.draw-request-modal .contract-exceeded{background-color:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);color:var(--color-error-text, #991b1b);padding:1rem;border-radius:.5rem;margin-top:1rem;display:flex;gap:.75rem}.draw-request-modal .contract-exceeded .warning-icon{font-size:1.25rem;flex-shrink:0}.draw-request-modal .contract-exceeded .warning-content{flex:1}.draw-request-modal .contract-exceeded .warning-title{font-weight:600;font-size:.9375rem;margin:0 0 .25rem;color:var(--color-error, #dc2626)}.draw-request-modal .contract-exceeded .warning-amount{font-size:.875rem;margin:0 0 .75rem}.draw-request-modal .contract-exceeded .warning-detail{font-size:.8125rem;margin:0 0 .5rem}.draw-request-modal .contract-exceeded .warning-checklist{margin:0;padding-left:1.25rem;font-size:.8125rem}.draw-request-modal .contract-exceeded .warning-checklist li{margin-bottom:.375rem}.draw-request-modal .contract-exceeded .warning-checklist li:last-child{margin-bottom:0}.draw-request-modal .contract-exceeded .warning-checklist em{color:var(--color-text-muted, #6b7280);font-style:normal;font-size:.75rem}.draw-request-modal .info-row.separator-top{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border, #e5e7eb)}.draw-request-modal .info-row.total-row.warning{background-color:var(--color-error-bg, #fef2f2);margin:0 -.5rem;padding:.5rem;border-radius:.25rem}.draw-request-modal .info-row.contract-comparison{font-size:.8125rem;color:var(--color-text-muted, #6b7280)}.draw-request-modal .form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.draw-request-modal .form-section h3{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text-heading, #111827)}.draw-request-modal .date-row{display:flex;gap:1rem}.draw-request-modal .form-group{flex:1}.draw-request-modal .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:var(--color-text-secondary, #6b7280)}.draw-request-modal .form-group input[type=date]{width:100%;padding:.5rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.draw-request-modal .form-group input[type=date]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.draw-request-modal .info-grid{display:flex;flex-direction:column;gap:.375rem}.draw-request-modal .info-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0}.draw-request-modal .info-label{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.draw-request-modal .info-label.sub-item{padding-left:1rem;font-size:.8125rem}.draw-request-modal .info-value{font-size:.875rem;font-weight:500;color:var(--color-text, #111827)}.draw-request-modal .info-value.bold{font-weight:600}.draw-request-modal .info-value.positive{color:var(--color-success, #059669)}.draw-request-modal .info-value.negative{color:var(--color-error, #dc2626)}.draw-request-modal .info-value.muted{color:var(--color-text-muted, #9ca3af)}.draw-request-modal .total-row{border-top:1px solid var(--color-border, #e5e7eb);margin-top:.5rem;padding-top:.75rem}.draw-request-modal .total-row.highlight{background-color:var(--color-success-bg, #ecfdf5);margin:.5rem -1rem 0;padding:.75rem 1rem;border-radius:.375rem}.draw-request-modal .co-section{margin-top:.5rem}.draw-request-modal .co-detail{padding-left:0}.draw-request-modal .co-detail.pending{opacity:.6}.draw-request-modal .retainage-selector{display:flex;align-items:center;gap:.5rem}.draw-request-modal .retainage-select{padding:.375rem .75rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;font-size:.875rem;background:#fff;transition:border-color .15s,box-shadow .15s}.draw-request-modal .retainage-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.draw-request-modal .rate-source{font-size:.75rem;color:var(--color-text-muted, #9ca3af)}.draw-request-modal .materials-row .expand-btn{background:none;border:none;padding:.25rem .5rem;margin:-.25rem -.5rem;font-size:.875rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;border-radius:.25rem;display:inline-flex;align-items:center;gap:.25rem}.draw-request-modal .materials-row .expand-btn:hover{color:var(--color-primary, #3b82f6)}.draw-request-modal .materials-row .expand-btn:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.draw-request-modal .materials-row .expand-btn:focus:not(:focus-visible){outline:none}.draw-request-modal .materials-row .expand-btn:focus-visible{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.draw-request-modal .materials-row .expand-btn .expand-icon{display:inline-block;width:1em;text-align:center}.draw-request-modal .materials-detail{padding-left:1.5rem;margin-top:.25rem;border-left:2px solid var(--color-border, #e5e7eb)}.draw-request-modal .materials-detail.empty{padding:.5rem 1rem}.draw-request-modal .material-item{padding:.25rem 0}.draw-request-modal .billing-summary{background-color:var(--color-bg-secondary, #f9fafb);padding:1rem;margin:0 -1rem;border-radius:.5rem}.draw-request-modal .formula-step{font-size:.8125rem;color:var(--color-text-muted, #9ca3af)}.draw-request-modal .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb)}.draw-request-modal .primary-button,.draw-request-modal .secondary-button{padding:.625rem 1.25rem;border-radius:.375rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .15s,opacity .15s,box-shadow .15s}.draw-request-modal .primary-button{background-color:var(--color-primary, #3b82f6);border:none;color:#fff}.draw-request-modal .primary-button:hover:not(:disabled){background-color:var(--color-primary-hover, #2563eb)}.draw-request-modal .primary-button:focus{outline:none;box-shadow:0 0 0 3px #3b82f666}.draw-request-modal .primary-button:focus:not(:focus-visible){box-shadow:none}.draw-request-modal .primary-button:focus-visible{box-shadow:0 0 0 3px #3b82f666}.draw-request-modal .primary-button:disabled{opacity:.5;cursor:not-allowed}.draw-request-modal .secondary-button{background-color:#fff;border:1px solid var(--color-border, #d1d5db);color:var(--color-text, #374151)}.draw-request-modal .secondary-button:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.draw-request-modal .secondary-button:focus:not(:focus-visible){box-shadow:none;border-color:var(--color-border, #d1d5db)}.draw-request-modal .secondary-button:focus-visible{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.draw-request-modal .secondary-button:hover:not(:disabled){background-color:var(--color-bg-secondary, #f9fafb)}.draw-request-modal .editable-row{padding:.5rem 0}.draw-request-modal .editable-percent{display:flex;align-items:center;gap:.25rem}.draw-request-modal .percent-input{width:80px;padding:.375rem .5rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;font-size:.875rem;text-align:right;transition:border-color .15s,box-shadow .15s}.draw-request-modal .percent-input:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.draw-request-modal .percent-input.bold{font-weight:600}.draw-request-modal .percent-suffix{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.draw-request-modal .override-indicator{font-size:.75rem;color:var(--color-warning, #f59e0b);margin-left:.5rem}.draw-request-modal .co-adjust-helper{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.draw-request-modal .co-adjust-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.draw-request-modal .co-adjust-header .ai-icon{font-size:1.25rem}.draw-request-modal .co-adjust-header strong{font-size:.9375rem;color:#1e40af;flex:1}.draw-request-modal .toggle-helper-btn{background:#fff;border:1px solid #bfdbfe;padding:.25rem .75rem;border-radius:.25rem;font-size:.8125rem;color:#3b82f6;cursor:pointer;transition:background-color .15s}.draw-request-modal .toggle-helper-btn:hover{background-color:#dbeafe}.draw-request-modal .toggle-helper-btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.draw-request-modal .co-adjust-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #bfdbfe}.draw-request-modal .co-explanation{font-size:.875rem;color:#374151;line-height:1.5;margin-bottom:1rem}.draw-request-modal .co-comparison{background:#fff;border-radius:.375rem;padding:.75rem;margin-bottom:1rem}.draw-request-modal .co-comparison-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.draw-request-modal .co-comparison-row .co-label{color:var(--color-text-secondary, #6b7280)}.draw-request-modal .co-comparison-row .co-value{font-weight:500;color:var(--color-text, #111827)}.draw-request-modal .co-comparison-row.highlight{background-color:#fef3c7;margin:0 -.75rem;padding:.375rem .75rem;border-radius:.25rem}.draw-request-modal .co-comparison-row.highlight .co-value{color:#92400e;font-weight:600}.draw-request-modal .apply-co-adjust-btn{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;color:#fff;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:transform .1s,box-shadow .15s}.draw-request-modal .apply-co-adjust-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.draw-request-modal .apply-co-adjust-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f666}.draw-request-modal .co-rationale{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;padding:.75rem;margin-top:1rem}.draw-request-modal .co-rationale-title{font-size:.8125rem;font-weight:600;color:#166534;margin:0 0 .5rem}.draw-request-modal .co-calculation{font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.draw-request-modal .co-calculation .calc-row{display:flex;justify-content:space-between;padding:.25rem 0;gap:1rem}.draw-request-modal .co-calculation .calc-row.before{color:#6b7280}.draw-request-modal .co-calculation .calc-row.after{color:#166534;background:#dcfce7;margin:0 -.5rem;padding:.25rem .5rem;border-radius:.25rem}.draw-request-modal .co-rationale-note{font-size:.75rem;color:#15803d;font-style:italic;margin:.5rem 0 0;text-align:center}.draw-request-modal .retainage-info-banner{background-color:var(--color-info-bg, #eff6ff);border:1px solid var(--color-info-border, #bfdbfe);color:var(--color-info-text, #1e40af)}.draw-request-modal .form-hint{display:block;font-size:.75rem;color:var(--color-text-muted, #9ca3af);margin-top:.25rem}.draw-request-modal .btn-link{background:none;border:none;color:var(--color-primary, #3b82f6);cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline}.draw-request-modal .btn-link:hover{color:var(--color-primary-hover, #2563eb)}@media (max-width: 959px){.draw-request-modal{max-width:calc(100vw - 32px);box-sizing:border-box}.draw-request-modal .date-row{flex-direction:column;gap:.75rem}.draw-request-modal .form-group input[type=date],.draw-request-modal .retainage-select,.draw-request-modal .percent-input{min-height:44px;font-size:16px;padding:.5rem .75rem}.draw-request-modal .percent-input{width:90px}.draw-request-modal .primary-button,.draw-request-modal .secondary-button,.draw-request-modal .retry-btn,.draw-request-modal .credit-draw-btn,.draw-request-modal .toggle-helper-btn,.draw-request-modal .apply-co-adjust-btn,.draw-request-modal .expand-btn{min-height:44px;touch-action:manipulation}.draw-request-modal .modal-actions{flex-direction:column-reverse;gap:.5rem}.draw-request-modal .modal-actions .primary-button,.draw-request-modal .modal-actions .secondary-button{width:100%;justify-content:center}.draw-request-modal .materials-row .expand-btn{padding:.5rem .75rem;margin:-.5rem -.75rem}.draw-request-modal .billing-summary{margin:0 -.75rem;padding:.75rem}.draw-request-modal .info-row{flex-wrap:wrap;gap:.25rem}.draw-request-modal .retainage-selector{flex-wrap:wrap}.draw-request-modal .co-adjust-header{gap:.75rem}.draw-request-modal .co-adjust-header strong{flex-basis:100%}.draw-request-modal .error-banner,.draw-request-modal .warning-banner,.draw-request-modal .contract-exceeded{padding:.75rem}.draw-request-modal .form-section{margin-bottom:1rem;padding-bottom:.75rem}}@media (max-width: 480px){.draw-request-modal .billing-summary{margin:0 -.5rem;padding:.5rem}.draw-request-modal .co-comparison-row{flex-direction:column;gap:.125rem}.draw-request-modal .co-comparison-row .co-value{text-align:left}.draw-request-modal .info-value{max-width:50%;text-align:right;word-break:break-word}.draw-request-modal .co-calculation .calc-row{flex-wrap:wrap}}.entry-mode-toggle{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.entry-mode-label{font-size:.85em;font-weight:600;color:var(--charcoal, #333)}.entry-mode-buttons{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid #d1d5db}.entry-mode-btn{padding:6px 16px;font-size:.85em;font-weight:500;border:none;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.entry-mode-btn:not(:last-child){border-right:1px solid #d1d5db}.entry-mode-btn.active{background:var(--rust, #b45309);color:#fff;font-weight:600}.entry-mode-btn:hover:not(.active){background:#f3f4f6}.materials-stored-view{border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;background:var(--color-bg, white)}.materials-stored-view.loading,.materials-stored-view.error{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:var(--color-text-muted, #6b7280)}.materials-stored-view .loading-spinner{width:20px;height:20px;border:2px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite}.materials-stored-view.error{background-color:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626)}.materials-stored-view .retry-btn{padding:.375rem .75rem;background:#fff;border:1px solid var(--color-error, #dc2626);border-radius:.375rem;color:var(--color-error, #dc2626);cursor:pointer;font-size:.875rem;transition:background-color .15s,box-shadow .15s}.materials-stored-view .retry-btn:hover{background-color:var(--color-error-bg, #fef2f2)}.materials-stored-view .retry-btn:focus{outline:none;box-shadow:0 0 0 3px #dc26264d}.materials-stored-view .retry-btn:focus:not(:focus-visible){box-shadow:none}.materials-stored-view .retry-btn:focus-visible{box-shadow:0 0 0 3px #dc26264d}.materials-stored-view .section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background-color .15s,box-shadow .15s;border-radius:.5rem .5rem 0 0}.materials-stored-view .section-header:hover{background-color:var(--color-bg-hover, #f9fafb)}.materials-stored-view .section-header:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary, #3b82f6)}.materials-stored-view .section-header:focus:not(:focus-visible){box-shadow:none}.materials-stored-view .section-header:focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary, #3b82f6)}.materials-stored-view .header-content{display:flex;align-items:center;gap:1rem}.materials-stored-view .section-header h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-heading, #111827);display:flex;align-items:center;gap:.5rem}.materials-stored-view .expand-icon{font-size:.75rem;color:var(--color-text-muted, #9ca3af)}.materials-stored-view .item-count{font-size:.75rem;color:var(--color-text-muted, #9ca3af);background:var(--color-bg-secondary, #f3f4f6);padding:.125rem .5rem;border-radius:9999px}.materials-stored-view .total-value{font-size:1rem;font-weight:600;font-family:JetBrains Mono,monospace;color:var(--color-success, #059669)}.materials-stored-view .materials-detail{border-top:1px solid var(--color-border, #e5e7eb);padding:1rem 1.25rem}.materials-stored-view .empty-state{text-align:center;padding:1.5rem;color:var(--color-text-muted, #6b7280)}.materials-stored-view .empty-state .hint{font-size:.8125rem;margin-top:.25rem}.materials-stored-view .materials-group{margin-bottom:1.5rem}.materials-stored-view .materials-group:last-child{margin-bottom:0}.materials-stored-view .group-header{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #6b7280);margin:0 0 .75rem;display:flex;align-items:baseline;gap:.5rem}.materials-stored-view .group-hint{font-size:.75rem;font-weight:400;color:var(--color-text-muted, #9ca3af)}.materials-stored-view .materials-group.weekly .group-header{color:var(--color-warning, #f59e0b)}.materials-stored-view .materials-table{width:100%;border-collapse:collapse;font-size:.8125rem}.materials-stored-view .materials-table th{text-align:left;padding:.5rem .75rem;background:var(--color-bg-secondary, #f9fafb);font-weight:500;color:var(--color-text-muted, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb)}.materials-stored-view .materials-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #374151)}.materials-stored-view .materials-table tr:hover{background:var(--color-bg-hover, #f9fafb)}.materials-stored-view .po-number{font-family:JetBrains Mono,monospace;font-size:.75rem}.materials-stored-view .part-number{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--color-text-muted, #9ca3af)}.materials-stored-view .text-right{text-align:right}.materials-stored-view .font-bold{font-weight:600}.materials-stored-view .materials-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb)}.materials-stored-view .footer-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6b7280)}.materials-stored-view .footer-value{font-size:1.125rem;font-weight:600;font-family:JetBrains Mono,monospace;color:var(--color-success, #059669)}@media (max-width: 959px){.materials-stored-view .section-header{padding:.75rem 1rem;min-height:44px;touch-action:manipulation}.materials-stored-view .header-content{flex-wrap:wrap;gap:.5rem}.materials-stored-view .section-header h4{font-size:.875rem}.materials-stored-view .total-value{font-size:.9375rem}.materials-stored-view .materials-detail{padding:.75rem 1rem}.materials-stored-view .materials-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.materials-stored-view .materials-table th,.materials-stored-view .materials-table td{padding:.375rem .5rem;font-size:.75rem}.materials-stored-view .retry-btn{min-height:44px;padding:.5rem 1rem;touch-action:manipulation}.materials-stored-view .materials-footer{flex-direction:column;align-items:flex-end;gap:.5rem}}@media (max-width: 480px){.materials-stored-view .section-header h4{flex-wrap:wrap}.materials-stored-view .materials-table th,.materials-stored-view .materials-table td{padding:.25rem .375rem;font-size:.6875rem}.materials-stored-view .po-number,.materials-stored-view .part-number{font-size:.625rem}}.billing-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:1400px;margin:0 auto}.billing-content.billing-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--muted);font-size:.9375rem}.billing-summary-header{background:linear-gradient(135deg,var(--sky) 0%,var(--info) 100%);border-radius:.75rem;padding:1.5rem;color:#fff}.billing-summary-header.loading{min-height:200px;display:flex;align-items:center;justify-content:center}.loading-skeleton{width:100%;height:160px;background:#ffffff1a;border-radius:.5rem;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}.summary-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.summary-title h2{margin:0;font-size:1.25rem;font-weight:600}.contract-info{font-size:.875rem;color:#ffffffe6;display:flex;align-items:center;gap:0}.contract-info .separator{margin:0 .5rem;opacity:.5}.co-dropdown-wrapper{position:relative;display:inline-block}.co-dropdown-btn{background:#0000000f;border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:3px 10px;font:inherit;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:inherit;transition:background .15s,border-color .15s}.co-dropdown-btn:hover{background:#0000001a;border-color:#0003}.co-dropdown-arrow{font-size:.7rem;transition:transform .2s;line-height:1}.co-dropdown-arrow.open{transform:rotate(180deg)}.co-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:340px;background:#fff;opacity:1;border:1px solid #d1cdc5;border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:.75rem;z-index:100;animation:coDropdownFadeIn .15s ease-out forwards}@keyframes coDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.co-dropdown-title{font-weight:600;font-size:.85rem;margin-bottom:.5rem;color:var(--text, #1f2937)}.co-dropdown-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.3rem 0;font-size:.82rem;gap:1rem}.co-dropdown-label{color:var(--text-muted, #6b7280);display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}.co-dropdown-row.co-item .co-dropdown-label{color:var(--text, #1f2937)}.co-dropdown-value{font-family:SF Mono,Fira Code,monospace;font-weight:500;white-space:nowrap;color:var(--text, #1f2937)}.co-dropdown-value.co-positive{color:var(--success, #3f7b59)}.co-badge{display:inline-block;background:#b45a3c1f;color:var(--rust, #b45a3c);font-size:.72rem;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.co-dropdown-divider{height:1px;background:var(--border-light, #f0ece4);margin:.35rem 0}.co-dropdown-row.co-total .co-dropdown-label,.co-dropdown-row.co-total .co-dropdown-value{font-weight:600}.co-dropdown-row.co-adjusted{background:#b45a3c0f;margin:.25rem -.5rem 0;padding:.4rem .5rem;border-radius:4px}.co-dropdown-row.co-adjusted .co-dropdown-label,.co-dropdown-row.co-adjusted .co-dropdown-value{font-weight:700;color:var(--rust, #b45a3c)}.summary-error{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:.375rem;padding:.625rem .875rem;font-size:.8125rem;margin-bottom:1rem}.summary-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.25rem}.metric-card{background:#ffffff1a;border-radius:.5rem;padding:1rem;text-align:center}.metric-value{display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem;font-family:JetBrains Mono,monospace}.metric-value.primary{color:#fff}.metric-value.amber{color:var(--sun)}.metric-value.green{color:var(--success);filter:brightness(1.4)}.metric-value.red{color:var(--danger);filter:brightness(1.4)}.metric-value.gray{color:var(--clay)}.billing-summary-header .metric-card .metric-label{display:block;font-size:.8125rem;font-weight:600;color:#fff!important;text-transform:uppercase;letter-spacing:.025em}.billing-summary-header .metric-card .metric-sublabel{display:block;font-size:.6875rem;color:#ffffffd9!important;margin-top:.125rem}.billing-progress{margin-top:.5rem}.progress-bar{height:.75rem;background:#fff3;border-radius:.375rem;overflow:hidden;position:relative}.progress-received,.progress-retainage,.progress-outstanding{position:absolute;top:0;height:100%;transition:width .3s ease}.progress-received{background:var(--success);left:0}.progress-retainage{background:var(--warning)}.progress-outstanding{background:var(--danger)}.progress-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:.75rem;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.375rem}.legend-item:before{content:"";display:block;width:.75rem;height:.75rem;border-radius:.125rem}.legend-item.received:before{background:var(--success)}.legend-item.retainage:before{background:var(--warning)}.legend-item.outstanding:before{background:var(--danger)}.legend-item.remaining:before{background:#fff3}.draw-requests-section,.lien-waiver-section,.billing-records-section,.materials-stored-section{background:var(--card);border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.materials-stored-section{padding:0}.materials-stored-section .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.billing-content .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--clay)}.billing-content .section-title h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--ink)}.billing-content .section-subtitle{display:block;font-size:.8125rem;color:var(--muted);margin-top:.125rem}.billing-content .section-actions{display:flex;gap:.5rem}.billing-content .btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.billing-content .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.billing-content .btn-primary{background:var(--info);color:#fff}.billing-content .btn-primary:hover{background:var(--sky)}.billing-content .btn-primary:disabled{background:var(--info);opacity:.5;cursor:not-allowed}.billing-content .btn-secondary{background:var(--card);color:var(--steel);border:1px solid var(--clay)}.billing-content .btn-secondary:hover{background:var(--sand);border-color:var(--muted)}.billing-content .btn-link{background:none;border:none;color:var(--info);font-size:.8125rem;cursor:pointer;padding:0}.billing-content .btn-link:hover{text-decoration:underline}.billing-content .loading-state,.billing-content .error-state,.billing-content .empty-state{padding:2.5rem;text-align:center;color:var(--muted)}.billing-content .error-state{background:color-mix(in srgb,var(--danger) 10%,white);border-radius:.5rem}.billing-content .error-state p{color:var(--danger);margin-bottom:.75rem}.billing-content .empty-state .hint{font-size:.8125rem;margin-top:.5rem}@media (max-width: 1024px){.summary-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width: 959px){.billing-content{padding:1rem;gap:1rem}.billing-summary-header{padding:1rem}.summary-title{flex-direction:column;align-items:flex-start;gap:.5rem}.summary-metrics{grid-template-columns:repeat(2,1fr);gap:.5rem}.metric-card{padding:.75rem}.metric-value{font-size:1.125rem}.progress-legend{flex-wrap:wrap;gap:.75rem}.billing-content .section-header{flex-direction:column;gap:.75rem}.billing-content .section-actions{width:100%}.billing-content .section-actions button{flex:1}.draw-requests-section,.lien-waiver-section,.billing-records-section,.materials-stored-section{padding:1rem}.materials-stored-section{padding:0}}@media (max-width: 480px){.summary-metrics{grid-template-columns:1fr}.metric-card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.metric-card .metric-value{order:2;margin-bottom:0}.metric-card .metric-label{order:1}.metric-card .metric-sublabel{display:none}}.change-orders-billing-section{margin-bottom:2rem;padding:1.5rem;background:var(--card);border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.co-collapse-header{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left;color:inherit}.co-collapse-header:hover{opacity:.85}.co-collapse-header .section-title{font-size:1.25rem;font-weight:600;color:var(--ink);margin:0}.co-collapse-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--steel)}.co-collapse-count{color:var(--muted)}.co-collapse-total{font-weight:600;font-family:SF Mono,Fira Code,monospace;color:var(--success, #3f7b59)}.co-collapse-chevron{font-size:.75rem;transition:transform .2s ease;line-height:1}.co-collapse-chevron.open{transform:rotate(180deg)}.change-orders-billing-section .table-container{margin-top:1rem;border-top:1px solid var(--clay);padding-top:.75rem}.co-billing-table{width:100%;border-collapse:collapse}.co-billing-table th,.co-billing-table td{padding:.6rem 1rem;text-align:left;border-bottom:1px solid var(--clay)}.co-billing-table th{background:var(--sand);font-weight:600;font-size:.875rem;color:var(--steel)}.co-billing-table tbody tr:hover{background:var(--sand)}.co-number{font-weight:600;white-space:nowrap;color:var(--ink)}.co-separator{margin:0 .25rem;color:var(--steel)}.co-desc{color:var(--steel)}.co-status-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;padding:1px 6px;border-radius:4px;margin-left:.5rem;letter-spacing:.03em}.co-status-badge.co-status-pending{background:#b478281f;color:var(--warning, #b47828)}.co-status-badge.co-status-rejected{background:#c832321f;color:var(--danger, #c83232)}.co-amount-positive{color:var(--success, #3f7b59)}.co-amount-negative{color:var(--danger, #c83232)}.co-date-cell{white-space:nowrap;min-width:180px}.co-date-display{display:inline-flex;align-items:center;gap:.35rem}.co-date-text{color:var(--ink)}.co-date-edit-trigger{background:none;border:1px solid transparent;color:var(--steel);cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:3px;opacity:.5;transition:opacity .15s,border-color .15s}.co-date-edit-trigger:hover{opacity:1;border-color:var(--clay);background:var(--sand)}.co-date-edit{display:inline-flex;align-items:center;gap:.25rem}.co-date-input{padding:.25rem .4rem;border:1px solid var(--clay);border-radius:4px;font-size:.85rem;font-family:inherit;background:var(--card);color:var(--ink)}.co-date-input:focus{outline:none;border-color:var(--rust, #b45a3c);box-shadow:0 0 0 2px #b45a3c26}.co-date-btn{background:none;border:1px solid var(--clay);border-radius:3px;cursor:pointer;font-size:.8rem;padding:2px 6px;line-height:1.4;transition:background .15s}.co-date-save{color:var(--success, #3f7b59)}.co-date-save:hover:not(:disabled){background:#3f7b591a}.co-date-cancel{color:var(--steel)}.co-date-cancel:hover:not(:disabled){background:var(--sand)}.co-date-btn:disabled{opacity:.4;cursor:default}.co-totals-row td{border-top:2px solid var(--clay);border-bottom:none;padding-top:.75rem}tr.co-status-pending td,tr.co-status-rejected td{opacity:.6}.thumbnail-small{width:80px;height:80px}.thumbnail-medium{width:100%;height:100%}.thumbnail-large{width:200px;height:200px}.thumbnail-container{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-secondary, #f3f4f6)}.thumbnail-image{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #9ca3af);gap:.25rem}.placeholder-icon{font-size:2rem}.thumbnail-small .placeholder-icon{font-size:1.5rem}.thumbnail-large .placeholder-icon{font-size:3rem}.placeholder-text{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em}.thumbnail-large .placeholder-text{font-size:.75rem}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000004d}.play-icon{width:40px;height:40px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-primary, #1f2937)}.video-duration{position:absolute;bottom:.25rem;right:.25rem;background:#000000b3;color:#fff;padding:.125rem .25rem;border-radius:.125rem;font-size:.625rem;font-weight:500}.thumbnail-placeholder .video-duration{position:static;margin-top:.25rem}@media (max-width: 959px){.thumbnail-small,.thumbnail-large{max-width:100%}.play-icon{width:44px;height:44px;font-size:1.125rem}}.photo-gallery{display:flex;flex-direction:column;gap:1rem;padding:1rem}.gallery-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.gallery-filters{display:flex;gap:.5rem}.filter-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;background:var(--bg-secondary, #f9fafb);color:var(--text-secondary, #6b7280);font-size:.875rem;cursor:pointer;transition:all .15s ease}.filter-btn:hover{background:var(--bg-hover, #f3f4f6);border-color:var(--border-hover, #d1d5db)}.filter-btn.active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.gallery-count{font-size:.875rem;color:var(--text-muted, #9ca3af)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}@media (min-width: 960px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.gallery-item{position:relative;aspect-ratio:1;border-radius:.5rem;overflow:hidden;background:var(--bg-secondary, #f3f4f6);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.gallery-item:focus{outline:2px solid var(--primary, #3b82f6);outline-offset:2px}.item-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000b3);color:#fff;display:flex;flex-direction:column;gap:.125rem}.item-title{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-date{font-size:.625rem;opacity:.8}.gallery-loading,.gallery-error,.gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-muted, #9ca3af)}.gallery-error{color:var(--error, #ef4444)}.gallery-error button{margin-top:.5rem;padding:.25rem .75rem;border:1px solid var(--error, #ef4444);border-radius:.25rem;background:transparent;color:var(--error, #ef4444);cursor:pointer}.empty-icon,.error-icon{font-size:2rem;margin-bottom:.5rem}.empty-hint{font-size:.75rem;margin-top:.25rem}.loading-spinner{width:24px;height:24px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:.5rem}.load-more-trigger{height:20px}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-close{position:absolute;top:-2rem;right:-2rem;width:2rem;height:2rem;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:10}.lightbox-media{max-width:100%;max-height:70vh;object-fit:contain;border-radius:.5rem}.lightbox-info{margin-top:1rem;color:#fff;text-align:center}.lightbox-info h3{margin:0 0 .5rem;font-size:1.125rem}.lightbox-info p{margin:.25rem 0;font-size:.875rem;opacity:.8}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2.5rem;padding:1rem .5rem;cursor:pointer;transition:background .15s ease}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:-3rem}.lightbox-next{right:-3rem}.lightbox-document{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#fff;border-radius:.5rem;color:var(--text-primary, #1f2937)}.doc-icon{font-size:4rem}.doc-name{font-weight:500}.doc-download{padding:.5rem 1rem;background:var(--primary, #3b82f6);color:#fff;text-decoration:none;border-radius:.375rem}.doc-download:hover{background:var(--primary-hover, #2563eb)}.documents-media-tab{padding:1rem;min-height:400px}.tab-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.search-bar{display:flex;align-items:center;background:var(--card, #fdfbf7);border:1px solid var(--clay, #dfd2c1);border-radius:6px;padding:.25rem .75rem;flex:1;max-width:400px}.search-icon{margin-right:.5rem;opacity:.5}.search-input{flex:1;border:none;outline:none;font-size:.9rem;background:transparent;padding:.5rem 0}.search-clear{background:none;border:none;padding:.25rem;cursor:pointer;font-size:.9rem;opacity:.5;transition:opacity .15s}.search-clear:hover{opacity:1}.view-controls{display:flex;align-items:center;gap:1rem}.view-mode-selector{display:flex;gap:.25rem;background:var(--sand, #f4efe6);padding:.25rem;border-radius:6px}.view-btn{padding:.4rem .6rem;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .15s}.view-btn:hover{background:var(--clay, #dfd2c1)}.view-btn.active{background:var(--rust, #b45a3c);color:#fffaf2}.expand-controls{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.text-btn{background:none;border:none;color:var(--rust, #b45a3c);cursor:pointer;padding:.25rem}.text-btn:hover{text-decoration:underline}.divider{color:var(--steel, #4c5457)}.document-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.85rem;color:var(--steel, #4c5457);border-bottom:1px solid var(--clay, #dfd2c1);margin-bottom:1rem}.total-count{font-weight:500}.role-notice{font-style:italic;opacity:.8}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--steel, #4c5457)}.loading-spinner{width:32px;height:32px;border:3px solid var(--clay, #dfd2c1);border-top-color:var(--rust, #b45a3c);border-radius:50%;animation:spin .8s linear infinite}.error-icon{font-size:2rem}.error-state button{margin-top:.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--steel, #4c5457)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:var(--ink, #1f2426)}.empty-state p{margin:0;max-width:400px}.category-view{display:flex;flex-direction:column;gap:1.5rem}.category-group{background:var(--card, #fdfbf7);border:1px solid var(--clay, #dfd2c1);border-radius:8px;overflow:hidden}.group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:0;background:var(--sand, #f4efe6);font-size:.9rem;font-weight:600;color:var(--ink, #1f2426);border-bottom:1px solid var(--clay, #dfd2c1)}.group-icon{font-size:1rem}.categories-list{display:flex;flex-direction:column}.category-section{border-bottom:1px solid var(--clay, #dfd2c1)}.category-section:last-child{border-bottom:none}.category-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.9rem;text-align:left;transition:background .15s}.category-header:hover{background:#b45a3c0f}.expand-icon{font-size:.7rem;color:var(--steel, #4c5457);width:1rem}.category-icon{font-size:1rem}.category-label{flex:1;font-weight:500}.category-count{background:var(--sand, #f4efe6);padding:.15rem .5rem;border-radius:10px;font-size:.8rem;color:var(--steel, #4c5457)}.upload-btn-small{padding:.25rem .5rem;background:transparent;border:1px solid var(--clay, #dfd2c1);border-radius:4px;cursor:pointer;font-size:.8rem;opacity:.6;transition:opacity .15s,background .15s}.upload-btn-small:hover{opacity:1;background:var(--sand, #f4efe6)}.category-documents{display:flex;flex-direction:column;padding:.5rem 0;background:#fdfbf780}.document-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem .6rem 2.5rem;cursor:pointer;transition:background .15s}.document-item:hover{background:#b45a3c0f}.doc-icon{font-size:1.1rem;flex-shrink:0}.inspection-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;padding:1px 5px;border-radius:8px;background:var(--bg-muted, #f1f5f9);margin-right:4px;white-space:nowrap;cursor:help}.inspection-badge__icon{font-size:.75rem}.inspection-badge__score{font-weight:600;color:var(--text-secondary, #475569)}.inspection-badge.inspection-dot--passed{background:#dcfce7;color:#166534}.inspection-badge.inspection-dot--flagged{background:#fef9c3;color:#854d0e}.inspection-badge.inspection-dot--pending{background:#f1f5f9;color:#64748b}.inspection-badge.inspection-dot--running{background:#dbeafe;color:#1e40af}.inspection-badge--review-approved{background:#dcfce7!important;color:#166534!important}.inspection-badge--review-deficient{background:#fee2e2!important;color:#991b1b!important}.inspection-badge--review-needs_rework{background:#fef9c3!important;color:#854d0e!important}.review-btn-inline{background:none;border:1px solid #3b82f6;color:#3b82f6;font-size:.7rem;padding:1px 6px;border-radius:6px;cursor:pointer;margin-left:2px}.review-btn-inline:hover{background:#eff6ff}.review-modal{max-width:520px}.eval-chat-toggle{background:none;border:1px solid #94a3b8;color:#475569;padding:4px 10px;border-radius:6px;font-size:.78rem;cursor:pointer;margin-bottom:.5rem}.eval-chat-toggle:hover{background:#f1f5f9}.eval-chat{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:.75rem;overflow:hidden;max-height:400px;display:flex;flex-direction:column}.eval-chat__header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .65rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.eval-chat__messages{flex:1;overflow-y:auto;padding:.5rem;min-height:80px;max-height:260px}.eval-chat__msg{margin-bottom:.4rem}.eval-chat__bubble{padding:.4rem .6rem;border-radius:8px;font-size:.82rem;line-height:1.45}.eval-chat__bubble--user{background:#dbeafe;color:#1e3a5f;text-align:right;margin-left:20%}.eval-chat__bubble--ai{background:#f1f5f9;color:#1e293b;margin-right:10%}.eval-chat__input{display:flex;gap:4px;padding:.35rem .5rem;border-top:1px solid #e2e8f0;background:#fff}.eval-chat__input input{flex:1;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .5rem;font-size:.82rem}.eval-chat__input button{background:var(--primary, #a0714f);color:#fff;border:none;border-radius:6px;padding:.35rem .75rem;cursor:pointer;font-size:.82rem}.eval-chat__input button:disabled{opacity:.5;cursor:default}.eval-chat__guided{padding:.25rem}.eval-chat__scope-list,.eval-chat__photo-list{display:flex;flex-direction:column;gap:4px;margin-top:.35rem}.eval-chat__scope-btn{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:background .15s}.eval-chat__scope-btn:hover{background:#f1f5f9;border-color:#3b82f6}.eval-chat__scope-name{font-size:.82rem;font-weight:500}.eval-chat__scope-code{font-size:.72rem;color:#94a3b8}.eval-chat__photo-btn{display:flex;align-items:center;gap:8px;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:background .15s}.eval-chat__photo-btn:hover{background:#f1f5f9;border-color:#3b82f6}.eval-chat__thumb{width:40px;height:40px;border-radius:4px;object-fit:cover;flex-shrink:0}.eval-chat__thumb--placeholder{display:flex;align-items:center;justify-content:center;background:#f1f5f9;font-size:1.2rem}.eval-chat__photo-info{display:flex;flex-direction:column;min-width:0}.eval-chat__photo-label{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eval-chat__photo-meta{font-size:.72rem;color:#94a3b8}.inspection-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-right:2px}.inspection-dot--pending{background:#9ca3af}.inspection-dot--running{background:#3b82f6;animation:inspection-pulse 1.2s ease-in-out infinite}.inspection-dot--passed{background:#22c55e}.inspection-dot--flagged{background:#f59e0b}@keyframes inspection-pulse{0%,to{opacity:1}50%{opacity:.4}}.doc-info{flex:1;display:flex;flex-direction:column;min-width:0}.doc-title{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink, #1f2426)}.doc-meta{font-size:.8rem;color:var(--steel, #4c5457)}.view-btn-inline,.edit-btn-inline,.delete-btn-inline{padding:.35rem .6rem;background:transparent;border:1px solid var(--clay, #dfd2c1);border-radius:4px;cursor:pointer;font-size:.9rem;opacity:0;transition:opacity .15s,background .15s}.edit-btn-inline,.delete-btn-inline{margin-right:.25rem}.document-item:hover .view-btn-inline,.document-item:hover .edit-btn-inline,.document-item:hover .delete-btn-inline{opacity:1}.view-btn-inline:hover{background:var(--rust, #b45a3c);color:#fffaf2;border-color:var(--rust, #b45a3c)}.edit-btn-inline:hover{background:var(--sun, #e1b452);color:var(--ink, #1f2426);border-color:var(--sun, #e1b452)}.delete-btn-inline:hover{background:#c62828;color:#fffaf2;border-color:#c62828}.category-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;color:var(--steel, #4c5457);font-size:.85rem;font-style:italic}.upload-first-row{display:flex;align-items:center;gap:.5rem;position:relative}.accepted-types-info{font-size:1.1rem;font-style:normal;color:var(--steel, #4c5457);cursor:help;opacity:.7;transition:opacity .15s;line-height:1}.accepted-types-info:hover{opacity:1;color:var(--rust, #b45a3c)}.nested-invoices{padding:.5rem 0}.invoice-scope-group{margin-bottom:.75rem;border-left:3px solid var(--rust, #b45a3c);margin-left:.5rem}.scope-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;font-size:.9rem;color:var(--ink, #1f2426);background:var(--sand, #f4efe6)}.scope-icon{font-size:1rem}.scope-name{flex:1}.invoice-vendor-group{margin-left:1rem;border-left:2px solid var(--clay, #dfd2c1)}.vendor-header{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-weight:500;font-size:.85rem;color:var(--steel, #4c5457);background:#fdfbf7b3}.vendor-icon{font-size:.9rem;opacity:.7}.vendor-name{flex:1}.vendor-count{background:var(--sand, #f4efe6);padding:.1rem .4rem;border-radius:8px;font-size:.75rem;color:var(--steel, #4c5457)}.vendor-documents{padding-left:1rem}.vendor-documents .document-item{padding-left:1.5rem}.nested-scopes{padding:.5rem 0}.scope-group{margin-bottom:.5rem;border-left:3px solid var(--rust, #b45a3c);margin-left:.5rem}.scope-group .scope-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;font-size:.9rem;color:var(--ink, #1f2426);background:var(--sand, #f4efe6)}.scope-count{background:var(--card, #fdfbf7);padding:.1rem .4rem;border-radius:8px;font-size:.75rem;font-weight:500;color:var(--steel, #4c5457);margin-left:auto}.scope-documents{padding-left:.5rem}.scope-documents .document-item{padding-left:1.5rem}.gallery-view{min-height:300px}.list-view{overflow-x:auto}.documents-table{width:100%;border-collapse:collapse;font-size:.9rem}.documents-table th,.documents-table td{padding:.75rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--clay, #dfd2c1)}.documents-table th{background:var(--sand, #f4efe6);font-weight:600;color:var(--steel, #4c5457);font-size:.8rem;text-transform:uppercase}.documents-table tbody tr:hover{background:#b45a3c0f}.title-cell{display:flex;align-items:center;gap:.5rem}.title-cell .doc-title{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:var(--sand, #f4efe6);border-radius:4px;font-size:.8rem;white-space:nowrap}.upload-modal-content{padding:1rem 0}.upload-description{margin:0 0 1rem;color:var(--steel, #4c5457);font-size:.9rem}.edit-modal-content{padding:1rem 0}.edit-modal-content .form-group{margin-bottom:1rem}.edit-modal-content label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--ink, #1f2426)}.edit-modal-content .form-control{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid var(--clay, #dfd2c1);border-radius:6px;background:var(--card, #fdfbf7)}.edit-modal-content .form-control:focus{outline:none;border-color:var(--rust, #b45a3c);box-shadow:0 0 0 3px #b45a3c26}.edit-modal-content .form-hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--steel, #4c5457)}.edit-modal-content .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--clay, #dfd2c1)}.edit-modal-content .btn{padding:.5rem 1rem;font-size:.9rem;border-radius:6px;cursor:pointer;transition:background .15s,opacity .15s}.edit-modal-content .btn:disabled{opacity:.6;cursor:not-allowed}.edit-modal-content .btn-secondary{background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);color:var(--ink, #1f2426)}.edit-modal-content .btn-secondary:hover:not(:disabled){background:var(--clay, #dfd2c1)}.edit-modal-content .btn-primary{background:var(--rust, #b45a3c);border:1px solid var(--rust, #b45a3c);color:#fffaf2}.edit-modal-content .btn-primary:hover:not(:disabled){background:#9a4a30;border-color:#9a4a30}@media (max-width: 959px){.tab-header{flex-direction:column;align-items:stretch}.search-bar{max-width:none}.view-controls{justify-content:space-between}.expand-controls{display:none}.documents-table th:nth-child(3),.documents-table td:nth-child(3),.documents-table th:nth-child(4),.documents-table td:nth-child(4){display:none}}.blueprint-wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:150;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s cubic-bezier(.4,0,.2,1)}.blueprint-wizard-modal{background:var(--card, #ffffff);border-radius:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--clay, #e0e0e0);background:var(--sand, #f5f5f5)}.wizard-title{margin:0;font-size:18px;font-weight:600;color:var(--ink, #1f2937)}.wizard-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:4px;background:transparent;color:var(--steel, #6b7280);font-size:24px;cursor:pointer;transition:all .15s ease}.wizard-close-btn:hover{background:var(--clay, #e0e0e0);color:var(--ink, #1f2937)}.wizard-close-btn:focus-visible{outline:2px solid var(--rust, #c45a3b);outline-offset:2px}.wizard-progress{height:4px;background:var(--clay, #e0e0e0)}.wizard-progress-bar{height:100%;background:var(--rust, #c45a3b);transition:width .3s cubic-bezier(.4,0,.2,1)}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--card, #ffffff);border-bottom:1px solid var(--clay, #e0e0e0)}.wizard-step{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--clay, #e0e0e0);border-radius:24px;background:var(--card, #ffffff);color:var(--steel, #6b7280);font-size:13px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:44px}.wizard-step:disabled{cursor:not-allowed;opacity:.5}.wizard-step:hover:not(:disabled){border-color:var(--steel, #6b7280)}.wizard-step.active{border-color:var(--rust, #c45a3b);background:var(--rust, #c45a3b);color:#fff}.wizard-step.completed{border-color:var(--success, #10b981);color:var(--success, #10b981)}.wizard-step:focus-visible{outline:2px solid var(--rust, #c45a3b);outline-offset:2px}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:currentColor;color:#fff;font-size:12px;font-weight:600}.wizard-step.active .step-number{background:#fff;color:var(--rust, #c45a3b)}.wizard-step.completed .step-number{background:var(--success, #10b981);color:#fff}.step-label{font-weight:500}.wizard-error{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--danger-light, #fef2f2);border-bottom:1px solid var(--danger, #dc2626);color:var(--danger, #dc2626);font-size:14px}.error-icon{font-size:18px}.error-message{flex:1}.error-dismiss{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:var(--danger, #dc2626);font-size:18px;cursor:pointer;transition:background .15s ease}.error-dismiss:hover{background:#dc26261a}.wizard-loading-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--warning-light, #fffbeb);border-bottom:1px solid var(--warning, #f59e0b);color:var(--warning-dark, #b45309);font-size:14px}.loading-icon{font-size:18px;animation:pulse 1.5s ease-in-out infinite}.loading-message{flex:1;font-weight:500}.wizard-readonly-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--info-light, #eff6ff);border-bottom:1px solid var(--info, #3b82f6);color:var(--info-dark, #1d4ed8);font-size:14px}.readonly-icon{font-size:18px}.readonly-message{flex:1;font-weight:500}.wizard-content{flex:1;overflow-y:auto;padding:24px;min-height:400px}.step-container{max-width:960px;margin:0 auto}.step-header{margin-bottom:24px}.step-title{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--ink, #1f2937)}.step-description{margin:0;font-size:14px;color:var(--steel, #6b7280)}.step-actions{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:24px;border-top:1px solid var(--clay, #e0e0e0)}.step-actions-left,.step-actions-right{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--rust, #c45a3b);outline-offset:2px}.btn-primary{background:var(--rust, #c45a3b);border-color:var(--rust, #c45a3b);color:#fff}.btn-primary:hover:not(:disabled){background:var(--rust-dark, #a04832);border-color:var(--rust-dark, #a04832)}.btn-secondary{background:var(--card, #ffffff);border-color:var(--clay, #e0e0e0);color:var(--ink, #1f2937)}.btn-secondary:hover:not(:disabled){border-color:var(--steel, #6b7280);background:var(--sand, #f5f5f5)}.btn-ghost{background:transparent;border-color:transparent;color:var(--steel, #6b7280)}.btn-ghost:hover:not(:disabled){background:var(--sand, #f5f5f5);color:var(--ink, #1f2937)}.btn-icon{padding:10px}.btn-danger{background:var(--danger, #dc2626);border-color:var(--danger, #dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.close-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;animation:fadeIn .15s ease-out}.close-confirm-modal{background:var(--card, white);border-radius:8px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .2s ease-out}.close-confirm-modal h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--ink, #1f2937)}.close-confirm-modal p{margin:0 0 1.5rem;color:var(--steel, #6b7280);font-size:.9rem}.close-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 480px){.close-confirm-actions{flex-direction:column}.close-confirm-actions .btn{width:100%}}@media (max-width: 959px){.blueprint-wizard-overlay{padding:0;align-items:flex-end}.blueprint-wizard-modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0}.wizard-steps{flex-wrap:wrap;gap:4px;padding:12px}.wizard-step{padding:6px 12px;font-size:12px}.step-label{display:none}.step-number{width:28px;height:28px;font-size:14px}.wizard-content{padding:16px}}@media (prefers-reduced-motion: reduce){.blueprint-wizard-overlay,.blueprint-wizard-modal,.wizard-progress-bar,.wizard-step,.btn{animation:none;transition:none}}.blueprint-wizard-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.wizard-loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary, #666)}.wizard-loading-spinner .spinner{width:48px;height:48px;border:4px solid var(--clay, #e0e0e0);border-top-color:var(--primary, #2196f3);border-radius:50%;animation:spin 1s linear infinite}.wizard-loading-spinner p{margin:0;font-size:14px}.session-indicator{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--success, #4caf50);background:#4caf501a;border-radius:4px;animation:fadeIn .2s ease-out}:root{--surface-color: #ffffff;--surface-hover: #f3f4f6;--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-bg-light: #eff6ff;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444}.zone-detection-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.zone-detection-settings-modal{background:var(--surface-color);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:min(520px,95vw);max-height:85vh;overflow-y:auto;animation:slideUp .2s ease-out}.zone-detection-settings-modal:focus{outline:none}@media (prefers-reduced-motion: reduce){.zone-detection-settings-overlay,.zone-detection-settings-modal{animation:none}}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--surface-color);z-index:1}.settings-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s ease,color .15s ease}.close-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.close-btn:disabled{opacity:.5;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-body{padding:20px}.settings-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);position:sticky;bottom:0;background:var(--surface-color)}.footer-actions{display:flex;gap:12px}.preset-selector{border:none;padding:0;margin:0 0 20px}.preset-selector:disabled{opacity:.6}.preset-legend{font-weight:600;margin-bottom:12px;font-size:14px;color:var(--text-primary)}.preset-custom-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--warning-color);color:#fff;border-radius:6px;font-size:13px;margin-bottom:12px}.custom-icon{font-size:16px}.preset-options{display:flex;flex-direction:column;gap:8px}.preset-option{display:flex;align-items:flex-start;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s ease;min-height:44px;background:var(--surface-color)}.preset-option:hover,.preset-option.selected{border-color:var(--primary-color);background:var(--primary-bg-light)}.preset-option.recommended{position:relative}.preset-option input[type=radio]{margin-right:12px;margin-top:4px;accent-color:var(--primary-color);width:18px;height:18px;flex-shrink:0}.preset-icon{font-size:20px;margin-right:12px;flex-shrink:0}.preset-content{display:flex;flex-direction:column;gap:2px;flex:1}.preset-label{font-weight:500;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.recommended-badge{font-size:10px;background:var(--success-color);color:#fff;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.02em}.preset-sublabel{font-size:13px;color:var(--text-secondary)}.preset-description{font-size:12px;color:var(--text-tertiary);font-style:italic}.advanced-settings{margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.advanced-toggle{background:none;border:none;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;padding:8px 0;min-height:44px;width:100%;text-align:left}.advanced-toggle:hover{color:var(--text-primary)}.toggle-icon{font-size:10px;transition:transform .15s ease}.toggle-hint{font-size:12px;color:var(--text-tertiary);font-weight:400;margin-left:auto}.advanced-content{padding-top:16px}.param-group{margin-bottom:24px}.param-group:last-child{margin-bottom:0}.param-group h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 8px;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.param-group.critical-group h4{color:var(--warning-color)}.critical-label{font-size:11px;font-weight:500;color:var(--warning-color);text-transform:none;letter-spacing:normal}.group-description{font-size:12px;color:var(--text-tertiary);margin:0 0 12px;line-height:1.4}.param-slider{margin-bottom:16px}.param-slider.critical{background:#f59e0b14;padding:12px;border-radius:8px;margin-left:-12px;margin-right:-12px}.param-slider label{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:6px;color:var(--text-primary)}.critical-value{color:var(--warning-color)}.critical-badge{margin-left:4px;font-size:14px}.param-slider input[type=range]{width:100%;height:6px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--border-color);border-radius:3px;cursor:pointer}.param-slider input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:grab;border:2px solid white;box-shadow:0 2px 4px #0003}.param-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--primary-color);border-radius:50%;cursor:grab;border:2px solid white;box-shadow:0 2px 4px #0003}.param-slider input[type=range]:disabled{opacity:.5;cursor:not-allowed}.param-slider input[type=range]:disabled::-webkit-slider-thumb{cursor:not-allowed}.param-checkbox{display:flex;align-items:center;gap:10px;font-size:13px;margin-bottom:12px;min-height:44px;cursor:pointer;color:var(--text-primary)}.param-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.param-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.param-checkbox span{-webkit-user-select:none;user-select:none}.param-explanation{display:block;font-size:11px;color:var(--text-tertiary);margin-top:4px;font-style:italic;line-height:1.3}.param-control{margin-bottom:12px}.param-control .param-checkbox{margin-bottom:0}.tips-toggle-btn{background:none;border:none;padding:2px 6px;font-size:14px;cursor:pointer;opacity:.7;transition:opacity .15s ease;margin-left:auto}.tips-toggle-btn:hover{opacity:1}.diagnostic-tips{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;padding:12px;margin-bottom:16px}.tips-title{font-size:13px;font-weight:600;color:#92400e;margin:0 0 10px}.tips-list{list-style:none;padding:0;margin:0}.tip-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:#ffffffb3;border-radius:6px;margin-bottom:8px;font-size:12px}.tip-item:last-child{margin-bottom:0}.tip-symptom{color:#b45309;font-weight:500}.tip-fix{color:#065f46;font-weight:500}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;min-height:44px;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:10px 20px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;min-height:44px;transition:background .15s ease,color .15s ease}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-secondary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.zone-detection-settings-modal{width:100%;max-height:100vh;border-radius:0}.settings-footer{flex-direction:column;gap:8px}.footer-actions{width:100%;justify-content:stretch}.footer-actions .btn-secondary,.footer-actions .btn-primary{flex:1}.settings-footer>.btn-secondary{width:100%}.preset-option{padding:10px 12px}}.troubleshooting-section{margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.troubleshooting-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:8px;font-size:14px;font-weight:600;color:#0369a1;cursor:pointer;transition:all .15s ease}.troubleshooting-toggle:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#38bdf8}.troubleshooting-toggle .toggle-icon{font-size:12px}.quick-fixes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.quick-fix-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:14px;transition:border-color .15s ease,box-shadow .15s ease}.quick-fix-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #3b82f61a}.quick-fix-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.quick-fix-icon{font-size:20px;flex-shrink:0}.quick-fix-issue{margin:0;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4}.quick-fix-description{margin:0 0 10px;font-size:12px;color:var(--text-secondary);line-height:1.4}.quick-fix-steps{margin:0 0 12px;padding-left:18px;font-size:11px;color:var(--text-secondary);line-height:1.5}.quick-fix-steps li{margin-bottom:4px}.quick-fix-steps li:last-child{margin-bottom:0}.btn-quick-fix{display:block;width:100%;padding:8px 12px;font-size:12px;font-weight:500;color:#065f46;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #34d399;border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-quick-fix:hover:not(:disabled){background:linear-gradient(135deg,#a7f3d0,#6ee7b7);border-color:#10b981}.btn-quick-fix:disabled{opacity:.5;cursor:not-allowed}.detection-mode-selector{border:none;margin:0 0 20px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;padding:16px;border:1px solid #86efac}.detection-mode-selector:disabled{opacity:.6}.mode-legend{font-weight:600;margin-bottom:12px;font-size:14px;color:#166534;display:flex;align-items:center;gap:8px}.legend-hint{font-weight:400;font-size:12px;color:#22c55e}.current-mode-display{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;margin-bottom:12px;border:2px solid #22c55e}.mode-icon{font-size:28px;flex-shrink:0}.mode-info{display:flex;flex-direction:column;gap:2px}.mode-label{font-weight:600;font-size:15px;color:var(--text-primary)}.mode-unit{font-size:12px;color:#16a34a;font-weight:500}.mode-select-wrapper{position:relative;margin-bottom:12px}.mode-select{width:100%;padding:12px 44px 12px 16px;font-size:14px;border:2px solid var(--border-color);border-radius:8px;background:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;transition:border-color .15s ease,box-shadow .15s ease}.mode-select:hover:not(:disabled){border-color:var(--primary-color)}.mode-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f633}.mode-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--surface-hover)}.mode-description{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.strategy-info{background:#ffffffb3;border-radius:6px;padding:10px 12px}.strategy-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.strategy-row:first-child{padding-top:0}.strategy-row:last-child{padding-bottom:0}.strategy-label{color:var(--text-tertiary);font-weight:500}.strategy-value{color:var(--text-primary);font-weight:600}.blueprint-scale-selector{border:none;margin:0 0 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:16px;border:1px solid #fbbf24}.blueprint-scale-selector:disabled{opacity:.6}.scale-legend{font-weight:600;margin-bottom:12px;font-size:14px;color:#92400e;display:flex;align-items:center;gap:8px}.scale-legend .legend-icon{font-size:18px}.scale-legend .legend-hint{font-weight:400;font-size:12px;color:#b45309}.scale-select-wrapper{position:relative;margin-bottom:12px}.scale-select{width:100%;padding:12px 44px 12px 16px;font-size:14px;border:2px solid var(--border-color);border-radius:8px;background:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;transition:border-color .15s ease,box-shadow .15s ease}.scale-select:hover:not(:disabled){border-color:#f59e0b}.scale-select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.scale-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--surface-hover)}.scale-description{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.scale-info{background:#ffffffb3;border-radius:6px;padding:10px 12px}.scale-info-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.scale-info-label{color:var(--text-tertiary);font-weight:500}.scale-info-value{color:var(--text-primary);font-weight:600}.scale-auto-note{font-size:12px;color:#92400e;margin:8px 0 0;padding:10px;background:#ffffff80;border-radius:6px;line-height:1.4}.parameter-indicator{margin:0 0 20px;padding:14px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px}.algorithm-badge{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.algorithm-icon{font-size:18px}.algorithm-name{color:var(--text-primary)}.skeleton-badge{margin-left:auto;font-size:16px;opacity:.9}.skeleton-chip{background:linear-gradient(135deg,#f3e8ff,#e9d5ff)!important;border-color:#c084fc!important;color:#7c3aed!important}.algorithm-contour{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #60a5fa;color:#1e40af}.algorithm-lines{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border:1px solid #f472b6;color:#9d174d}.algorithm-gaps{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #34d399;color:#065f46}.algorithm-skeleton{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #818cf8;color:#3730a3}.algorithm-template{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;color:#92400e}.algorithm-hough{background:linear-gradient(135deg,#fce7f3,#f5d0fe);border:1px solid #e879f9;color:#86198f}.algorithm-params{display:flex;flex-wrap:wrap;gap:8px}.param-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:11px;box-shadow:0 1px 2px #0000000d}.param-label{color:var(--text-tertiary);font-weight:500}.param-value{color:var(--text-primary);font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.output-type-selector{margin:0 0 20px;padding:16px;background:linear-gradient(135deg,#fdf4ff,#fae8ff);border:1px solid #e879f9;border-radius:12px}.output-type-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#86198f;margin-bottom:12px}.label-icon{font-size:18px}.output-type-toggle{display:flex;gap:8px;margin-bottom:12px}.toggle-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s ease;min-height:70px}.toggle-option:hover:not(:disabled){border-color:#d946ef;background:#fdf4ff}.toggle-option.active{border-color:#d946ef;background:linear-gradient(135deg,#fdf4ff,#fae8ff);box-shadow:0 2px 8px #d946ef33}.toggle-option:disabled{opacity:.6;cursor:not-allowed}.toggle-option:focus-visible{outline:2px solid #d946ef;outline-offset:2px;box-shadow:0 0 0 4px #d946ef33}.toggle-option .toggle-icon{font-size:22px}.toggle-option .toggle-label{font-weight:700;font-size:16px;color:var(--text-primary)}.toggle-option .toggle-desc{font-size:11px;color:var(--text-secondary);text-align:center}.toggle-option.active .toggle-label{color:#a21caf}.toggle-option.active .toggle-desc{color:#86198f}.output-type-help{margin:0;font-size:12px;color:#86198f;line-height:1.5;padding:10px 12px;background:#fff9;border-radius:8px}.skeleton-toggle{--skeleton-primary: #581c87;--skeleton-accent: #a855f7;--skeleton-border: #c084fc;--skeleton-help-text: #6b21a8;--skeleton-bg: rgba(255, 255, 255, .7);margin-top:16px;padding:12px;background:var(--skeleton-bg);border-radius:8px;border:1px dashed var(--skeleton-border)}.skeleton-label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;color:var(--skeleton-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.skeleton-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--skeleton-accent);cursor:pointer;border-radius:3px}.skeleton-label input[type=checkbox]:focus-visible{outline:2px solid var(--skeleton-accent);outline-offset:2px;box-shadow:0 0 0 4px #a855f733}.skeleton-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.skeleton-icon{font-size:16px}.skeleton-text{flex:1}.skeleton-help{margin:8px 0 0;font-size:11px;color:#6b21a8;line-height:1.4;padding-left:26px}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed var(--clay, #e0e0e0);border-radius:8px;background:var(--sand, #f9fafb);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:200px}.upload-dropzone:hover,.upload-dropzone:focus-visible{border-color:var(--rust, #c45a3b);background:#c45a3b0d}.upload-dropzone:focus-visible{outline:2px solid var(--rust, #c45a3b);outline-offset:2px}.upload-dropzone.drag-active{border-color:var(--rust, #c45a3b);background:#c45a3b1a;border-style:solid}.upload-dropzone.has-file{background:var(--success-light, #f0fdf4);border-color:var(--success, #10b981);border-style:solid}.upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.upload-placeholder{text-align:center}.upload-icon{font-size:48px;margin-bottom:16px}.upload-text{margin:0 0 8px;font-size:16px;color:var(--ink, #1f2937);line-height:1.5}.upload-link{color:var(--rust, #c45a3b);text-decoration:underline}.upload-hint{margin:0;font-size:13px;color:var(--steel, #6b7280)}.upload-preview{display:flex;align-items:center;gap:16px;width:100%;max-width:400px}.file-icon{font-size:36px}.file-info{flex:1;min-width:0}.file-name{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--ink, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{margin:0;font-size:13px;color:var(--steel, #6b7280)}.file-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--danger, #dc2626);color:#fff;font-size:18px;cursor:pointer;transition:background .15s ease}.file-remove:hover{background:var(--danger-dark, #b91c1c)}.upload-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:var(--danger-light, #fef2f2);border-radius:6px;color:var(--danger, #dc2626);font-size:14px}.upload-progress{margin-top:24px;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.progress-bar{height:8px;background:var(--clay, #e0e0e0);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--rust, #c45a3b);transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-text{margin:8px 0 0;text-align:center;font-size:13px;color:var(--steel, #6b7280)}@media (max-width: 959px){.upload-dropzone{padding:24px 16px;min-height:160px}.upload-icon{font-size:36px;margin-bottom:12px}.upload-text{font-size:14px}.file-remove{width:44px;height:44px;font-size:20px;touch-action:manipulation}.upload-preview{max-width:100%;flex-wrap:wrap;gap:12px}.file-info{flex-basis:calc(100% - 60px)}}@media (max-width: 480px){.upload-dropzone{padding:20px 12px;min-height:140px}.upload-preview{flex-direction:column;text-align:center;gap:8px}.file-info{flex-basis:100%;text-align:center}.file-name{white-space:normal;word-break:break-word}.file-remove{margin-top:8px}}.ml-context-section{margin-top:24px;padding:20px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0);border-radius:8px}.ml-context-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;font-weight:600;color:var(--ink, #1f2937)}.ml-context-icon{font-size:18px}.ml-context-description{margin:0 0 16px;font-size:13px;color:var(--steel, #6b7280);line-height:1.4}.ml-context-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ml-context-section .form-group{display:flex;flex-direction:column;gap:6px}.ml-context-section .form-label{display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:500;color:var(--ink, #1f2937)}.ml-context-section .label-hint{font-size:12px;font-weight:400;color:var(--steel, #6b7280)}.ml-context-section .form-select,.ml-context-section .form-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;background:#fff;color:var(--ink, #1f2937);transition:border-color .15s ease,box-shadow .15s ease}.ml-context-section .form-select:focus,.ml-context-section .form-input:focus{outline:none;border-color:var(--rust, #c45a3b);box-shadow:0 0 0 3px #c45a3b1a}.ml-context-section .form-select:disabled,.ml-context-section .form-input:disabled{background:var(--sand, #f9fafb);color:var(--steel, #6b7280);cursor:not-allowed}.ml-context-section .form-hint{font-size:12px;color:var(--steel, #6b7280);line-height:1.3}.input-with-unit{display:flex;align-items:stretch}.input-with-unit .form-input{flex:1;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.input-unit{display:flex;align-items:center;padding:0 12px;background:var(--clay, #e0e0e0);border:1px solid var(--clay, #e0e0e0);border-top-right-radius:6px;border-bottom-right-radius:6px;font-size:13px;color:var(--steel, #6b7280);white-space:nowrap}@media (max-width: 959px){.ml-context-section{padding:16px}.ml-context-fields{grid-template-columns:1fr}}@media (max-width: 480px){.ml-context-section{padding:12px;margin-top:16px}.ml-context-title{font-size:14px}.ml-context-section .form-select,.ml-context-section .form-input{padding:12px;font-size:16px}}.canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card, #ffffff);border-bottom:1px solid var(--clay, #e0e0e0);min-height:48px;flex-wrap:wrap}.toolbar-label{font-size:11px;font-weight:600;color:var(--steel, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.toolbar-button{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:1px solid var(--clay, #e0e0e0);border-radius:4px;background:var(--card, #ffffff);color:var(--ink, #1f2937);font-size:13px;cursor:pointer;transition:all .15s ease;min-height:32px}.toolbar-button:hover:not(:disabled){background:var(--sand, #f5f5f5);border-color:var(--steel, #6b7280)}.toolbar-button:active:not(:disabled){transform:translateY(1px)}.toolbar-button.active{background:var(--rust, #c45a3b);border-color:var(--rust, #c45a3b);color:#fff}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button.small{padding:4px 8px;font-size:11px}.toolbar-button.danger{border-color:var(--danger, #dc2626);color:var(--danger, #dc2626)}.toolbar-button.danger:hover:not(:disabled){background:var(--danger, #dc2626);color:#fff}.toolbar-button.primary{background:var(--success, #059669);border-color:var(--success, #059669);color:#fff}.toolbar-button.primary:hover:not(:disabled){background:var(--success-dark, #047857);border-color:var(--success-dark, #047857)}.toolbar-status{font-size:11px;color:var(--steel, #6b7280);padding:0 8px;font-style:italic}.toolbar-dropdown-wrapper{display:flex;align-items:center;gap:4px;padding:0 4px;background:var(--sand, #f5f5f5);border-radius:4px;border:1px solid var(--clay, #e0e0e0);height:32px}.toolbar-sublabel{font-size:11px;color:var(--steel, #6b7280);white-space:nowrap}.toolbar-select{padding:4px 24px 4px 8px;border:none;border-radius:4px;background:var(--card, #ffffff);color:var(--ink, #1f2937);font-size:12px;cursor:pointer;min-width:110px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.toolbar-select:hover:not(:disabled){background-color:var(--sand, #f5f5f5)}.toolbar-select:focus{outline:2px solid var(--rust, #c45a3b);outline-offset:1px}.toolbar-select:disabled{opacity:.5;cursor:not-allowed}.toolbar-icon{font-size:16px;line-height:1}.toolbar-text{font-size:12px}.toolbar-divider{width:1px;height:24px;background:var(--clay, #e0e0e0);margin:0 4px}.zoom-display,.page-display{min-width:50px;text-align:center;font-size:12px;font-weight:500;color:var(--steel, #6b7280);padding:0 4px}@media (max-width: 959px){.canvas-toolbar{padding:6px 8px;gap:4px}.toolbar-text{display:none}.toolbar-button{padding:6px 8px}.toolbar-label,.toolbar-sublabel{display:none}.toolbar-select{min-width:80px}}.blueprint-markup-canvas{display:flex;flex-direction:column;width:100%;height:100%;min-height:400px;background:var(--sand, #f5f5f5);border:1px solid var(--clay, #e0e0e0);border-radius:var(--radius, 8px);overflow:hidden}.canvas-container{flex:1;position:relative;overflow:hidden;background:#e8e8e8;background-image:linear-gradient(45deg,#d0d0d0 25%,transparent 25%),linear-gradient(-45deg,#d0d0d0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d0d0d0 75%),linear-gradient(-45deg,transparent 75%,#d0d0d0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.canvas-container canvas{display:block}.canvas-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;z-index:10}.canvas-loading span{padding:12px 24px;background:var(--card, #ffffff);border-radius:8px;box-shadow:0 2px 8px #0000001a;font-size:14px;color:var(--steel, #6b7280)}.canvas-error{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#fffffff2;z-index:10}.canvas-error span{padding:12px 24px;background:#fef2f2;border:1px solid var(--danger, #dc2626);border-radius:8px;font-size:14px;color:var(--danger, #dc2626)}.canvas-instructions{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;background:#000000bf;border-radius:4px;font-size:13px;color:#fff;z-index:5;pointer-events:none}.canvas-instructions.success{background:#059669e6}.canvas-empty{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--sand, #f5f5f5)}.canvas-empty-icon{font-size:48px;opacity:.5}.canvas-empty-text{font-size:14px;color:var(--steel, #6b7280);text-align:center}.blueprint-markup-canvas[data-mode=select] .canvas-container{cursor:grab}.blueprint-markup-canvas[data-mode=select] .canvas-container:active{cursor:grabbing}.blueprint-markup-canvas[data-mode=rectangle] .canvas-container,.blueprint-markup-canvas[data-mode=polygon] .canvas-container,.blueprint-markup-canvas[data-mode=fill] .canvas-container,.blueprint-markup-canvas[data-mode=cut] .canvas-container{cursor:crosshair}.blueprint-markup-canvas[data-mode=merge] .canvas-container{cursor:pointer}.zone-info-panel{position:absolute;top:56px;right:8px;width:240px;background:var(--card, #ffffff);border:1px solid var(--clay, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:20;padding:12px}.zone-info-panel h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.zone-info-field{margin-bottom:8px}.zone-info-field label{display:block;font-size:11px;font-weight:500;color:var(--steel, #6b7280);margin-bottom:4px}.zone-info-field input,.zone-info-field select{width:100%;padding:6px 8px;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:13px}@media (max-width: 959px){.blueprint-markup-canvas{min-height:280px}.zone-info-panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:50vh;border-radius:16px 16px 0 0;overflow-y:auto;z-index:100;box-shadow:0 -4px 20px #00000026}.zone-info-panel h4{font-size:16px}.zone-info-field input,.zone-info-field select{min-height:44px;font-size:16px;padding:10px 12px}.canvas-instructions{bottom:auto;top:8px;font-size:12px;padding:6px 12px}.canvas-loading span,.canvas-error span{font-size:13px;padding:10px 16px}.canvas-empty-icon{font-size:36px}.canvas-empty-text{font-size:13px;padding:0 16px}}@media (max-width: 480px){.blueprint-markup-canvas{min-height:220px}.zone-info-panel{max-height:60vh;padding:16px}.zone-info-panel h4{margin-bottom:16px}}.wall-segment-editor{display:flex;flex-direction:column;height:100%;width:100%;background:#1a1a2e;border-radius:8px;overflow:hidden}.wall-segment-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#252538;border-bottom:1px solid #3a3a5c;flex-shrink:0}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:28px;background:#3a3a5c;margin:0 4px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#2d2d44;border:1px solid #3a3a5c;border-radius:6px;color:#e0e0e0;font-size:13px;cursor:pointer;transition:all .15s ease}.toolbar-btn.danger:hover:not(:disabled){background:#dc2626;border-color:#ef4444;color:#fff}.toolbar-icon{font-size:14px;line-height:1}.toolbar-label{font-weight:500}.toolbar-spacer{flex:1}.toolbar-info{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:12px}.wall-count{font-weight:600;color:#e0e0e0}.mode-hint{color:#6b7280;font-style:italic}.wall-editor-content{display:flex;flex:1;overflow:hidden}.wall-canvas-container{flex:1;position:relative;background:#0f0f1a;overflow:hidden}.wall-canvas-container canvas{display:block}.canvas-instructions{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;background:#252538e6;border:1px solid #3a3a5c;border-radius:6px;color:#9ca3af;font-size:13px;pointer-events:none;z-index:10}.canvas-instructions.drawing{background:#4f46e5e6;border-color:#6366f1;color:#fff}.wall-segment-list{width:280px;background:#1e1e30;border-left:1px solid #3a3a5c;display:flex;flex-direction:column;flex-shrink:0}.wall-list-header{padding:12px 16px;background:#252538;border-bottom:1px solid #3a3a5c}.wall-list-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#e0e0e0}.wall-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#4f46e5;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.wall-list-stats{display:flex;gap:16px}.stat-group{display:flex;gap:12px}.stat-value.ai{color:#ef4444}.stat-value.human{color:#3b82f6}.wall-list-filters{display:flex;padding:8px 12px;gap:4px;border-bottom:1px solid #3a3a5c}.filter-btn{flex:1;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#6b7280;font-size:11px;cursor:pointer;transition:all .15s ease}.filter-btn:hover{background:#2d2d44;color:#e0e0e0}.filter-btn.active{background:#2d2d44;border-color:#4f46e5;color:#e0e0e0}.wall-list-content{flex:1;overflow-y:auto;padding:8px}.wall-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:#6b7280}.empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.empty-hint{font-size:12px;color:#4b5563;margin-top:4px}.wall-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.wall-item:hover{background:#2d2d44;border-color:#5a5a7c}.wall-item.selected{background:#3a3a5c;border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.wall-item.ai-source{border-left:3px solid #ef4444}.wall-item.human-source{border-left:3px solid #3b82f6}.wall-item-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1a1a2e;border-radius:4px;font-size:11px;font-weight:600;color:#9ca3af}.wall-item-details{flex:1;min-width:0}.wall-item-primary{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wall-length{font-size:14px;font-weight:600;color:#e0e0e0}.wall-orientation{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.wall-orientation.orientation-h{background:#10b98133;color:#10b981}.wall-orientation.orientation-v{background:#3b82f633;color:#3b82f6}.wall-orientation.orientation-d{background:#f59e0b33;color:#f59e0b}.wall-item-secondary{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b7280}.wall-source{font-weight:500}.wall-coords{opacity:.7;font-family:Monaco,Menlo,monospace;font-size:10px}.wall-item-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:16px;cursor:pointer;transition:all .15s ease;opacity:0}.wall-item:hover .wall-item-delete{opacity:1}.wall-item-delete:hover{background:#dc2626;color:#fff}.wall-list-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#252538;border-top:1px solid #3a3a5c}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af}.legend-color{width:12px;height:3px;border-radius:2px}.legend-color.ai{background:#ef4444}.legend-color.human{background:#3b82f6}.legend-color.selected{background:#f59e0b}.wall-editor-actions{display:flex;justify-content:flex-end;gap:12px;padding:12px 16px;background:#252538;border-top:1px solid #3a3a5c}.wall-editor-actions .btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.wall-editor-actions .btn-secondary{background:#2d2d44;border:1px solid #3a3a5c;color:#e0e0e0}.wall-editor-actions .btn-secondary:hover{background:#3a3a5c;border-color:#5a5a7c}.wall-editor-actions .btn-primary{background:#4f46e5;border:1px solid #6366f1;color:#fff}.wall-editor-actions .btn-primary:hover{background:#6366f1}.wall-editor-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 959px){.wall-segment-list{width:100%;max-height:300px;border-left:none;border-top:1px solid #3a3a5c}.wall-editor-content{flex-direction:column}.toolbar-label,.toolbar-info .mode-hint{display:none}}.wall-list-content::-webkit-scrollbar{width:6px}.wall-list-content::-webkit-scrollbar-track{background:#1a1a2e}.wall-list-content::-webkit-scrollbar-thumb{background:#3a3a5c;border-radius:3px}.wall-list-content::-webkit-scrollbar-thumb:hover{background:#5a5a7c}.learning-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;font-size:13px;animation:slideDown .2s ease-out}.learning-banner--human-first{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24}.learning-banner--ai-suggest{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#a5b4fc}.learning-banner--ai-first{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#6ee7b7}.learning-banner--compact{padding:6px 10px;font-size:12px;gap:8px}.learning-banner--compact .learning-banner__progress{display:none}.learning-banner__icon{font-size:18px;flex-shrink:0}.learning-banner--compact .learning-banner__icon{font-size:14px}.learning-banner__content{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.learning-banner__message{color:var(--ink, #1f2937);font-weight:500;line-height:1.4}.learning-banner__complete{font-size:12px;color:var(--slate, #64748b)}.learning-banner__progress{display:flex;flex-direction:column;gap:4px}.progress-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.progress-bar__fill{height:100%;background:var(--brand, #3b82f6);border-radius:3px;transition:width .3s ease-out}.learning-banner--human-first .progress-bar__fill{background:#f59e0b}.learning-banner--ai-suggest .progress-bar__fill{background:#6366f1}.progress-text{font-size:11px;color:var(--slate, #64748b)}.learning-banner__dismiss{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--steel, #6b7280);font-size:18px;line-height:1;transition:all .15s ease}.learning-banner__dismiss:hover{background:#0000001a;color:var(--ink, #1f2937)}@media (max-width: 959px){.learning-banner{flex-wrap:wrap}.learning-banner__progress{width:100%;margin-top:4px}}.wizard-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:#0f0f1a;z-index:100}.fullscreen-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#1a1a2e;border-bottom:1px solid #3a3a5c;flex-shrink:0;z-index:50}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-section.left{flex-shrink:0}.toolbar-section.center{flex:1;justify-content:center}.toolbar-section.right{flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-center{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-title{font-size:14px;font-weight:600;color:#e0e0e0}.toolbar-stats{display:flex;align-items:center;gap:12px;padding:0 8px;color:#9ca3af;font-size:12px}.toolbar-stats .stat-item{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:28px;background:#3a3a5c;margin:0 8px}.mode-toggle{display:flex;background:#252538;border-radius:6px;padding:2px}.mode-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:4px;color:#9ca3af;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.mode-btn:hover{color:#e0e0e0;background:#2d2d44}.mode-btn.active{background:#4f46e5;color:#fff}.mode-btn .mode-icon{font-size:16px}.toolbar-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;color:#e0e0e0;font-size:13px;cursor:pointer;transition:all .15s ease}.toolbar-btn:hover:not(:disabled){background:#3a3a5c;border-color:#5a5a7c}.toolbar-btn.active{background:#4f46e5;border-color:#6366f1;color:#fff}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.primary{background:#4f46e5;border-color:#6366f1;color:#fff}.toolbar-btn.primary:hover:not(:disabled){background:#6366f1}.toolbar-btn.back-btn{background:transparent;border-color:transparent;color:#9ca3af}.toolbar-btn.back-btn:hover{background:#2d2d44;color:#e0e0e0}.toolbar-btn.save-btn{background:#10b981;border-color:#059669;color:#fff}.toolbar-btn.save-btn:hover:not(:disabled){background:#059669}.toolbar-btn.auto-detect-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff}.toolbar-btn.auto-detect-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.toolbar-btn.auto-detect-btn.learning-mode-blocked{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b}.toolbar-btn.auto-detect-btn.learning-mode-blocked:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.toolbar-btn.auto-detect-btn.learning-mode-suggest{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#8b5cf6}.toolbar-btn.auto-detect-btn.learning-mode-suggest:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.toolbar-btn.icon-btn{padding:8px;min-width:36px}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.learning-banner-container{padding:8px 16px;background:#1a1a2e;border-bottom:1px solid #3a3a5c;flex-shrink:0}.toolbar-btn.secondary{background:transparent;border-color:#3a3a5c}.toolbar-btn .btn-icon{font-size:16px}.toolbar-btn .btn-label{font-weight:500}.zoom-controls{display:flex;align-items:center;gap:4px;background:#252538;border-radius:6px;padding:2px}.zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;color:#9ca3af;font-size:16px;cursor:pointer;transition:all .15s ease}.zoom-btn:hover:not(:disabled){background:#3a3a5c;color:#e0e0e0}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-display{padding:0 8px;color:#9ca3af;font-size:12px;font-weight:500;min-width:48px;text-align:center}.fullscreen-canvas-area{display:flex;flex:1;overflow:hidden;position:relative}.canvas-main{flex:1;position:relative;background:#0a0a14;overflow:hidden}.canvas-main .canvas-container{position:absolute;top:0;left:0;right:0;bottom:0}.side-panel{width:320px;display:flex;flex-direction:column;background:#1a1a2e;border-left:1px solid #3a3a5c;flex-shrink:0;transition:transform .3s ease,width .3s ease;overflow:hidden}.side-panel.collapsed{width:0;border-left:none}.side-panel.zone-panel-fullscreen,.side-panel.wall-panel-fullscreen{border-left:1px solid #3a3a5c}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#252538;border-bottom:1px solid #3a3a5c;flex-shrink:0}.panel-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:#e0e0e0}.panel-header .panel-icon{font-size:18px}.panel-header .item-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#4f46e5;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.panel-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:18px;cursor:pointer;transition:all .15s ease}.panel-close-btn:hover{background:#3a3a5c;color:#e0e0e0}.panel-content{flex:1;overflow-y:auto;padding:8px}.fullscreen-zone-list{display:flex;flex-direction:column;gap:6px}.zone-item-fullscreen{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;cursor:pointer;transition:all .15s ease}.zone-item-fullscreen:hover{background:#2d2d44;border-color:#5a5a7c}.zone-item-fullscreen.selected{background:#3a3a5c;border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.zone-item-fullscreen.auto-detected{border-left:3px solid #3b82f6}.zone-item-fullscreen .zone-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.zone-item-fullscreen .zone-info{flex:1;min-width:0}.zone-item-fullscreen .zone-name{display:block;font-size:13px;font-weight:500;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-item-fullscreen .zone-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.zone-item-fullscreen .zone-type{font-size:11px;color:#6b7280;text-transform:uppercase}.zone-item-fullscreen .zone-area{font-size:11px;color:#9ca3af}.zone-item-fullscreen .zone-badge{font-size:10px}.zone-item-fullscreen .ai-badge{color:#3b82f6}.zone-item-fullscreen .zone-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:16px;cursor:pointer;opacity:0;transition:all .15s ease}.zone-item-fullscreen:hover .zone-delete{opacity:1}.zone-item-fullscreen .zone-delete:hover{background:#dc2626;color:#fff}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:#6b7280}.panel-empty .empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.panel-empty .empty-text{font-size:13px}.panel-empty .empty-hint{font-size:12px;color:#4b5563;margin-top:4px}.panel-stats{display:flex;gap:16px;padding:12px 16px;background:#252538;border-top:1px solid #3a3a5c}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-item.primary{flex:1;align-items:flex-start}.stat-value{font-size:18px;font-weight:600;color:#e0e0e0}.stat-item.primary .stat-value{font-size:24px;font-weight:700;color:#10b981}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.panel-toggle-btn{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:64px;background:#252538;border:1px solid #3a3a5c;color:#9ca3af;font-size:14px;cursor:pointer;transition:all .15s ease;z-index:10}.panel-toggle-btn:hover{background:#3a3a5c;color:#e0e0e0}.panel-toggle-btn.left{left:0;border-radius:0 6px 6px 0;border-left:none}.panel-toggle-btn.right{right:0;border-radius:6px 0 0 6px;border-right:none}.floating-instructions{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;background:#252538e6;border:1px solid #3a3a5c;border-radius:6px;color:#9ca3af;font-size:13px;pointer-events:none;z-index:10}.floating-instructions.active{background:#4f46e5e6;border-color:#6366f1;color:#fff}.fullscreen-instructions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5}.fullscreen-instructions .instructions-content{position:relative;text-align:center;padding:32px 48px;background:#1a1a2ef2;border:1px solid #3a3a5c;border-radius:12px;max-width:400px;cursor:default}.instructions-close{position:absolute;top:8px;right:12px;background:none;border:none;color:#6b7280;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.instructions-close:hover{color:#e0e0e0}.fullscreen-instructions .instructions-content h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#e0e0e0}.fullscreen-instructions .instructions-content p{margin:0 0 16px;font-size:14px;color:#9ca3af;line-height:1.5}.fullscreen-instructions .instructions-content strong{color:#10b981}.keyboard-hints{display:flex;justify-content:center;gap:16px;font-size:12px;color:#6b7280}.keyboard-hints kbd{display:inline-block;padding:2px 6px;background:#252538;border:1px solid #3a3a5c;border-radius:4px;font-family:monospace;font-size:11px;color:#e0e0e0}.zone-panel-side,.wall-panel-side{width:320px;display:flex;flex-direction:column;background:#1a1a2e;border-left:1px solid #3a3a5c;flex-shrink:0}.panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:16px;cursor:pointer;transition:all .15s ease}.panel-close:hover{background:#3a3a5c;color:#e0e0e0}.panel-stats{padding:8px 16px;background:#252538;border-bottom:1px solid #3a3a5c}.stat-total{font-size:13px;font-weight:600;color:#10b981}.wall-list{flex:1;overflow-y:auto;padding:8px}.wall-item-compact{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;margin-bottom:4px;font-size:13px}.wall-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1a1a2e;border-radius:4px;font-size:11px;font-weight:600;color:#9ca3af}.wall-length{flex:1;font-weight:500;color:#e0e0e0}.wall-source{font-size:14px}.wall-source.detection{color:#ef4444}.wall-source.human{color:#3b82f6}.wall-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#252538;border-top:1px solid #3a3a5c}.wall-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af}.wall-legend .legend-color{width:12px;height:3px;border-radius:2px}.wall-legend .legend-color.ai{background:#ef4444}.wall-legend .legend-color.human{background:#3b82f6}.wall-panel-division-selector{padding:12px 16px;background:#1f1f32;border-bottom:1px solid #3a3a5c}.wall-panel-division-selector .division-code-selector{border:none;padding:0;margin:0}.wall-panel-division-selector .mode-legend{font-size:12px;font-weight:600;color:#e5e7eb;margin-bottom:8px}.wall-panel-division-selector .legend-hint{font-weight:400;color:#9ca3af;margin-left:6px}.wall-panel-division-selector .mode-select-wrapper{margin-bottom:8px}.wall-panel-division-selector .mode-select{width:100%;padding:8px 10px;font-size:13px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;color:#e5e7eb}.wall-panel-division-selector .mode-select:focus{outline:none;border-color:#60a5fa}.wall-panel-division-selector .mode-description{font-size:11px;color:#9ca3af;margin:0;line-height:1.4}.zone-panel-side .zone-list,.wall-panel-side .wall-list{flex:1;overflow-y:auto;padding:8px}.zone-panel-side .zone-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#252538;border:1px solid #3a3a5c;border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.zone-panel-side .zone-item:hover{background:#2d2d44;border-color:#5a5a7c}.zone-panel-side .zone-item.selected{background:#3a3a5c;border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.zone-panel-side .zone-item.auto-detected{border-left:3px solid #3b82f6}.zone-panel-side .zone-name{font-size:13px;font-weight:500;color:#e0e0e0}.zone-panel-side .zone-type{font-size:11px;color:#6b7280;text-transform:uppercase}.zone-panel-side .zone-area{font-size:11px;color:#9ca3af}.zone-panel-side .zone-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#6b7280;font-size:16px;cursor:pointer;opacity:0;transition:all .15s ease}.zone-panel-side .zone-item:hover .zone-delete{opacity:1}.zone-panel-side .zone-delete:hover{background:#dc2626;color:#fff}.zone-panel-side .panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:#6b7280}.zone-panel-side .panel-empty .hint{font-size:12px;color:#4b5563;margin-top:4px}.zone-panel-side .zone-edit-form{padding:16px;border-top:1px solid #3a3a5c;background:#252538}.zone-panel-side .zone-edit-form h5{margin:0 0 12px;font-size:13px;font-weight:600;color:#e0e0e0}.zone-panel-side .zone-edit-form .form-group{margin-bottom:12px}.zone-panel-side .zone-edit-form .form-group:last-child{margin-bottom:0}.zone-panel-side .zone-edit-form label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:#6b7280}.zone-panel-side .zone-edit-form input,.zone-panel-side .zone-edit-form select{width:100%;padding:8px 12px;border:1px solid #3a3a5c;border-radius:6px;font-size:13px;color:#e0e0e0;background:#1a1a2e}.zone-panel-side .zone-edit-form input:focus,.zone-panel-side .zone-edit-form select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#1a1a2e}.panel-content::-webkit-scrollbar-thumb{background:#3a3a5c;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#5a5a7c}.step-zones .zones-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;height:calc(100vh - 400px);min-height:400px}.canvas-wrapper{display:flex;flex-direction:column;border:1px solid var(--clay, #e0e0e0);border-radius:8px;overflow:hidden;background:var(--card, #ffffff)}.canvas-container{flex:1;position:relative;overflow:hidden;background:var(--sand, #f9fafb)}.zone-panel{display:flex;flex-direction:column;border:1px solid var(--clay, #e0e0e0);border-radius:8px;background:var(--card, #ffffff);overflow:hidden}.zone-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--clay, #e0e0e0);background:var(--sand, #f9fafb)}.zone-panel-header h4{margin:0;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.zone-total-area{font-size:12px;color:var(--steel, #6b7280)}.zone-list{flex:1;overflow-y:auto;padding:8px}.zone-empty{padding:24px 16px;text-align:center;color:var(--steel, #6b7280);font-size:13px}.zone-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s ease}.zone-item:hover{background:var(--sand, #f9fafb)}.zone-item.selected{background:#c45a3b1a;border:1px solid var(--rust, #c45a3b)}.zone-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.zone-info{flex:1;min-width:0}.zone-name{display:block;font-size:13px;font-weight:500;color:var(--ink, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-type{display:block;font-size:11px;color:var(--steel, #6b7280);text-transform:uppercase}.zone-delete{padding:4px;border:none;border-radius:4px;background:transparent;cursor:pointer;opacity:0;transition:opacity .15s ease}.zone-item:hover .zone-delete{opacity:.7}.zone-delete:hover{opacity:1!important}.zone-edit-form{padding:16px;border-top:1px solid var(--clay, #e0e0e0);background:var(--sand, #f9fafb)}.zone-edit-form h5{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--ink, #1f2937)}.form-group{margin-bottom:12px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--steel, #6b7280)}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;font-size:13px;color:var(--ink, #1f2937);background:var(--card, #ffffff)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--rust, #c45a3b);box-shadow:0 0 0 3px #c45a3b1a}.auto-detect-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:16px;border-radius:8px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.auto-detect-info{display:flex;align-items:center;gap:10px}.auto-detect-icon{font-size:20px}.auto-detect-text{font-size:14px;color:var(--ink, #1f2937)}.auto-detect-preset{font-size:12px;color:var(--slate, #64748b);font-style:italic}.auto-detect-actions{display:flex;align-items:center;gap:8px}.btn-debug-viz{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:44px}.btn-debug-viz:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b;color:#92400e}.btn-debug-viz:disabled{opacity:.5;cursor:not-allowed}.btn-settings{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font-size:20px;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-settings:hover:not(:disabled){background:var(--surface-hover, #f3f4f6);border-color:var(--primary-color, #3b82f6)}.btn-settings:disabled{opacity:.5;cursor:not-allowed}.btn-auto-detect{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-auto-detect:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-auto-detect:disabled{opacity:.7;cursor:not-allowed}.btn-auto-detect .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.detection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.detection-modal{background:#fff;padding:32px 48px;border-radius:12px;text-align:center;max-width:400px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.detection-spinner{width:48px;height:48px;margin:0 auto 20px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.detection-modal h4{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink, #1f2937)}.detection-modal p{margin:0 0 8px;font-size:14px;color:var(--steel, #6b7280)}.detection-hint{font-size:12px!important;color:var(--muted, #9ca3af)!important}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-calibration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:210;animation:fadeIn .2s ease}.scale-calibration-modal{background:#fff;padding:32px;border-radius:16px;max-width:480px;width:90%;box-shadow:0 24px 80px #00000059;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.calibration-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.calibration-icon{font-size:28px}.calibration-header h3{margin:0;font-size:20px;font-weight:600;color:var(--ink, #1f2937)}.calibration-intro{font-size:14px;line-height:1.6;color:var(--steel, #4b5563);margin-bottom:20px}.calibration-intro strong{color:var(--ink, #1f2937);font-weight:600}.calibration-tip{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#fef3c7;border-radius:8px;margin-bottom:24px;font-size:13px;line-height:1.5;color:#92400e}.tip-icon{flex-shrink:0;font-size:16px}.calibration-scale-select{margin-bottom:24px}.calibration-scale-select .blueprint-scale-selector{border:none;padding:0}.calibration-scale-select .scale-legend{display:none}.calibration-scale-select .scale-select{width:100%;padding:12px 16px;font-size:14px;border:2px solid var(--clay, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease}.calibration-scale-select .scale-select:hover,.calibration-scale-select .scale-select:focus{border-color:var(--rust, #c45a3b);outline:none}.calibration-scale-select .scale-description{margin-top:8px;font-size:12px;color:var(--steel, #6b7280)}.calibration-scale-select .scale-info{margin-top:12px;padding:10px 14px;background:var(--sand, #f9fafb);border-radius:6px}.calibration-scale-select .scale-auto-note{margin-top:8px;font-size:12px;color:var(--muted, #9ca3af);font-style:italic}.calibration-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--clay, #e5e7eb)}.calibration-actions .btn{padding:10px 20px;font-size:14px;font-weight:500}.calibration-actions .btn-secondary{background:transparent;color:var(--steel, #6b7280);border:1px solid var(--clay, #e0e0e0)}.calibration-actions .btn-secondary:hover{background:var(--sand, #f9fafb)}.calibration-actions .btn-primary{background:var(--rust, #c45a3b);color:#fff;border:none}.calibration-actions .btn-primary:hover{background:#a3472c}.zone-badge{margin-left:6px;font-size:10px}.ai-badge{color:#3b82f6}.suggestion-badge{color:#f59e0b;animation:pulse-suggestion 2s ease-in-out infinite}@keyframes pulse-suggestion{0%,to{opacity:1}50%{opacity:.6}}.confirmed-badge{color:#10b981;font-weight:700}.zone-item.auto-detected{border-left:3px solid #3b82f6}.zone-item.ai-suggestion{border-left:3px dashed #f59e0b;background-color:#f59e0b0d}.zone-item.ai-suggestion:hover{background-color:#f59e0b1a;cursor:pointer}.zone-item.confirmed{border-left:3px solid #10b981}.zone-meta{display:flex;align-items:center;gap:8px}.zone-area{font-size:11px;color:var(--muted, #9ca3af)}@media (max-width: 959px){.step-zones .zones-layout{grid-template-columns:1fr;height:auto}.canvas-wrapper{height:300px}.zone-panel{max-height:250px}.auto-detect-banner{flex-direction:column;gap:12px;text-align:center}.auto-detect-info{flex-direction:column}.auto-detect-actions{width:100%;justify-content:center}.wizard-fullscreen{position:relative;min-height:100vh}.fullscreen-toolbar{flex-wrap:wrap;padding:8px 12px;gap:8px}.toolbar-section.center{order:3;width:100%;justify-content:center}.side-panel{width:100%;max-height:300px;border-left:none;border-top:1px solid #3a3a5c}.fullscreen-canvas-area{flex-direction:column}}.fill-retry-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.fill-retry-popup{background:#fff;padding:24px 32px;border-radius:12px;max-width:420px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.fill-retry-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.fill-retry-icon{font-size:32px}.fill-retry-header h4{margin:0;font-size:18px;font-weight:600;color:#1e293b}.fill-retry-message{margin:0 0 20px;color:#64748b;font-size:14px;line-height:1.5}.fill-retry-options{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:8px}.fill-retry-label{font-size:14px;font-weight:500;color:#475569;white-space:nowrap}.fill-retry-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-retry{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-retry:hover:not(:disabled){background:#2563eb}.btn-retry:disabled{opacity:.5;cursor:not-allowed}.fill-retry-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid #e2e8f0}.fill-retry-hint{font-size:12px;color:#94a3b8;font-style:italic}@media (max-width: 480px){.fill-retry-popup{margin:16px;padding:20px}.fill-retry-options{flex-direction:column;align-items:flex-start}.fill-retry-actions{flex-direction:column-reverse;gap:12px}.fill-retry-hint{text-align:center}}.dimension-extractor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.dimension-extractor--loading .loading-spinner{animation:spin 1s linear infinite}.dimension-extractor--loading .loading-text{animation:pulse 2s ease-in-out infinite}.dimension-item{transition:background-color .2s ease,transform .1s ease}.dimension-item:hover{background-color:#f8fafc!important}.dimension-item--highlighted{background-color:#eff6ff!important;box-shadow:inset 0 0 0 2px #3b82f64d}.dimension-item--confirmed{background-color:#f0fdf4!important}.dimension-confidence span{transition:transform .2s ease}.dimension-item:hover .dimension-confidence span{transform:scale(1.05)}.zone-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:50;max-height:200px;overflow-y:auto;animation:dropdown-enter .15s ease-out}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.zone-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;color:#374151;background-color:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s ease}.zone-dropdown button:hover{background-color:#f3f4f6}.zone-dropdown button:focus{outline:none;background-color:#eff6ff}.filter-toolbar{display:flex;gap:16px;padding:12px 20px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center}.filter-toolbar select{padding:6px 10px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer;transition:border-color .15s ease}.filter-toolbar select:hover{border-color:#9ca3af}.filter-toolbar select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dimension-actions button{min-width:44px;min-height:32px;transition:transform .1s ease,background-color .15s ease}.dimension-actions button:hover:not(:disabled){transform:scale(1.05)}.dimension-actions button:active:not(:disabled){transform:scale(.95)}.dimension-extractor--empty{animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dimension-extractor--error{animation:shake .4s ease-out}.dimension-list::-webkit-scrollbar{width:8px}.dimension-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.dimension-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dimension-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 960px){.dimension-item{flex-wrap:wrap;gap:8px;padding:12px}.dimension-confidence{flex-direction:row!important;gap:8px;min-width:auto!important}.dimension-value{flex:1 1 100%;order:1}.zone-link{flex:1 1 100%;order:2}.dimension-actions{flex:1 1 100%;order:3;justify-content:flex-end}.filter-toolbar{flex-direction:column;gap:12px;align-items:stretch}.filter-toolbar>div{width:100%}.filter-toolbar select{width:100%}.dimension-actions button{min-width:44px;min-height:44px}}@media print{.dimension-extractor{border:1px solid #000}.filter-toolbar,.dimension-actions{display:none}.dimension-item{border-bottom:1px solid #ccc;page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){.dimension-item,.dimension-actions button,.zone-dropdown{transition:none;animation:none}.dimension-extractor--loading .loading-spinner,.dimension-extractor--empty,.dimension-extractor--error{animation:none}}@media (prefers-contrast: high){.dimension-item{border-left-width:6px}.dimension-confidence span,.dimension-actions button{border-width:2px}}.extraction-status{margin-bottom:24px;padding:20px;border-radius:8px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0)}.status-extracting,.status-complete,.status-error{display:flex;align-items:center;gap:12px}.status-extracting p,.status-complete p,.status-error p{margin:0;flex:1;font-size:14px;color:var(--ink, #1f2937)}.status-icon{font-size:20px}.dimensions-list{margin-bottom:24px}.dimensions-list h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.dimensions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.dimension-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background:var(--card, #ffffff);border:1px solid var(--clay, #e0e0e0)}.dimension-item.manual{background:var(--success-light, #f0fdf4);border-color:var(--success, #10b981)}.dim-value{flex:1;font-size:13px;font-weight:500;color:var(--ink, #1f2937)}.dim-confidence{font-size:11px;color:var(--steel, #6b7280)}.dim-remove{padding:2px 6px;border:none;border-radius:4px;background:transparent;color:var(--steel, #6b7280);font-size:14px;cursor:pointer;transition:all .15s ease}.dim-remove:hover{background:var(--danger, #dc2626);color:#fff}.manual-entry{padding:20px;border-radius:8px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0)}.manual-entry h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.manual-form{display:flex;gap:8px;flex-wrap:wrap}.manual-form input{flex:1;min-width:120px;padding:10px 12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;font-size:14px}.manual-form select{padding:10px 12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;font-size:14px;background:var(--card, #ffffff)}.manual-form input:focus,.manual-form select:focus{outline:none;border-color:var(--rust, #c45a3b);box-shadow:0 0 0 3px #c45a3b1a}@media (max-width: 600px){.dimensions-grid{grid-template-columns:1fr}.manual-form{flex-direction:column}.manual-form input,.manual-form select{width:100%}}.suggestion-status{display:flex;align-items:center;gap:12px;padding:20px;border-radius:8px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0);margin-bottom:24px}.suggestion-status p{margin:0;flex:1;font-size:14px}.suggestion-status.error{background:var(--danger-light, #fef2f2);border-color:var(--danger, #dc2626)}.materials-summary{display:flex;gap:24px;padding:16px 20px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0);border-radius:8px;margin-bottom:24px}.summary-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--steel, #6b7280)}.stat-value{font-size:18px;font-weight:600;color:var(--ink, #1f2937)}.zone-suggestions{display:flex;flex-direction:column;gap:12px}.zone-suggestion-card{border:1px solid var(--clay, #e0e0e0);border-radius:8px;overflow:hidden;background:var(--card, #ffffff)}.zone-header{display:flex;align-items:center;width:100%;padding:16px;border:none;background:var(--sand, #f9fafb);cursor:pointer;transition:background .15s ease;text-align:left}.zone-header:hover{background:var(--clay, #e0e0e0)}.zone-header.expanded{border-bottom:1px solid var(--clay, #e0e0e0)}.zone-header .zone-name{flex:1;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.zone-header .zone-selected{font-size:13px;color:var(--steel, #6b7280);margin-right:12px}.zone-options{padding:12px;display:flex;flex-direction:column;gap:8px}.material-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;cursor:pointer;transition:all .15s ease}.material-option:hover{border-color:var(--rust, #c45a3b);background:#c45a3b05}.material-option.selected{border-color:var(--rust, #c45a3b);background:#c45a3b0d}.material-option input[type=radio]{margin-top:2px;accent-color:var(--rust, #c45a3b)}.option-content{flex:1}.option-name{font-size:13px;font-weight:500;color:var(--ink, #1f2937)}.option-badge{padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;background:var(--rust, #c45a3b);color:#fff;border-radius:4px}.option-details{display:flex;gap:16px;font-size:12px;color:var(--steel, #6b7280)}@media (max-width: 600px){.materials-summary{flex-wrap:wrap;gap:16px}.summary-stat{min-width:80px}}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--card, #ffffff);border:1px solid var(--clay, #e0e0e0);border-radius:8px}.card-icon{font-size:24px}.card-content{display:flex;flex-direction:column}.card-value{font-size:18px;font-weight:600;color:var(--ink, #1f2937)}.card-label{font-size:12px;color:var(--steel, #6b7280)}.review-zones{margin-bottom:24px}.review-zones h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.zones-table-wrapper{overflow-x:auto;border:1px solid var(--clay, #e0e0e0);border-radius:8px}.zones-table{width:100%;border-collapse:collapse;font-size:13px}.zones-table th,.zones-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--clay, #e0e0e0)}.zones-table th{background:var(--sand, #f9fafb);font-weight:600;color:var(--ink, #1f2937)}.zones-table tr:last-child td{border-bottom:none}.zones-table tr:hover td{background:#c45a3b05}.type-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;text-transform:uppercase;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0);border-radius:4px}.export-section{padding:20px;background:var(--sand, #f9fafb);border:1px solid var(--clay, #e0e0e0);border-radius:8px}.export-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.export-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.export-option{display:flex;align-items:center;gap:12px;padding:16px;background:var(--card, #ffffff);border:2px solid var(--clay, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .15s ease}.export-option:hover{border-color:var(--rust, #c45a3b)}.export-option.selected{border-color:var(--rust, #c45a3b);background:#c45a3b0d}.export-option input[type=radio]{display:none}.option-icon{font-size:24px}.option-info{display:flex;flex-direction:column}.option-title{font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.option-desc{font-size:12px;color:var(--steel, #6b7280)}.export-status{display:flex;align-items:center;gap:12px;padding:16px;border-radius:6px;margin-top:16px}.export-status.exporting{background:var(--card, #ffffff);border:1px solid var(--clay, #e0e0e0)}.export-status.complete{background:var(--success-light, #f0fdf4);border:1px solid var(--success, #10b981)}.export-status.error{background:var(--danger-light, #fef2f2);border:1px solid var(--danger, #dc2626)}.export-status p{margin:0;flex:1;font-size:14px}.download-links{display:flex;gap:8px;flex-wrap:wrap}.handoff-section{margin-top:20px;text-align:center}.handoff-divider{border:none;border-top:1px dashed var(--clay, #e0e0e0);margin:16px 0}.handoff-prompt{font-size:14px;font-weight:500;color:var(--ink, #1f2937);margin:0 0 12px}.handoff-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;background:var(--rust, #c45a3b);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.handoff-button:hover{background:var(--rust-dark, #a34930);transform:translate(2px)}.handoff-button:focus-visible{outline:2px solid var(--rust, #c45a3b);outline-offset:2px}.handoff-hint{font-size:12px;color:var(--steel, #6b7280);max-width:400px;margin:8px auto 0}.export-status.complete{flex-direction:column;text-align:center;align-items:center}.export-status.complete>p{text-align:center}@media (max-width: 600px){.review-summary{grid-template-columns:repeat(2,1fr)}.export-options{grid-template-columns:1fr}.handoff-button{width:100%;justify-content:center}}.material-selector{border:1px solid var(--clay, #e0e0e0);border-radius:8px;background:var(--card, #ffffff);overflow:hidden}.material-selector.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--steel, #6b7280)}.selector-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;border:none;background:var(--sand, #f9fafb);cursor:pointer;text-align:left;transition:background .15s ease}.selector-header:hover{background:var(--clay, #e0e0e0)}.selector-header.expanded{border-bottom:1px solid var(--clay, #e0e0e0)}.header-info{display:flex;align-items:center;gap:12px}.zone-name{font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.zone-type{padding:2px 8px;font-size:11px;font-weight:500;text-transform:uppercase;background:var(--clay, #e0e0e0);border-radius:4px;color:var(--steel, #6b7280)}.header-selection{display:flex;align-items:center;gap:12px}.selected-name{font-size:13px;color:var(--rust, #c45a3b)}.no-selection{font-size:13px;color:var(--steel, #6b7280);font-style:italic}.expand-icon{font-size:10px;color:var(--steel, #6b7280)}.selector-body{padding:16px}.no-suggestions{text-align:center;padding:20px;color:var(--steel, #6b7280)}.options-list{display:flex;flex-direction:column;gap:12px}.material-option-card{display:flex;gap:12px;padding:16px;border:2px solid var(--clay, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .15s ease}.material-option-card:hover{border-color:var(--rust, #c45a3b);background:#c45a3b05}.material-option-card.selected{border-color:var(--rust, #c45a3b);background:#c45a3b0d}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.option-radio{flex-shrink:0;width:20px;height:20px;margin-top:2px}.radio-indicator{width:100%;height:100%;border:2px solid var(--clay, #e0e0e0);border-radius:50%;transition:all .15s ease}.radio-indicator.checked{border-color:var(--rust, #c45a3b);background:var(--rust, #c45a3b);box-shadow:inset 0 0 0 3px var(--card, #ffffff)}.option-body{flex:1}.option-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.system-name{font-size:14px;font-weight:600;color:var(--ink, #1f2937)}.system-description{margin:4px 0 8px;font-size:12px;color:var(--steel, #6b7280);line-height:1.4}.badge{padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:4px}.badge-primary{background:var(--rust, #c45a3b);color:#fff}.option-metrics{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.metric{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--steel, #6b7280)}.metric-value{font-size:13px;font-weight:500;color:var(--ink, #1f2937);position:relative}.confidence-bar{position:absolute;bottom:-2px;left:0;height:2px;background:var(--rust, #c45a3b);border-radius:1px}.decision-path{font-size:11px;color:var(--steel, #6b7280);padding:8px 0 0;border-top:1px dashed var(--clay, #e0e0e0);margin-top:8px}.path-label{font-weight:600}.path-steps{display:block;margin-top:4px;font-style:italic}.risk-flags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.risk-flag{padding:4px 8px;font-size:11px;background:var(--warning-light, #fffbeb);border:1px solid var(--warning, #f59e0b);border-radius:4px;color:var(--warning-dark, #b45309)}.manual-override-btn{width:100%;margin-top:12px;text-align:center}.spinner{width:20px;height:20px;border:2px solid var(--clay, #e0e0e0);border-top-color:var(--rust, #c45a3b);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 600px){.option-metrics{flex-direction:column;gap:8px}.header-info{flex-direction:column;align-items:flex-start;gap:4px}}.material-pricing-editor{display:flex;flex-direction:column;height:100%;background:var(--card);border-radius:var(--radius);overflow:hidden}.pricing-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--clay);background:var(--sand)}.pricing-header .header-title h2{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:var(--ink)}.pricing-header .subtitle{margin:0;font-size:.875rem;color:var(--steel)}.pricing-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--steel);cursor:pointer;padding:4px 8px;line-height:1}.pricing-header .close-btn:hover{color:var(--ink)}.pricing-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--clay);gap:16px;flex-wrap:wrap}.pricing-toolbar .stats{display:flex;gap:16px}.pricing-toolbar .stat{font-size:.875rem;color:var(--steel)}.pricing-toolbar .stat strong{color:var(--ink);font-weight:600}.pricing-toolbar .filters{display:flex;gap:12px}.pricing-toolbar .zone-filter,.pricing-toolbar .search-input{padding:8px 12px;border:1px solid var(--clay);border-radius:6px;font-size:.875rem;background:var(--card)}.pricing-toolbar .zone-filter{min-width:140px}.pricing-toolbar .search-input{min-width:200px}.pricing-toolbar .zone-filter:focus,.pricing-toolbar .search-input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #4589c426}.material-pricing-editor .message{margin:12px 24px 0;padding:12px 16px;border-radius:6px;font-size:.875rem}.material-pricing-editor .message.error{background:#fee2e2;color:#991b1b;border:1px solid #FECACA}.material-pricing-editor .message.success{background:#d1fae5;color:#065f46;border:1px solid #A7F3D0}.pricing-table-container{flex:1;overflow:auto;padding:0 24px 24px}.pricing-table-container .loading-state,.pricing-table-container .empty-state{text-align:center;padding:48px;color:var(--steel)}.pricing-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:16px}.pricing-table th{text-align:left;padding:12px 16px;font-weight:600;color:var(--steel);background:var(--sand);border-bottom:2px solid var(--clay);position:sticky;top:0;z-index:1}.pricing-table th.numeric,.pricing-table td.numeric{text-align:right}.pricing-table th.status,.pricing-table td.status{text-align:center}.pricing-table th.actions,.pricing-table td.actions{text-align:center;width:80px}.pricing-table tbody tr{border-bottom:1px solid var(--clay);transition:background-color .15s ease}.pricing-table tbody tr:hover{background:var(--sand)}.pricing-table tbody tr.has-override{background:#4589c40d}.pricing-table td{padding:12px 16px;color:var(--ink)}.system-cell{display:flex;flex-direction:column;gap:2px}.system-cell .system-name{font-weight:500;color:var(--ink)}.system-cell .system-id{font-size:.75rem;color:var(--steel);font-family:monospace}.zone-badge.zone-roof{background:#e0e7ff;color:#3730a3}.badge.override{background:var(--sky);color:#fff}.badge.default{background:var(--clay);color:var(--steel)}.edit-btn{padding:6px 12px;border:1px solid var(--clay);border-radius:4px;background:var(--card);color:var(--ink);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.pricing-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.pricing-modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.pricing-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--clay);background:var(--sand)}.pricing-modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.pricing-modal-body{padding:20px}.pricing-modal-body .error-message{background:#fee2e2;color:#991b1b;padding:10px 12px;border-radius:6px;margin-bottom:16px;font-size:.875rem}.pricing-modal-body .system-info{display:flex;gap:12px;align-items:center;margin-bottom:20px}.pricing-modal-body .system-info .system-id{font-family:monospace;font-size:.875rem;color:var(--steel)}.form-group.full-width{grid-column:1 / -1;margin-top:8px}.form-group input,.form-group textarea{padding:10px 12px;border:1px solid var(--clay);border-radius:6px;font-size:.875rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #4589c426}.input-with-hint{display:flex;flex-direction:column;gap:4px}.input-with-hint .hint{font-size:.75rem;color:var(--steel)}.pricing-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--clay);background:var(--sand)}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.add-material-btn{white-space:nowrap}.show-excluded-toggle{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--steel);cursor:pointer}.show-excluded-toggle input{accent-color:var(--sky)}.excluded-stat{color:var(--rust)!important}.pricing-table tbody tr.is-custom{background:#f0f7ff}.pricing-table tbody tr.is-excluded{background:#fef2f2;opacity:.7}.pricing-table tbody tr.is-excluded .system-name{text-decoration:line-through;color:var(--steel)}.badge.custom{background:#e0f2fe;color:#0369a1}.badge.excluded{background:#fee2e2;color:#dc2626}.delete-btn{background:none;border:none;color:var(--rust);cursor:pointer;padding:4px 8px;font-size:.75rem;border-radius:4px}.restore-btn{background:none;border:1px solid var(--sage);color:var(--sage);cursor:pointer;padding:4px 12px;font-size:.75rem;border-radius:4px}.restore-btn:hover{background:#f0fdf4}.btn-danger{background:var(--rust);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.pricing-modal-large{max-width:600px}.pricing-modal-small{max-width:400px}.actions{white-space:nowrap}.actions button+button{margin-left:4px}@media (max-width: 959px){.pricing-header{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.pricing-header .header-title h2{font-size:1.125rem}.pricing-header .close-btn{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;touch-action:manipulation}.material-pricing-editor{position:relative}.pricing-toolbar{flex-direction:column;align-items:stretch;padding:12px 16px;gap:12px}.pricing-toolbar .stats{flex-wrap:wrap;gap:8px 16px}.pricing-toolbar .filters{flex-direction:column;width:100%}.pricing-toolbar .zone-filter,.pricing-toolbar .search-input{min-width:100%;min-height:44px;font-size:16px}.pricing-table-container{padding:0 12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.pricing-table{min-width:600px;font-size:.8125rem}.pricing-table th,.pricing-table td{padding:10px 12px}.edit-btn,.delete-btn,.restore-btn,.btn-primary,.btn-secondary,.btn-danger{min-height:44px;touch-action:manipulation}.pricing-modal,.pricing-modal-large,.pricing-modal-small{max-width:calc(100vw - 32px);margin:16px}.pricing-modal-header,.pricing-modal-body,.pricing-modal-footer{padding:12px 16px}.form-group input,.form-group textarea{min-height:44px;font-size:16px}.pricing-modal-footer{flex-direction:column-reverse;gap:8px}.pricing-modal-footer .btn-primary,.pricing-modal-footer .btn-secondary,.pricing-modal-footer .btn-danger{width:100%}.form-grid{grid-template-columns:1fr}.header-actions{flex-direction:column;align-items:stretch;gap:8px}}@media (max-width: 480px){.pricing-header{padding:12px}.pricing-toolbar{padding:8px 12px}.pricing-table{font-size:.75rem}.pricing-table th,.pricing-table td{padding:8px}.zone-badge,.badge{font-size:.625rem;padding:3px 6px}}.decision-tree-editor{display:flex;flex-direction:column;height:100%;background:var(--card);border-radius:var(--radius);overflow:hidden}.dt-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--clay);background:var(--sand)}.dt-header .header-title h2{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:var(--ink)}.dt-header .subtitle{margin:0;font-size:.875rem;color:var(--steel)}.dt-header .header-actions{display:flex;align-items:center;gap:12px}.dt-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--steel);cursor:pointer;padding:4px 8px;line-height:1}.dt-header .close-btn:hover{color:var(--ink)}.dt-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--clay);gap:16px;flex-wrap:wrap}.dt-toolbar .stats{display:flex;gap:16px}.dt-toolbar .stat{font-size:.875rem;color:var(--steel)}.dt-toolbar .stat strong{color:var(--ink);font-weight:600}.dt-toolbar .override-stat strong{color:var(--sky)}.dt-toolbar .custom-stat strong{color:#0369a1}.dt-toolbar .filters{display:flex;gap:12px;align-items:center}.dt-toolbar .zone-filter,.dt-toolbar .search-input{padding:8px 12px;border:1px solid var(--clay);border-radius:6px;font-size:.875rem;background:var(--card)}.dt-toolbar .zone-filter{min-width:140px}.dt-toolbar .search-input{min-width:200px}.dt-toolbar .zone-filter:focus,.dt-toolbar .search-input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #4589c426}.show-base-toggle{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--steel);cursor:pointer}.show-base-toggle input{accent-color:var(--sky)}.decision-tree-editor .message{margin:12px 24px 0;padding:12px 16px;border-radius:6px;font-size:.875rem}.decision-tree-editor .message.error{background:#fee2e2;color:#991b1b;border:1px solid #FECACA}.decision-tree-editor .message.success{background:#d1fae5;color:#065f46;border:1px solid #A7F3D0}.dt-table-container{flex:1;overflow:auto;padding:0 24px 24px}.dt-table-container .loading-state,.dt-table-container .empty-state{text-align:center;padding:48px;color:var(--steel)}.dt-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:16px}.dt-table th{text-align:left;padding:12px 16px;font-weight:600;color:var(--steel);background:var(--sand);border-bottom:2px solid var(--clay);position:sticky;top:0;z-index:1}.dt-table th.numeric,.dt-table td.numeric{text-align:right}.dt-table th.status,.dt-table td.status{text-align:center}.dt-table th.actions,.dt-table td.actions{text-align:center;width:140px}.dt-table th.expand-col{width:40px}.dt-table tbody tr.rule-row{border-bottom:1px solid var(--clay);transition:background-color .15s ease}.dt-table tbody tr.rule-row:hover{background:var(--sand)}.dt-table tbody tr.rule-row.source-base{background:transparent}.dt-table tbody tr.rule-row.source-override{background:#4589c40d}.dt-table tbody tr.rule-row.source-custom{background:#f0f7ff}.dt-table td{padding:12px 16px;color:var(--ink)}.expand-btn{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:.75rem;color:var(--steel)}.expand-btn:hover{color:var(--ink)}.rule-cell{display:flex;flex-direction:column;gap:2px}.rule-cell .rule-name{font-weight:500;color:var(--ink)}.rule-cell .rule-id{font-size:.75rem;color:var(--steel);font-family:monospace}.zone-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.zone-badge.zone-foundation{background:#dbeafe;color:#1e40af}.zone-badge.zone-structure{background:#e0e7ff;color:#3730a3}.zone-badge.zone-exterior{background:#fef3c7;color:#92400e}.zone-badge.zone-roof{background:#e5e7eb;color:#374151}.zone-badge.zone-interior{background:#d1fae5;color:#065f46}.zone-badge.zone-mep{background:#fed7aa;color:#9a3412}.zone-badge.zone-finish{background:#fce7f3;color:#9d174d}.zone-badge.zone-sitework{background:#fee2e2;color:#991b1b}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.badge.base{background:var(--clay);color:var(--steel)}.badge.tenant_override{background:var(--sky);color:#fff}.badge.tenant_custom{background:#e0f2fe;color:#0369a1}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-inactive{background:var(--clay);color:var(--steel)}.status-badge.status-draft{background:#fef3c7;color:#92400e}.edit-btn,.override-btn{padding:6px 12px;border:1px solid var(--clay);border-radius:4px;background:var(--card);color:var(--ink);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.edit-btn:hover{background:var(--sky);border-color:var(--sky);color:#fff}.override-btn{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.override-btn:hover{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.delete-btn{background:none;border:none;color:var(--rust);cursor:pointer;padding:6px 12px;font-size:.8125rem;border-radius:4px}.delete-btn:hover{background:#fee2e2}.edit-btn.small,.delete-btn.small{padding:4px 8px;font-size:.75rem}.add-rule-btn{white-space:nowrap}.add-branch-btn{padding:4px 10px;border:1px dashed var(--sky);border-radius:4px;background:transparent;color:var(--sky);font-size:.75rem;cursor:pointer;transition:all .15s ease}.add-branch-btn:hover{background:#4589c41a}.branches-row td{padding:0!important;background:var(--sand)}.branches-container{padding:16px 24px 16px 56px;border-top:1px solid var(--clay)}.branches-container.empty{text-align:center;padding:24px;color:var(--steel)}.branches-container.empty p{margin:0 0 12px}.branches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:.8125rem;color:var(--steel)}.branches-table{width:100%;border-collapse:collapse;font-size:.8125rem;background:var(--card);border-radius:6px;overflow:hidden}.branches-table th{text-align:left;padding:8px 12px;font-weight:600;color:var(--steel);background:var(--clay);font-size:.75rem}.branches-table td{padding:8px 12px;border-bottom:1px solid var(--clay)}.branches-table tr:last-child td{border-bottom:none}.branches-table .branch-id{font-family:monospace;font-size:.75rem;color:var(--steel)}.action-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.6875rem;font-weight:500;text-transform:uppercase}.action-badge.action-recommend_system{background:#d1fae5;color:#065f46}.action-badge.action-require_system{background:#dbeafe;color:#1e40af}.action-badge.action-flag_review{background:#fef3c7;color:#92400e}.action-badge.action-skip{background:var(--clay);color:var(--steel)}.dt-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dt-modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.dt-modal-small{max-width:400px}.dt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--clay);background:var(--sand)}.dt-modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.dt-modal-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 140px)}.dt-modal-body .error-message{background:#fee2e2;color:#991b1b;padding:10px 12px;border-radius:6px;margin-bottom:16px;font-size:.875rem}.dt-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--clay);background:var(--sand)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.8125rem;font-weight:500;color:var(--ink)}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;border:1px solid var(--clay);border-radius:6px;font-size:.875rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #4589c426}.form-group .hint{font-size:.75rem;color:var(--steel)}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--sky);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:#3a78a8}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--card);color:var(--ink);border:1px solid var(--clay)}.btn-secondary:hover:not(:disabled){background:var(--sand)}.btn-danger{background:var(--rust);color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.confirm-text{font-size:.9375rem;color:var(--ink);line-height:1.5;margin:0 0 16px}.confirm-text strong{color:var(--rust)}@media (max-width: 959px){.dt-header{padding:16px;flex-direction:column;gap:12px;align-items:stretch}.dt-header .header-title h2{font-size:1.125rem}.dt-header .header-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.dt-header .close-btn{position:absolute;top:8px;right:8px;min-width:44px;min-height:44px;touch-action:manipulation}.decision-tree-editor{position:relative}.dt-toolbar{flex-direction:column;align-items:stretch;padding:12px 16px;gap:12px}.dt-toolbar .stats{flex-wrap:wrap;gap:8px 16px}.dt-toolbar .filters{flex-direction:column;width:100%;gap:8px}.dt-toolbar .zone-filter,.dt-toolbar .search-input{min-width:100%;min-height:44px;font-size:16px}.show-base-toggle{padding:8px 0}.show-base-toggle input{width:20px;height:20px}.dt-table-container{padding:0 12px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.dt-table{min-width:700px;font-size:.8125rem}.dt-table th,.dt-table td{padding:10px 12px}.branches-container{padding:12px 16px 12px 32px}.branches-table{font-size:.75rem}.branches-table th,.branches-table td{padding:6px 8px}.edit-btn,.override-btn,.delete-btn,.add-rule-btn,.add-branch-btn,.expand-btn,.btn-primary,.btn-secondary,.btn-danger{min-height:44px;touch-action:manipulation}.expand-btn{min-width:44px;padding:10px}.dt-modal,.dt-modal-small{max-width:calc(100vw - 32px);margin:16px}.dt-modal-header,.dt-modal-body,.dt-modal-footer{padding:12px 16px}.form-group input,.form-group textarea,.form-group select{min-height:44px;font-size:16px}.dt-modal-footer{flex-direction:column-reverse;gap:8px}.dt-modal-footer .btn-primary,.dt-modal-footer .btn-secondary,.dt-modal-footer .btn-danger{width:100%}.form-grid{grid-template-columns:1fr}}@media (max-width: 480px){.dt-header{padding:12px}.dt-toolbar{padding:8px 12px}.dt-table{font-size:.75rem}.dt-table th,.dt-table td{padding:8px}.zone-badge,.badge,.status-badge,.action-badge{font-size:.625rem;padding:3px 6px}.branches-container{padding:8px 12px 8px 16px}}.wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:wizard-fade-in .2s ease-out}@keyframes wizard-fade-in{0%{opacity:0}to{opacity:1}}.wizard-modal{background:var(--bg-primary, #ffffff);border-radius:var(--radius, 8px);box-shadow:0 20px 60px #0000004d;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;animation:wizard-scale-in .2s ease-out}@keyframes wizard-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.wizard-overlay,.wizard-modal{animation:none}}.wizard-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--clay, #e0e0e0)}.wizard-header-content{flex:1}.wizard-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--steel, #333)}.wizard-subtitle{margin:.25rem 0 0;font-size:.9rem;color:var(--muted, #666)}.wizard-close-btn{background:none;border:none;font-size:1.75rem;color:var(--muted, #666);cursor:pointer;padding:0;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s ease}.wizard-close-btn:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--steel, #333)}.wizard-close-btn:disabled{opacity:.5;cursor:not-allowed}.progress-indicator{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-secondary, #f5f5f5);border-bottom:1px solid var(--clay, #e0e0e0);overflow-x:auto}.progress-step{display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:80px;padding:.5rem;border-radius:4px;transition:background-color .15s ease}.progress-step:hover{background:#0000000d}.progress-step.disabled{cursor:not-allowed;opacity:.5}.progress-step.disabled:hover{background:transparent}.progress-step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;background:var(--clay, #e0e0e0);color:var(--muted, #666);transition:all .2s ease}.progress-step.active .progress-step-number{background:var(--rust, #c75b39);color:#fff}.progress-step.completed .progress-step-number{background:var(--success, #28a745);color:#fff}.progress-step-label{font-size:.75rem;color:var(--muted, #666);margin-top:.5rem;text-align:center;white-space:nowrap}.progress-step.active .progress-step-label{color:var(--rust, #c75b39);font-weight:600}.progress-step.completed .progress-step-label{color:var(--success, #28a745)}.progress-connector{flex:1;height:2px;background:var(--clay, #e0e0e0);margin:0 .5rem;min-width:20px}.progress-connector.completed{background:var(--success, #28a745)}.wizard-content{flex:1;overflow-y:auto;padding:1.5rem}.wizard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--clay, #e0e0e0);border-top-color:var(--rust, #c75b39);border-radius:50%;animation:spin .8s linear infinite}.wizard-loading p{margin-top:1rem;color:var(--muted, #666)}.wizard-error{background:var(--error-bg, #fff5f5);color:var(--error, #c53030);padding:.75rem 1rem;margin:0 1.5rem;border-radius:4px;font-size:.9rem}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--clay, #e0e0e0);background:var(--bg-secondary, #f5f5f5)}.wizard-footer-left,.wizard-footer-right{display:flex;gap:.75rem}.wizard-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-primary{background:var(--rust, #c75b39);color:#fff;border:1px solid var(--rust, #c75b39)}.wizard-btn-primary:hover:not(:disabled){background:var(--rust-dark, #a84830);border-color:var(--rust-dark, #a84830)}.wizard-btn-secondary{background:#fff;color:var(--steel, #333);border:1px solid var(--clay, #e0e0e0)}.wizard-btn-secondary:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .05))}.wizard-btn-ghost{background:transparent;color:var(--muted, #666);border:none}.wizard-btn-ghost:hover:not(:disabled){color:var(--steel, #333);text-decoration:underline}.wizard-btn-complete{background:var(--success, #28a745);border-color:var(--success, #28a745)}.wizard-btn-complete:hover:not(:disabled){background:#218838;border-color:#218838}.division-selection-step{display:flex;flex-direction:column;gap:1rem}.division-selection-intro{margin-bottom:1rem}.division-selection-intro h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--steel, #333)}.division-selection-intro p{margin:0;color:var(--muted, #666);font-size:.9rem}.division-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.division-card{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--clay, #e0e0e0);border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:44px;background:#fff}.division-card:hover{border-color:var(--rust, #c75b39)}.division-card.selected{border-color:var(--rust, #c75b39);background:var(--rust-bg, rgba(199, 91, 57, .05))}.division-card-checkbox{width:20px;height:20px;border:2px solid var(--clay, #e0e0e0);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.division-card.selected .division-card-checkbox{background:var(--rust, #c75b39);border-color:var(--rust, #c75b39);color:#fff}.division-card-content{flex:1;min-width:0}.division-card-code{font-weight:600;color:var(--steel, #333)}.division-card-name{font-size:.85rem;color:var(--muted, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.division-card-count{font-size:.75rem;color:var(--muted, #666);background:var(--bg-secondary, #f5f5f5);padding:2px 6px;border-radius:4px}.rates-step{display:flex;flex-direction:column;gap:1.5rem}.rates-step-intro{margin-bottom:.5rem}.rates-step-intro h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--steel, #333)}.rates-step-intro p{margin:0;color:var(--muted, #666);font-size:.9rem}.division-section{border:1px solid var(--clay, #e0e0e0);border-radius:6px;overflow:hidden}.division-section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary, #f5f5f5);cursor:pointer}.division-section-title{font-weight:600;color:var(--steel, #333)}.division-section-toggle{font-size:1.2rem;color:var(--muted, #666)}.division-section-content{padding:1rem}.scope-rate-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--clay, #e0e0e0)}.scope-rate-form:last-child{border-bottom:none}.scope-rate-label{grid-column:1 / -1;font-weight:500;color:var(--steel, #333);margin-bottom:.5rem}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label{font-size:.8rem;color:var(--muted, #666)}.form-field input,.form-field select{padding:.5rem .75rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.9rem;min-height:44px}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--rust, #c75b39);box-shadow:0 0 0 2px #c75b391a}.historical-step{display:flex;flex-direction:column;gap:1rem}.job-list{display:flex;flex-direction:column;gap:.5rem}.job-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--clay, #e0e0e0);border-radius:6px;cursor:pointer;transition:all .15s ease}.job-item:hover{border-color:var(--rust, #c75b39)}.job-item.selected{border-color:var(--rust, #c75b39);background:var(--rust-bg, rgba(199, 91, 57, .05))}.job-item.disabled{opacity:.5;cursor:not-allowed}.job-checkbox{width:20px;height:20px;border:2px solid var(--clay, #e0e0e0);border-radius:4px;flex-shrink:0}.job-item.selected .job-checkbox{background:var(--rust, #c75b39);border-color:var(--rust, #c75b39)}.job-info{flex:1}.job-name{font-weight:500;color:var(--steel, #333)}.job-meta{font-size:.85rem;color:var(--muted, #666)}.suggested-rates-section{margin-top:1.5rem;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:6px}.suggested-rates-section h4{margin:0 0 1rem;color:var(--steel, #333)}.review-step{display:flex;flex-direction:column;gap:1.5rem}.review-section{border:1px solid var(--clay, #e0e0e0);border-radius:6px;overflow:hidden}.review-section-header{padding:.75rem 1rem;background:var(--bg-secondary, #f5f5f5);font-weight:600;color:var(--steel, #333);display:flex;align-items:center;justify-content:space-between}.review-section-content{padding:1rem}.review-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.review-summary-item{text-align:center;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:6px}.review-summary-value{font-size:1.5rem;font-weight:600;color:var(--rust, #c75b39)}.review-summary-label{font-size:.85rem;color:var(--muted, #666);margin-top:.25rem}@media (max-width: 767px){.wizard-overlay{padding:0}.wizard-modal{max-width:100%;max-height:100%;border-radius:0}.wizard-header{padding:1rem}.wizard-header h2{font-size:1.25rem}.progress-indicator{padding:.75rem 1rem}.progress-step{min-width:60px;padding:.25rem}.progress-step-number{width:28px;height:28px;font-size:.75rem}.progress-step-label{font-size:.65rem}.wizard-content{padding:1rem}.wizard-footer{padding:.75rem 1rem;flex-direction:column;gap:.75rem}.wizard-footer-left,.wizard-footer-right{width:100%;justify-content:stretch}.wizard-btn{flex:1;padding:.75rem 1rem}.division-grid,.scope-rate-form{grid-template-columns:1fr}.wizard-autosave-indicator{display:none}.wizard-draft-restore{flex-direction:column;gap:.75rem}.draft-restore-actions{width:100%;justify-content:stretch}.draft-restore-actions .wizard-btn{flex:1}}.wizard-autosave-indicator{display:inline-flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--muted, #666);margin-left:.75rem}.wizard-autosave-indicator.saving{color:var(--rust, #c75b39)}.wizard-autosave-indicator.saved{color:var(--success, #28a745)}.wizard-autosave-indicator svg{flex-shrink:0}.autosave-spinner{width:12px;height:12px;border:2px solid var(--clay, #e0e0e0);border-top-color:var(--rust, #c75b39);border-radius:50%;animation:spin .6s linear infinite}.wizard-draft-restore{display:flex;align-items:center;justify-content:space-between;background:var(--info-bg, #e8f4fd);border:1px solid var(--info-border, #b8daff);border-radius:6px;padding:.75rem 1rem;margin:0 1.5rem;animation:wizard-fade-in .3s ease-out}.draft-restore-content{display:flex;align-items:center;gap:.75rem}.draft-icon{flex-shrink:0;color:var(--info, #0066cc)}.draft-restore-text{display:flex;flex-direction:column;gap:.125rem}.draft-title{font-weight:600;color:var(--steel, #333);font-size:.9rem}.draft-time{font-size:.8rem;color:var(--muted, #666)}.draft-restore-actions{display:flex;gap:.5rem}.wizard-btn-sm{padding:.5rem .875rem;font-size:.85rem;min-height:36px}.suggested-rates-list{display:flex;flex-direction:column;gap:.75rem}.suggested-rate-item{background:#fff;border:1px solid var(--clay, #e0e0e0);border-radius:6px;padding:.875rem 1rem;transition:border-color .15s ease}.suggested-rate-item:hover{border-color:var(--rust-light, #d9836b)}.suggested-rate-item.has-warning{border-left:3px solid var(--warning, #e9a820)}.rate-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.rate-code{font-weight:600;color:var(--steel, #333);font-size:.95rem}.rate-badges{display:flex;gap:.375rem;align-items:center}.confidence-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;cursor:help}.confidence-badge.confidence-high{background:var(--success-bg, rgba(40, 167, 69, .15));color:var(--success, #28a745)}.confidence-badge.confidence-medium{background:var(--warning-bg, rgba(233, 168, 32, .15));color:var(--warning-dark, #b8860b)}.confidence-badge.confidence-low{background:var(--error-bg, rgba(192, 57, 43, .15));color:var(--error, #c53030)}.trend-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.8rem;font-weight:600;cursor:help}.trend-badge.trend-up{background:var(--success-bg, rgba(40, 167, 69, .15));color:var(--success, #28a745)}.trend-badge.trend-down{background:var(--error-bg, rgba(192, 57, 43, .15));color:var(--error, #c53030)}.trend-badge.trend-stable{background:var(--info-bg, rgba(0, 102, 204, .15));color:var(--info, #0066cc)}.outlier-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.7rem;font-weight:500;background:var(--clay, #e0e0e0);color:var(--muted, #666);cursor:help}.rate-value{display:flex;flex-direction:column;gap:.125rem}.rate-hours{font-size:1.1rem;font-weight:600;color:var(--rust, #c75b39)}.rate-meta{font-size:.8rem;color:var(--muted, #666)}.rate-range{color:var(--muted-light, #999)}.sample-warning{display:flex;align-items:center;gap:.5rem;margin-top:.625rem;padding:.5rem .75rem;background:var(--warning-bg, rgba(233, 168, 32, .1));border-radius:4px;font-size:.8rem;color:var(--warning-dark, #b8860b)}.sample-warning svg{flex-shrink:0;color:var(--warning, #e9a820)}.rates-summary{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--clay, #e0e0e0);font-size:.85rem;color:var(--muted, #666);flex-wrap:wrap}.summary-divider{color:var(--clay, #e0e0e0)}.material-costs-enhanced .division-section-header{gap:1rem}.division-section-count{font-size:.85rem;color:var(--muted, #666);background:var(--bg-secondary, #f5f5f5);padding:2px 8px;border-radius:12px;margin-left:auto;margin-right:.5rem}.no-codes-message{padding:1rem;color:var(--muted, #666);font-style:italic;text-align:center}.saving-indicator{margin-top:1rem;padding:.5rem 1rem;background:var(--info-bg, rgba(0, 102, 204, .1));border-radius:4px;color:var(--info, #0066cc);font-size:.9rem;text-align:center}.wizard-error{padding:.75rem 1rem;background:var(--error-bg, rgba(192, 57, 43, .1));border:1px solid var(--error, #c53030);border-radius:4px;color:var(--error, #c53030);font-size:.9rem;margin-bottom:1rem}.scope-material-card{background:#fff;border:1px solid var(--clay, #e0e0e0);border-radius:8px;margin-bottom:1rem;overflow:hidden}.scope-material-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;background:var(--bg-secondary, #f8f8f8);border-bottom:1px solid var(--clay, #e0e0e0);gap:1rem}.scope-material-card-info{flex:1;min-width:0}.scope-material-card-code{font-size:.8rem;font-weight:600;color:var(--rust, #c75b39);margin-bottom:.25rem}.scope-material-card-name{font-weight:600;color:var(--steel, #333);margin:0}.scope-material-card-actions{display:flex;gap:.5rem;flex-shrink:0}.scope-material-card-body{padding:1rem}.pricing-fields-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.pricing-field{display:flex;flex-direction:column;gap:.375rem}.pricing-field label{font-size:.8rem;font-weight:500;color:var(--muted, #666)}.pricing-field input{padding:.5rem .75rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.pricing-field input:focus{outline:none;border-color:var(--rust, #c75b39);box-shadow:0 0 0 2px #c75b391a}.material-catalog-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--clay, #e0e0e0)}.material-catalog-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.material-catalog-preview-header h5{margin:0;font-size:.9rem;font-weight:600;color:var(--steel, #333)}.material-catalog-preview-count{font-size:.8rem;color:var(--muted, #666)}.material-preview-list{display:flex;flex-direction:column;gap:.5rem}.material-preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary, #f8f8f8);border-radius:4px;font-size:.85rem}.material-preview-item-desc{flex:1;color:var(--steel, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-preview-item-qty{color:var(--muted, #666);margin-left:1rem;flex-shrink:0}.material-catalog-empty{padding:1rem;text-align:center;color:var(--muted, #666);font-size:.85rem;background:var(--bg-secondary, #f8f8f8);border-radius:4px}.invoice-upload-section{display:flex;flex-direction:column;gap:1.5rem}.invoice-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;border:2px dashed var(--clay, #e0e0e0);border-radius:8px;background:var(--bg-secondary, #f8f8f8);cursor:pointer;transition:all .2s ease;text-align:center}.invoice-dropzone:hover,.invoice-dropzone.drag-over{border-color:var(--rust, #c75b39);background:var(--rust-bg, rgba(199, 91, 57, .05))}.invoice-dropzone-icon{font-size:2.5rem;margin-bottom:.75rem;color:var(--muted, #666)}.invoice-dropzone-text{font-size:.95rem;color:var(--steel, #333);margin-bottom:.25rem}.invoice-dropzone-hint{font-size:.8rem;color:var(--muted, #666)}.invoice-file-selected{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary, #f8f8f8);border-radius:6px;border:1px solid var(--clay, #e0e0e0)}.invoice-file-icon{font-size:1.5rem;color:var(--rust, #c75b39)}.invoice-file-info{flex:1}.invoice-file-name{font-weight:500;color:var(--steel, #333)}.invoice-file-size{font-size:.8rem;color:var(--muted, #666)}.invoice-review-section{display:flex;flex-direction:column;gap:1rem}.extraction-summary{display:flex;gap:1.5rem;padding:1rem;background:var(--bg-secondary, #f8f8f8);border-radius:6px;flex-wrap:wrap}.extraction-summary-item{display:flex;flex-direction:column;gap:.25rem}.extraction-summary-label{font-size:.75rem;color:var(--muted, #666);text-transform:uppercase;letter-spacing:.5px}.extraction-summary-value{font-weight:600;color:var(--steel, #333)}.line-items-table-wrapper{max-height:350px;overflow-y:auto;border:1px solid var(--clay, #e0e0e0);border-radius:6px}.line-items-table{width:100%;border-collapse:collapse;font-size:.9rem}.line-items-table th,.line-items-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--clay, #e0e0e0)}.line-items-table th{background:var(--bg-secondary, #f8f8f8);font-weight:600;color:var(--steel, #333);position:sticky;top:0;z-index:1}.line-items-table tr:last-child td{border-bottom:none}.line-items-table tr:hover td{background:var(--bg-hover, rgba(0, 0, 0, .02))}.line-items-table input{width:100%;padding:.375rem .5rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.85rem}.line-items-table input:focus{outline:none;border-color:var(--rust, #c75b39)}.line-item-remove-btn{background:none;border:none;color:var(--error, #c53030);cursor:pointer;padding:.25rem;border-radius:4px;transition:background .15s ease}.line-item-remove-btn:hover{background:var(--error-bg, rgba(192, 57, 43, .1))}.material-catalog-section{display:flex;flex-direction:column;gap:1rem}.material-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.material-catalog-search{flex:1;max-width:300px}.material-catalog-search input{width:100%;padding:.5rem .75rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.9rem}.material-catalog-search input:focus{outline:none;border-color:var(--rust, #c75b39)}.materials-list-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--clay, #e0e0e0);border-radius:6px}.materials-list{display:flex;flex-direction:column}.materials-list-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 60px;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary, #f8f8f8);font-weight:600;font-size:.85rem;color:var(--steel, #333);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--clay, #e0e0e0)}.materials-list-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 60px;gap:.5rem;padding:.75rem 1rem;align-items:center;border-bottom:1px solid var(--clay, #e0e0e0);transition:background .1s ease}.materials-list-item:last-child{border-bottom:none}.materials-list-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .02))}.materials-list-item.editing{background:var(--rust-bg, rgba(199, 91, 57, .05))}.materials-list-item input{width:100%;padding:.375rem .5rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.85rem}.materials-list-item input:focus{outline:none;border-color:var(--rust, #c75b39)}.material-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-actions{display:flex;gap:.25rem;justify-content:flex-end}.material-action-btn{background:none;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .15s ease}.material-action-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.material-action-btn.edit{color:var(--sky, #416c86)}.material-action-btn.delete{color:var(--error, #c53030)}.material-action-btn.save{color:var(--success, #28a745)}.material-action-btn.cancel{color:var(--muted, #666)}.add-material-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.5rem;padding:1rem;background:var(--bg-secondary, #f8f8f8);border-radius:6px;align-items:end}.add-material-form .form-field{display:flex;flex-direction:column;gap:.25rem}.add-material-form label{font-size:.75rem;color:var(--muted, #666)}.add-material-form input{padding:.5rem .75rem;border:1px solid var(--clay, #e0e0e0);border-radius:4px;font-size:.9rem}.add-material-form input:focus{outline:none;border-color:var(--rust, #c75b39)}.materials-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--muted, #666)}.materials-empty-state-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.materials-empty-state-text{font-size:.95rem;margin-bottom:.5rem}.materials-empty-state-hint{font-size:.85rem;color:var(--muted-light, #999)}.catalog-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--clay, #e0e0e0);margin-top:1rem}.catalog-footer-stats{font-size:.85rem;color:var(--muted, #666)}.extraction-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.extraction-progress-spinner{width:48px;height:48px;border:3px solid var(--clay, #e0e0e0);border-top-color:var(--rust, #c75b39);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.extraction-progress-text{font-size:.95rem;color:var(--steel, #333);margin-bottom:.25rem}.extraction-progress-hint{font-size:.85rem;color:var(--muted, #666)}.invoice-modal-actions,.catalog-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--clay, #e0e0e0)}.scope-learning-mode-selector{display:flex;align-items:center;gap:4px}.scope-learning-mode-selector .mode-select{padding:4px 8px;border:1px solid var(--border-gray, #d1d5db);border-radius:4px;background:var(--surface, #fff);font-size:.75rem;cursor:pointer;min-width:120px;transition:border-color .2s,background-color .2s}.scope-learning-mode-selector .mode-select:hover:not(:disabled){border-color:var(--primary, #3b82f6)}.scope-learning-mode-selector .mode-select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.scope-learning-mode-selector .mode-select:disabled{opacity:.6;cursor:not-allowed}.scope-learning-mode-selector .mode-select.override{border-color:var(--warning, #f59e0b);background:#f59e0b1a}.scope-learning-mode-selector .mode-select.updating{opacity:.7}.scope-learning-mode-selector .override-indicator,.scope-learning-mode-selector .updating-spinner,.scope-learning-mode-selector .error-indicator{font-size:.875rem;line-height:1}.scope-learning-mode-selector .override-indicator{color:var(--warning, #f59e0b);cursor:help}.scope-learning-mode-selector .updating-spinner{animation:spin 1s linear infinite}.scope-learning-mode-selector .error-indicator{color:var(--error, #ef4444);cursor:help;position:relative}.scope-learning-mode-selector .error-toast{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 8px;background:var(--error, #ef4444);color:#fff;font-size:.7rem;white-space:nowrap;border-radius:4px;margin-bottom:4px;z-index:10}.scope-learning-mode-selector .error-indicator:hover .error-toast{display:block}.scope-learning-mode-selector .mode-select.has-error{border-color:var(--error, #ef4444);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.scope-learning-mode-selector .override-author{font-size:.65rem;color:var(--text-muted, #9ca3af);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.scope-learning-mode-selector .mode-badge.read-only{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--surface-secondary, #f3f4f6);border-radius:4px;font-size:.75rem}.scope-learning-mode-selector .mode-badge .mode-icon{font-size:.875rem}.scope-learning-mode-selector .mode-badge .mode-text{color:var(--text-secondary, #6b7280)}@media (max-width: 959px){.scope-learning-mode-selector .mode-select{min-height:44px;font-size:16px;padding:8px 12px;min-width:140px;touch-action:manipulation}.scope-learning-mode-selector .error-indicator{padding:8px;margin:-8px}.scope-learning-mode-selector .override-author{font-size:.75rem;max-width:100px}.scope-learning-mode-selector .mode-badge.read-only{padding:8px 12px;font-size:.875rem}.scope-learning-mode-selector .mode-badge .mode-icon{font-size:1rem}}.scope-override-manager{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem;margin-top:1rem}.scope-override-manager.no-permission{background:var(--surface-muted, #f5f5f5);text-align:center;padding:1.5rem}.no-permission-message{color:var(--text-muted, #666);display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0}.scope-override-manager .manager-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.scope-override-manager .manager-header h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.scope-override-manager .header-description{margin:0;font-size:.85rem;color:var(--text-muted, #666)}.override-form{display:flex;flex-direction:column;gap:.75rem}.override-form .form-group{display:flex;flex-direction:column;gap:.25rem}.override-form .form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #444)}.override-form .form-label.required:after{content:"";color:var(--danger, #dc3545);margin-left:.25rem}.override-form .form-select,.override-form .form-input{padding:.5rem .75rem;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:.9rem;background:var(--input-bg, #fff);color:var(--text-primary, #333);transition:border-color .15s ease,box-shadow .15s ease}.override-form .form-select:focus,.override-form .form-input:focus{outline:none;border-color:var(--primary, #0066cc);box-shadow:0 0 0 2px var(--primary-light, rgba(0, 102, 204, .2))}.override-form .form-select:disabled,.override-form .form-input:disabled{background:var(--surface-muted, #f5f5f5);cursor:not-allowed}.override-form .scope-select{min-width:100%}.override-form .scope-select optgroup{font-weight:600;color:var(--text-secondary, #555);padding:.5rem 0}.override-form .scope-select option{padding:.25rem .5rem}.override-form .mode-hint{font-size:.8rem;color:var(--text-muted, #666);margin:.25rem 0 0;font-style:italic}.override-form .loading-hint{font-size:.8rem;color:var(--text-muted, #666);margin-left:.5rem}.override-form .message{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;font-size:.85rem}.override-form .error-message{background:var(--danger-light, #fff5f5);color:var(--danger, #dc3545);border:1px solid var(--danger-border, #f5c6cb)}.override-form .success-message{background:var(--success-light, #f0fff4);color:var(--success, #28a745);border:1px solid var(--success-border, #c3e6cb)}.override-form .submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:var(--primary, #0066cc);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease;margin-top:.5rem}.override-form .submit-button:hover:not(:disabled){background:var(--primary-dark, #0052a3)}.override-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.override-form .submit-button .spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.existing-overrides-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}.existing-overrides-section h5{margin:0 0 .75rem;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.existing-overrides-section h5 .count{font-weight:400;color:var(--text-muted, #666)}.existing-overrides-section .loading-overrides{display:flex;align-items:center;gap:.5rem;color:var(--text-muted, #666);font-size:.85rem;padding:.5rem 0}.existing-overrides-section .no-overrides-message{color:var(--text-muted, #666);font-size:.85rem;margin:0;font-style:italic}.overrides-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.override-item{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .75rem;background:var(--surface-light, #fafafa);border:1px solid var(--border-color, #e0e0e0);border-radius:4px;position:relative}.override-item.expired{opacity:.7;background:var(--warning-light, #fffef0);border-color:var(--warning-border, #ffe58f)}.override-main{display:flex;justify-content:space-between;align-items:center;gap:1rem}.override-scope{font-size:.9rem}.override-scope strong{font-family:SF Mono,Monaco,monospace}.override-scope .scope-name{color:var(--text-muted, #666);font-size:.85rem}.override-mode{font-size:.85rem;padding:.15rem .5rem;border-radius:12px;background:var(--surface-muted, #f0f0f0);white-space:nowrap}.override-mode.mode-human_first{background:var(--clay-light, #f5e6d3);color:var(--clay-dark, #8b7355)}.override-mode.mode-ai_suggest{background:var(--warning-light, #fff3cd);color:var(--warning-dark, #856404)}.override-mode.mode-ai_first{background:var(--success-light, #d4edda);color:var(--success-dark, #155724)}.override-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-muted, #888)}.override-reason{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.override-revert{color:var(--warning-dark, #856404)}.override-revert .expired-badge{color:var(--warning, #ffc107)}.override-auto{font-style:italic}.delete-override-btn{position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-muted, #999);font-size:14px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.delete-override-btn:hover{background:var(--danger-light, #ffe6e6);color:var(--danger, #dc3545)}@media (max-width: 480px){.scope-override-manager{padding:.75rem}.override-main{flex-direction:column;align-items:flex-start;gap:.5rem}.override-meta{flex-direction:column;gap:.25rem}}.training-status-widget{background:var(--surface, #fff);border:1px solid var(--clay, #e0e0e0);border-radius:var(--radius, 8px);padding:16px;font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.training-status-widget .widget-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px;color:var(--muted, #666)}.training-status-widget .spinner{width:24px;height:24px;border:2px solid var(--clay, #e0e0e0);border-top-color:var(--rust, #b45309);border-radius:50%;animation:spin .8s linear infinite}.training-status-widget.error{border-color:var(--error, #ef4444);background:var(--error-bg, #fef2f2)}.training-status-widget .widget-error{display:flex;align-items:center;gap:8px;color:var(--error, #ef4444)}.training-status-widget .retry-button{margin-left:auto;padding:4px 12px;background:transparent;border:1px solid currentColor;border-radius:4px;cursor:pointer;font-size:.85rem}.training-status-widget .widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.training-status-widget .header-title{display:flex;align-items:center;gap:8px}.training-status-widget .header-title .icon{font-size:1.25rem}.training-status-widget .header-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--steel, #333)}.training-status-widget .refresh-button{width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--clay, #e0e0e0);border-radius:50%;cursor:pointer;font-size:1rem;color:var(--muted, #666);transition:all .2s}.training-status-widget .refresh-button:hover{background:var(--clay, #e0e0e0);color:var(--steel, #333)}.training-status-widget .learning-mode-section{margin-bottom:16px}.training-status-widget .mode-progress-bar{display:flex;justify-content:space-between;position:relative;margin-bottom:8px}.training-status-widget .mode-progress-bar:before{content:"";position:absolute;top:50%;left:10%;right:10%;height:2px;background:var(--clay, #e0e0e0);transform:translateY(-50%);z-index:0}.training-status-widget .progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:1;padding:8px;background:var(--surface, #fff)}.training-status-widget .progress-step .step-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--clay, #e0e0e0);border-radius:50%;font-size:1rem;transition:all .2s}.training-status-widget .progress-step.active .step-icon{background:var(--rust, #b45309);color:#fff}.training-status-widget .progress-step.current .step-icon{box-shadow:0 0 0 3px var(--rust-light, #fcd9b6);transform:scale(1.1)}.training-status-widget .progress-step .step-label{font-size:.75rem;color:var(--muted, #666);font-weight:500}.training-status-widget .progress-step.current .step-label{color:var(--rust, #b45309);font-weight:600}.training-status-widget .mode-description{margin:0;text-align:center;font-size:.85rem;color:var(--muted, #666)}.training-status-widget .learning-progress-section{margin-bottom:16px;padding:12px;background:var(--background, #f9f9f9);border-radius:6px}.training-status-widget .progress-header{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted, #666);margin-bottom:8px}.training-status-widget .progress-count{font-weight:500}.training-status-widget .progress-bar-container{position:relative;height:8px;background:var(--clay, #e0e0e0);border-radius:4px;overflow:visible}.training-status-widget .threshold-marker{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--warning, #f59e0b);border-radius:1px;z-index:2}.training-status-widget .progress-fill{height:100%;border-radius:4px;transition:width .3s ease,background .3s ease}.training-status-widget .progress-fill.human-first{background:var(--info, #3b82f6)}.training-status-widget .progress-fill.ai-suggest{background:var(--warning, #f59e0b)}.training-status-widget .progress-fill.ai-first{background:var(--success, #22c55e)}.training-status-widget .progress-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted, #666);margin-top:4px}.training-status-widget .suggest-label{position:absolute;color:var(--warning, #f59e0b);font-weight:500}.training-status-widget .progress-message{margin:8px 0 0;text-align:center;font-size:.85rem;color:var(--steel, #333);font-weight:500}.training-status-widget .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.training-status-widget .stat-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--background, #f9f9f9);border-radius:6px}.training-status-widget .stat-value{font-size:1.25rem;font-weight:700;color:var(--steel, #333)}.training-status-widget .stat-label{font-size:.7rem;color:var(--muted, #666);text-align:center;margin-top:4px}.training-status-widget .last-training-section{display:flex;justify-content:space-between;padding:12px;background:var(--background, #f9f9f9);border-radius:6px;margin-bottom:16px;font-size:.85rem}.training-status-widget .last-training-info,.training-status-widget .model-version{display:flex;gap:6px}.training-status-widget .last-training-section .label{color:var(--muted, #666)}.training-status-widget .last-training-section .value{color:var(--steel, #333);font-weight:500}.training-status-widget .scope-breakdown-section{margin-bottom:16px}.training-status-widget .scope-breakdown-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--background, #f9f9f9);border:1px solid var(--clay, #e0e0e0);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--steel, #333);transition:all .2s}.training-status-widget .scope-breakdown-toggle:hover{background:var(--clay, #e0e0e0)}.training-status-widget .toggle-icon{font-size:.7rem;color:var(--muted, #666)}.training-status-widget .scope-count{margin-left:auto;font-size:.8rem;color:var(--muted, #666);font-weight:400}.training-status-widget .scope-breakdown-content{margin-top:8px;border:1px solid var(--clay, #e0e0e0);border-radius:6px;overflow:hidden}.training-status-widget .scope-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;color:var(--muted, #666);font-size:.85rem}.training-status-widget .no-scopes-message{padding:20px;text-align:center;color:var(--muted, #666);font-size:.85rem;margin:0}.training-status-widget .scope-breakdown-table{width:100%;border-collapse:collapse;font-size:.8rem}.training-status-widget .scope-breakdown-table th{padding:8px 10px;background:var(--background, #f9f9f9);border-bottom:1px solid var(--clay, #e0e0e0);text-align:left;font-weight:600;color:var(--muted, #666);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.training-status-widget .scope-breakdown-table td{padding:10px;border-bottom:1px solid var(--clay, #e0e0e0);vertical-align:middle}.training-status-widget .scope-breakdown-table tr:last-child td{border-bottom:none}.training-status-widget .scope-breakdown-table tr:hover{background:var(--background, #f9f9f9)}.training-status-widget .scope-name-cell{display:flex;flex-direction:column;gap:2px}.training-status-widget .scope-code{font-weight:600;color:var(--steel, #333);font-family:SF Mono,Monaco,Courier New,monospace}.training-status-widget .scope-name{font-size:.75rem;color:var(--muted, #666)}.training-status-widget .scope-examples-cell{font-weight:600;color:var(--steel, #333);text-align:center}.training-status-widget .scope-mode-cell{text-align:center}.training-status-widget .mode-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.training-status-widget .scope-row.mode-human_first .mode-badge{background:var(--info-bg, #dbeafe);color:var(--info, #3b82f6)}.training-status-widget .scope-row.mode-ai_suggest .mode-badge{background:var(--warning-bg, #fef3c7);color:var(--warning-dark, #b45309)}.training-status-widget .scope-row.mode-ai_first .mode-badge{background:var(--success-bg, #dcfce7);color:var(--success, #22c55e)}.training-status-widget .mode-icon{font-size:.8rem}.training-status-widget .mode-text{white-space:nowrap}.training-status-widget .scope-confidence-cell{min-width:100px}.training-status-widget .confidence-bar-wrapper{position:relative;height:16px;background:var(--clay, #e0e0e0);border-radius:8px;overflow:hidden}.training-status-widget .confidence-bar{height:100%;border-radius:8px;transition:width .3s ease}.training-status-widget .confidence-bar.high{background:var(--success, #22c55e)}.training-status-widget .confidence-bar.medium{background:var(--warning, #f59e0b)}.training-status-widget .confidence-bar.low{background:var(--error, #ef4444)}.training-status-widget .confidence-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:600;color:var(--steel, #333);text-shadow:0 0 2px white}.training-status-widget .confidence-na{color:var(--muted, #666);font-style:italic}@media (max-width: 600px){.training-status-widget .scope-breakdown-table th:nth-child(4),.training-status-widget .scope-breakdown-table td:nth-child(4){display:none}.training-status-widget .scope-name{display:none}}.training-status-widget .recommendations-section{margin-bottom:16px}.training-status-widget .recommendations-section h4{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--steel, #333)}.training-status-widget .recommendations-list{margin:0;padding-left:20px;font-size:.85rem;color:var(--muted, #666)}.training-status-widget .recommendations-list li{margin-bottom:4px}.training-status-widget .history-section{margin-bottom:16px}.training-status-widget .history-section h4{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--steel, #333)}.training-status-widget .history-list{display:flex;flex-direction:column;gap:6px}.training-status-widget .history-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--background, #f9f9f9);border-radius:4px;font-size:.85rem}.training-status-widget .history-status{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem}.training-status-widget .history-item.completed .history-status{background:var(--success-bg, #dcfce7);color:var(--success, #22c55e)}.training-status-widget .history-item.running .history-status{background:var(--warning-bg, #fef3c7);color:var(--warning, #f59e0b)}.training-status-widget .history-item.failed .history-status{background:var(--error-bg, #fef2f2);color:var(--error, #ef4444)}.training-status-widget .history-details{display:flex;gap:12px;flex:1}.training-status-widget .history-time{color:var(--muted, #666)}.training-status-widget .history-count{color:var(--steel, #333)}.training-status-widget .trigger-section{display:flex;flex-direction:column;align-items:center;gap:8px}.training-status-widget .trigger-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--rust, #b45309);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.training-status-widget .trigger-button:hover:not(:disabled){background:var(--rust-dark, #92400e)}.training-status-widget .trigger-button:disabled{background:var(--clay, #e0e0e0);color:var(--muted, #666);cursor:not-allowed}.training-status-widget .trigger-hint{margin:0;font-size:.8rem;color:var(--muted, #666)}.training-status-widget .spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.training-status-widget .trigger-result{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:6px;font-size:.85rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.training-status-widget .trigger-result.success{background:var(--success-bg, #dcfce7);color:var(--success, #22c55e)}.training-status-widget .trigger-result.error{background:var(--error-bg, #fef2f2);color:var(--error, #ef4444)}.training-status-widget .result-message{flex:1}.training-status-widget .dismiss-button{width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:50%;cursor:pointer;font-size:1rem;opacity:.6}.training-status-widget .dismiss-button:hover{opacity:1}.training-status-widget.compact{padding:8px 12px;display:inline-flex;align-items:center}.training-status-widget.compact .compact-header{display:flex;align-items:center;gap:8px}.training-status-widget.compact .mode-icon{font-size:1rem}.training-status-widget.compact .mode-label{font-weight:500;color:var(--steel, #333)}.training-status-widget.compact .examples-count{font-size:.8rem;color:var(--muted, #666);padding-left:8px;border-left:1px solid var(--clay, #e0e0e0)}@media (max-width: 600px){.training-status-widget .stats-grid{grid-template-columns:repeat(2,1fr)}.training-status-widget .mode-progress-bar{flex-direction:column;gap:8px;align-items:flex-start}.training-status-widget .mode-progress-bar:before{display:none}.training-status-widget .progress-step{flex-direction:row;width:100%;padding:8px 12px;border:1px solid var(--clay, #e0e0e0);border-radius:6px}.training-status-widget .progress-step.current{border-color:var(--rust, #b45309);background:var(--rust-light, #fcd9b6)}}.import-tier-panel{border:1px solid var(--sand, #d6c7b4);border-radius:12px;margin-bottom:12px;background:var(--card, #fff);overflow:hidden}.import-tier-panel.locked{opacity:.6}.import-tier-panel .tier-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:background .2s ease}.import-tier-panel .tier-header:hover:not(:disabled){background:#b45a3c0a}.import-tier-panel .tier-header:disabled{cursor:not-allowed}.import-tier-panel .tier-header-left{display:flex;align-items:center;gap:12px}.import-tier-panel .tier-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--sky, #3a6c8e);color:#fff;font-weight:700;font-size:13px}.import-tier-panel .tier-title{margin:0;font-size:16px;font-weight:600;color:var(--ink, #2c2825)}.import-tier-panel .tier-description{margin:2px 0 0;font-size:13px;color:var(--steel, #6b6560)}.import-tier-panel .tier-header-right{display:flex;align-items:center;gap:8px}.import-tier-panel .tier-lock-icon{font-size:16px}.import-tier-panel .tier-chevron{display:inline-block;transition:transform .3s ease;color:var(--steel, #6b6560)}.import-tier-panel .tier-chevron.expanded{transform:rotate(90deg)}.import-tier-panel .tier-body{overflow:hidden;padding:0 20px 20px;animation:tierExpand .3s ease forwards}@keyframes tierExpand{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.entity-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.entity-tab-arrow{font-size:20px;font-weight:300;color:var(--steel, #4c5457);line-height:1;-webkit-user-select:none;user-select:none;padding:0 2px}.entity-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--sand, #d6c7b4);border-radius:12px;background:var(--card, #fff);cursor:pointer;font-size:14px;font-family:inherit;color:var(--ink, #2c2825);transition:background .2s ease,border-color .2s ease}.entity-tab:hover{background:#faf8f5}.entity-tab.active{border-color:var(--sky, #3a6c8e);background:#3a6c8e14;font-weight:600}.entity-tab:focus-visible{outline:2px solid var(--sky, #3a6c8e);outline-offset:2px}.entity-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.entity-status-badge.badge-neutral{background:#8a8f9226;color:var(--muted, #8a8f92)}.entity-status-badge.badge-warning{background:#c7882b26;color:var(--warning, #c7882b)}.entity-status-badge.badge-success{background:#3f7b5926;color:var(--success, #3f7b59)}.entity-status-badge.badge-muted{background:#8a8f921a;color:var(--muted, #8a8f92)}.entity-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--sky, #3a6c8e);color:#fff;font-size:11px;font-weight:700}.import-entity-form{margin-bottom:24px}.import-entity-form .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:16px}.import-entity-form .form-field{display:flex;flex-direction:column}.import-entity-form .form-divider{margin:4px 0 0}.import-entity-form .divider-line{display:flex;align-items:center;gap:10px;color:var(--steel, #4c5457);font-size:12px;font-weight:500}.import-entity-form .divider-line:before,.import-entity-form .divider-line:after{content:"";flex:1;height:1px;background:var(--clay, #dfd2c1)}.import-entity-form .divider-text{white-space:nowrap}.import-entity-form .form-label{font-size:13px;font-weight:600;color:var(--ink, #2c2825);margin-bottom:6px}.import-entity-form .required-indicator{color:var(--danger, #b74232);margin-left:2px}.import-entity-form .field-helper-text{display:block;font-size:11.5px;font-weight:400;color:var(--steel, #4c5457);line-height:1.35;margin-bottom:4px}.import-entity-form .field-info-icon{display:inline-block;margin-left:6px;font-size:14px;color:var(--sky, #3a6c8e);cursor:help;vertical-align:middle;line-height:1}.import-entity-form .form-input,.import-entity-form .form-textarea,.import-entity-form select{padding:12px;border:1px solid var(--sand, #d6c7b4);border-radius:12px;font-size:14px;font-family:inherit;color:var(--ink, #2c2825);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.import-entity-form .form-input:focus,.import-entity-form .form-textarea:focus,.import-entity-form select:focus{outline:none;border-color:var(--sky, #3a6c8e);box-shadow:0 0 0 3px #3a6c8e26}.import-entity-form .form-input::placeholder,.import-entity-form .form-textarea::placeholder{color:var(--muted, #8a8f92)}.import-entity-form .form-textarea{resize:vertical;min-height:80px}.import-entity-form .form-actions{display:flex;gap:10px;margin-top:8px}.form-validation-summary{background:#b742320f;border:1px solid rgba(183,66,50,.2);border-left:4px solid var(--danger, #b74232);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px}.form-validation-summary strong{display:block;margin-bottom:6px;color:var(--danger, #b74232)}.form-validation-summary ul{margin:0;padding-left:20px}.form-validation-summary li{margin-bottom:2px}.form-validation-summary .error-link{color:var(--danger, #b74232);text-decoration:underline}.form-validation-summary .error-link:hover{text-decoration:none}.field-error{color:var(--danger, #b74232);font-size:13px;margin-top:4px}.form-input-error{border-color:var(--danger, #b74232)!important}.import-entity-form .form-error{background:#b742320f;border-left:4px solid var(--danger, #b74232);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:var(--danger, #b74232);font-size:14px}.import-entity-table{margin-bottom:16px}.import-entity-table .table-header{margin-bottom:8px}.import-entity-table .record-count{font-size:13px;color:var(--steel, #6b6560);font-weight:600}.import-entity-table .data-table{width:100%;border-collapse:collapse;font-size:14px}.import-entity-table .data-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--steel, #6b6560);border-bottom:2px solid var(--sand, #d6c7b4);background:transparent}.import-entity-table .data-table td{padding:10px 12px;border-bottom:1px solid rgba(214,199,180,.5);color:var(--ink, #2c2825)}.import-entity-table .data-table tbody tr:hover{background:#faf8f5}.import-entity-table .data-table tbody tr:focus-within{background:#3a6c8e0a}.import-entity-table .actions-col{white-space:nowrap;text-align:right;width:1%}.import-entity-table .btn-ghost{background:transparent;border:none;cursor:pointer;font-size:13px;font-family:inherit;padding:4px 10px;border-radius:6px;transition:background .15s ease}.import-entity-table .btn-ghost:hover{background:#3a6c8e14}.import-entity-table .btn-ghost.btn-danger{color:var(--danger, #b74232)}.import-entity-table .btn-ghost.btn-danger:hover{background:#b7423214}.import-table-loading,.import-table-empty,.import-table-error{padding:24px 16px;text-align:center;color:var(--steel, #6b6560);font-size:14px}.import-progress-bar{margin-bottom:24px;padding:16px 20px;background:var(--card, #fff);border:1px solid var(--sand, #d6c7b4);border-radius:12px}.import-progress-bar .progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.import-progress-bar .progress-label{font-weight:600;font-size:15px;color:var(--ink, #2c2825)}.import-progress-bar .progress-stats{font-size:13px;color:var(--steel, #6b6560)}.import-progress-bar .progress-track{height:8px;border-radius:4px;background:#d6c7b44d;overflow:hidden;margin-bottom:12px}.import-progress-bar .progress-fill{height:100%;border-radius:4px;background:var(--success, #3f7b59);transition:width .4s ease}.import-progress-bar .progress-tiers{display:flex;gap:12px}.import-progress-bar .progress-tier-segment{display:flex;align-items:center;gap:4px;font-size:13px}.import-progress-bar .progress-tier-segment.complete .tier-segment-status{color:var(--success, #3f7b59)}.import-progress-bar .progress-tier-segment.in-progress .tier-segment-status{color:var(--warning, #c7882b)}.import-progress-bar .progress-tier-segment.pending .tier-segment-status{color:var(--muted, #8a8f92)}.import-progress-bar .tier-segment-label{font-weight:600;color:var(--ink, #2c2825)}.import-example-record{margin-bottom:16px}.import-example-record .example-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--sand, #d6c7b4);border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;color:var(--sky, #3a6c8e);transition:background .15s ease}.import-example-record .example-toggle:hover{background:#3a6c8e0f}.import-example-record .example-content{margin-top:10px;padding:14px 16px;background:#3a6c8e14;border-left:4px solid var(--info, #3a6c8e);border-radius:0 8px 8px 0}.import-example-record .example-json{margin:0 0 10px;padding:10px 12px;background:#fff9;border-radius:6px;font-size:12px;line-height:1.5;overflow-x:auto;color:var(--ink, #2c2825)}.import-example-record .example-use-btn{font-size:13px}.import-example-record .example-use-btn.loaded{animation:flashLoaded .6s ease}@keyframes flashLoaded{0%{background:var(--success, #3f7b59);color:#fff}to{background:transparent}}.historical-import-manager{max-width:960px}.historical-import-manager .import-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.historical-import-manager .import-header h2{margin:0 0 4px;font-size:22px;color:var(--ink, #2c2825)}.historical-import-manager .import-header .text-muted{font-size:14px;color:var(--steel, #6b6560);margin:0}.historical-import-manager .keyboard-hint{margin:6px 0 0;font-size:12px;opacity:.7}.historical-import-manager .keyboard-hint kbd{display:inline-block;padding:1px 5px;font-size:11px;font-family:inherit;line-height:1.4;color:var(--steel, #6b6560);background:var(--sand, #f4efe6);border:1px solid var(--clay, #dfd2c1);border-radius:4px;box-shadow:0 1px 0 var(--clay, #dfd2c1)}.historical-import-manager .import-complete-banner{margin-top:20px;padding:16px 20px;background:#3f7b5914;border-left:4px solid var(--success, #3f7b59);border-radius:0 12px 12px 0}.historical-import-manager .import-complete-banner h3{margin:0 0 4px;color:var(--success, #3f7b59)}.historical-import-manager .import-complete-banner p{margin:0;font-size:14px;color:var(--steel, #6b6560)}.confirm-dialog .confirm-message{font-size:15px;line-height:1.5;margin:0 0 20px;color:var(--steel, #6b6560)}.confirm-dialog .confirm-actions{display:flex;justify-content:flex-end;gap:10px}.form-radio-group{display:flex;flex-wrap:wrap;gap:.375rem .75rem}.import-entity-form .form-field:has(.form-radio-group){grid-column:1 / -1}.radio-option{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;border-radius:6px;border:1px solid transparent}.radio-option.selected{background:var(--sand, #f4efe6);border-color:var(--clay, #dfd2c1)}.radio-option input[type=radio]{accent-color:var(--sky, #3a6c8e)}.import-table-cards{display:none}.import-record-card{border:1px solid var(--clay, #dfd2c1);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;background:#fff}.card-field{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.875rem}.card-label{font-weight:600;color:var(--steel, #4c5457)}.card-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--clay, #dfd2c1)}.job-context-bar{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;margin-bottom:.75rem;background:var(--sage, #e8efe4);border-radius:8px;border-left:3px solid var(--success, #16a34a);font-size:.875rem}.job-context-bar.job-context-empty{background:var(--sun, #fef3c7);border-left-color:var(--warning, #d97706);font-size:.8125rem}.job-context-label{font-weight:600;white-space:nowrap;color:var(--ink, #2c2c2c)}.job-context-select{flex:1;max-width:360px;padding:.25rem .5rem;border:1px solid var(--clay, #dfd2c1);border-radius:6px;font-size:.875rem;background:#fff}.job-context-hint{font-size:.75rem;color:var(--steel, #4c5457);margin-left:auto;white-space:nowrap}@media (max-width: 767px){.job-context-bar{flex-wrap:wrap}.job-context-select{max-width:100%;flex-basis:100%;order:3;margin-top:.25rem}.job-context-hint{display:none}}.tier-unlock-banner{padding:.5rem .75rem;margin-bottom:.75rem;background:var(--sky, #dbeafe);color:var(--ink, #2c2c2c);border-radius:6px;font-size:.8125rem;border-left:3px solid var(--info, #3b82f6)}.entity-progress-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;background:var(--sand, #f4efe6);border-radius:8px;border:1px solid var(--clay, #dfd2c1)}.entity-progress-actions .progress-hint{font-size:.8125rem;color:var(--steel, #4c5457);margin-left:auto}@media (max-width: 767px){.entity-progress-actions{flex-wrap:wrap}.entity-progress-actions .progress-hint{margin-left:0;width:100%;margin-top:.25rem}}@media (max-width: 959px){.entity-tabs{flex-direction:column}.entity-tab{justify-content:space-between}.import-entity-form .form-grid{grid-template-columns:1fr!important}.entity-tab,.import-entity-form .form-input,.import-entity-form .form-textarea,.import-entity-form select,.tier-header{min-height:44px}.import-entity-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.import-entity-table .data-table{min-width:600px}.confirm-dialog .confirm-actions{flex-direction:column-reverse}.confirm-dialog .confirm-actions .btn{width:100%}.import-progress-bar .progress-tiers{flex-direction:column;gap:6px}}@media (max-width: 767px){.import-entity-table .data-table{display:none}.import-table-cards{display:block}}.estimator-board-layout{display:flex;flex-direction:column;height:calc(100vh - 48px);min-height:0;overflow:hidden}@media (max-width: 959px){.estimator-board-layout{height:calc(100vh - 24px)}}.board-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0;min-width:0;gap:12px}.board-header-left{display:flex;align-items:center;gap:8px;min-width:0}.board-header-switcher{position:relative}.board-header-board-name{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s}.board-header-board-name:hover{background-color:#f3f4f6}.board-header-board-name h2{margin:0;font-size:1.125rem;font-weight:600;color:#111827;white-space:nowrap}.board-header-chevron{font-size:.625rem;color:#6b7280}.board-header-dropdown{position:absolute;top:100%;left:0;z-index:170;margin-top:4px;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;list-style:none;padding:4px}.board-header-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:4px;font-size:.875rem;color:#374151;transition:background-color .15s}.board-header-dropdown-item:hover{background-color:#f3f4f6}.board-header-dropdown-item.active{background-color:#eff6ff;color:#1d4ed8;font-weight:500}.board-header-default-badge{font-size:.625rem;padding:2px 6px;background:#e5e7eb;border-radius:9999px;color:#6b7280}.board-header-center{display:flex;align-items:center}.board-header-filter-toggle{display:flex;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.board-header-filter-btn{padding:6px 14px;border:none;background:#fff;cursor:pointer;font-size:.8125rem;color:#6b7280;transition:all .15s}.board-header-filter-btn:not(:last-child){border-right:1px solid #d1d5db}.board-header-filter-btn.active{background:#1d4ed8;color:#fff}.board-header-filter-btn:hover:not(.active){background:#f3f4f6}.board-header-right{display:flex;align-items:center;gap:8px}.board-header-pm-btn{padding:6px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;color:#374151;font-weight:600;transition:all .15s}.board-header-pm-btn:hover{background:#f3f4f6;border-color:#9ca3af}.board-header-add-column-btn{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;color:#374151;transition:all .15s}.board-header-add-column-btn:hover{background:#f3f4f6}.board-header-new-estimate-btn{padding:6px 14px;border:none;background:#1d4ed8;color:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:background-color .15s}.board-header-new-estimate-btn:hover{background:#1e40af}.new-estimate-popover{width:340px;background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000001f,0 2px 8px #00000014;border:1px solid #e5e7eb;z-index:9999;animation:popoverFadeIn .15s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.new-estimate-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6}.new-estimate-popover-header h3{margin:0;font-size:.9375rem;font-weight:600;color:#1f2937}.new-estimate-popover-close{padding:2px 6px;border:none;background:none;font-size:1.25rem;color:#6b7280;cursor:pointer;border-radius:4px;line-height:1}.new-estimate-popover-close:hover{background:#f3f4f6;color:#1f2937}.new-estimate-form{padding:16px;display:flex;flex-direction:column;gap:14px}.new-estimate-field{display:flex;flex-direction:column;gap:4px}.new-estimate-field label{font-size:.75rem;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.02em}.new-estimate-input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;transition:border-color .15s}.new-estimate-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.new-estimate-members-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.new-estimate-member-chip{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;background:#f3f4f6;border-radius:12px;font-size:.75rem}.new-estimate-member-name{color:#374151}.new-estimate-member-remove{padding:0 2px;border:none;background:none;color:#9ca3af;cursor:pointer;font-size:.875rem;line-height:1}.new-estimate-member-remove:hover{color:#ef4444}.new-estimate-add-member-btn{padding:6px 10px;border:1px dashed #d1d5db;background:none;border-radius:6px;font-size:.8125rem;color:#6b7280;cursor:pointer;transition:all .15s}.new-estimate-add-member-btn:hover{border-color:#3b82f6;color:#3b82f6}.new-estimate-member-picker{margin-top:4px;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.new-estimate-member-picker-list{max-height:150px;overflow-y:auto}.new-estimate-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px;border-top:1px solid #f3f4f6}.new-estimate-cancel-btn{padding:6px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:.8125rem;color:#4b5563;cursor:pointer;transition:all .15s}.new-estimate-cancel-btn:hover{background:#f9fafb}.new-estimate-submit-btn{padding:6px 14px;border:none;background:#1d4ed8;color:#fff;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s}.new-estimate-submit-btn:hover:not(:disabled){background:#1e40af}.new-estimate-submit-btn:disabled{opacity:.6;cursor:not-allowed}.board-columns-scroll{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;flex:1;min-height:0;min-width:0;padding:12px;gap:12px;background:#f9fafb;-webkit-overflow-scrolling:touch}.board-column{display:flex;flex-direction:column;flex-shrink:0;width:280px;min-width:280px;max-height:100%;background:#f3f4f6;border-radius:8px;overflow:hidden}.board-column-over{background:#e0e7ff}.board-column-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;flex-shrink:0}.board-column-title-row{display:flex;align-items:center;gap:8px;min-width:0}.board-column-name{margin:0;font-size:.875rem;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.board-column-count{font-size:.75rem;color:#9ca3af;background:#e5e7eb;padding:1px 6px;border-radius:9999px;flex-shrink:0}.board-column-add-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;border-radius:4px;color:#6b7280;font-size:1rem;transition:background-color .15s}.board-column-add-btn:hover{background:#e5e7eb;color:#374151}.board-column-cards{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 8px 8px;display:flex;flex-direction:column;gap:6px;min-height:0}.board-column-cards::-webkit-scrollbar{width:6px}.board-column-cards::-webkit-scrollbar-track{background:transparent}.board-column-cards::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.board-column-cards::-webkit-scrollbar-thumb:hover{background:#0000004d}.board-card{background:#fff;border-radius:8px;padding:8px 10px;box-shadow:0 1px 2px #0000000f;border:1px solid transparent;transition:box-shadow .15s,border-color .15s;position:relative}.board-card--saving{opacity:.7;animation:card-saving-pulse 1.5s ease-in-out infinite}@keyframes card-saving-pulse{0%,to{opacity:.7}50%{opacity:.5}}.board-card:hover{box-shadow:0 2px 6px #0000001a;border-color:#d1d5db}.board-card:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.board-card-cover{margin:-8px -10px 8px;border-radius:8px 8px 0 0;overflow:hidden;max-height:160px}.board-card-cover-img{width:100%;display:block;object-fit:cover;max-height:160px}.board-card-labels{display:flex;gap:3px;margin-bottom:6px;flex-wrap:wrap}.board-card-label-bar{display:inline-block;width:32px;height:6px;border-radius:3px}.board-card-title{font-size:.8125rem;font-weight:500;color:#1f2937;line-height:1.3;word-break:break-word;margin-bottom:6px}.board-card-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.board-card-badge{display:inline-flex;align-items:center;gap:2px;font-size:.6875rem;padding:2px 6px;border-radius:3px;background:#f3f4f6;color:#6b7280}.board-card-badge-overdue{background:#fef2f2;color:#dc2626}.board-card-badge-complete{background:#ecfdf5;color:#059669}.board-card-sub-status{color:#fff;font-weight:500}.board-card-workspace-indicator{position:absolute;top:6px;right:6px;font-size:.75rem;opacity:.6}.board-card-bundle-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin-top:6px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;border-radius:10px;font-size:.625rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;align-self:flex-start}.board-card-add-form{background:#fff;border:1px solid #d1d5db}.board-card-add-input{width:100%;border:none;resize:none;font-size:.8125rem;font-family:inherit;padding:0;margin-bottom:6px;color:#1f2937;box-sizing:border-box}.board-card-add-input:focus{outline:none}.board-card-add-actions{display:flex;gap:6px}.board-card-add-submit{padding:4px 10px;border:none;background:#1d4ed8;color:#fff;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500}.board-card-add-submit:disabled{opacity:.5;cursor:not-allowed}.board-card-add-cancel{padding:4px 10px;border:none;background:none;color:#6b7280;cursor:pointer;font-size:.75rem;border-radius:4px}.board-card-add-cancel:hover{background:#f3f4f6}.board-loading{display:flex;align-items:center;justify-content:center;flex:1;color:#6b7280;font-size:.875rem}.board-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:#dc2626;font-size:.875rem}.board-error-retry{padding:6px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;color:#374151}.board-card-context-menu{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f;min-width:168px;padding:4px 0}.board-card-context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.875rem;cursor:pointer;color:#374151;background:none;border:none;width:100%;text-align:left;transition:background-color .1s}.board-card-context-menu-item:hover{background:#f3f4f6}.board-card-context-menu-item--danger{color:#dc2626}.board-card-context-menu-item--danger:hover{background:#fef2f2}.card-detail-modal .modal-content{max-width:860px;width:90vw;max-height:85vh}.card-detail-modal .modal-header{border-bottom:none;padding:4px 8px;justify-content:flex-end;min-height:auto}.card-detail-modal .modal-header h2,.card-detail-modal .modal-header .modal-header-extra{display:none}.card-detail-modal .modal-body{padding:0;overflow-y:auto;max-height:calc(85vh - 20px)}.card-detail-cover{width:100%;max-height:200px;overflow:hidden;background:#f4f5f7}.card-detail-cover-img{width:100%;display:block;object-fit:cover;max-height:200px}.card-detail-title-section{display:flex;align-items:baseline;gap:8px;padding:20px 24px 12px;border-bottom:1px solid #f3f4f6}.card-detail-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827;outline:none;min-width:100px;border-radius:4px;padding:2px 4px;transition:background-color .15s;line-height:1.4;word-break:break-word}.card-detail-title:hover{background-color:#f3f4f6}.card-detail-title:focus{background-color:#fff;box-shadow:0 0 0 2px #3b82f6}.card-detail-saving{font-size:.75rem;color:#9ca3af;flex-shrink:0}.card-detail-title-input{width:100%;margin:0;font-size:1.25rem;font-weight:600;color:#111827;border:1px solid #3b82f6;border-radius:4px;padding:2px 4px;font-family:inherit;line-height:1.4;box-sizing:border-box;box-shadow:0 0 0 2px #3b82f633}.card-detail-title-input:focus{outline:none}.card-detail-body{display:flex;gap:0;min-height:300px}.card-detail-main{flex:1;min-width:0;padding:16px 24px 24px;overflow-y:auto}.card-detail-sidebar{width:200px;flex-shrink:0;padding:16px;background:#f9fafb;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px}.card-detail-section{margin-bottom:20px}.card-detail-section-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 8px;display:flex;align-items:center;gap:6px}.card-detail-section-count{font-size:.6875rem;padding:1px 6px;background:#e5e7eb;border-radius:9999px;color:#6b7280;font-weight:400}.card-detail-label-bars{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.card-detail-label-pill{display:inline-block;padding:2px 10px;border-radius:3px;font-size:.6875rem;color:#fff;font-weight:500;min-width:40px;text-align:center}.card-detail-sidebar-section{position:relative}.card-detail-sidebar-label{font-size:.6875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px}.card-detail-sidebar-btn{display:block;width:100%;padding:6px 10px;border:none;background:#e5e7eb;border-radius:4px;font-size:.8125rem;color:#374151;cursor:pointer;text-align:left;transition:background-color .15s}.card-detail-sidebar-btn:hover{background:#d1d5db}.card-detail-workspace-btn{background:#1d4ed8;color:#fff}.card-detail-workspace-btn:hover:not(:disabled){background:#1e40af}.card-detail-workspace-btn:disabled{opacity:.6;cursor:not-allowed}.card-detail-workspace-create{background:#059669}.card-detail-workspace-create:hover:not(:disabled){background:#047857}.card-detail-delete-btn{background:none;color:#dc2626;margin-top:auto}.card-detail-delete-btn:hover{background:#fef2f2}.card-description-display{padding:8px 12px;background:#f3f4f6;border-radius:6px;cursor:pointer;font-size:.8125rem;line-height:1.5;color:#374151;min-height:48px;white-space:pre-wrap;word-break:break-word;transition:background-color .15s}.card-description-display:hover{background:#e5e7eb}.card-description-placeholder{color:#9ca3af;font-style:italic}.card-description-link{color:#2563eb;text-decoration:underline;cursor:pointer;word-break:break-all}.card-description-link:hover{color:#1d4ed8}.card-description-textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:.8125rem;font-family:inherit;line-height:1.5;color:#374151;resize:vertical;min-height:80px;box-sizing:border-box}.card-description-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.card-description-actions{display:flex;gap:6px;margin-top:6px}.card-description-save-btn{padding:4px 12px;border:none;background:#1d4ed8;color:#fff;border-radius:4px;font-size:.75rem;cursor:pointer}.card-description-cancel-btn{padding:4px 12px;border:none;background:none;color:#6b7280;font-size:.75rem;cursor:pointer}.card-comments-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.card-comment{padding:8px 0;border-bottom:1px solid #f3f4f6}.card-comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.card-comment-author{font-size:.8125rem;font-weight:600;color:#374151}.card-comment-time{font-size:.6875rem;color:#9ca3af}.card-comment-edit-btn{margin-left:auto;background:none;border:none;color:#9ca3af;font-size:.6875rem;cursor:pointer;padding:0 4px;opacity:0;transition:opacity .15s}.card-comment:hover .card-comment-edit-btn{opacity:1}.card-comment-edit-btn:hover{color:#3b82f6}.card-comment-edit-form{margin-bottom:4px}.card-comment-edit-input{width:100%;font-size:.8125rem;color:#374151;line-height:1.5;border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;resize:vertical;font-family:inherit;box-sizing:border-box}.card-comment-edit-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.card-comment-edit-actions{display:flex;gap:6px;margin-top:4px}.card-comment-edit-save{background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:3px 10px;font-size:.75rem;cursor:pointer}.card-comment-edit-save:hover{background:#2563eb}.card-comment-edit-save:disabled{opacity:.5;cursor:default}.card-comment-edit-cancel{background:none;border:1px solid #d1d5db;border-radius:4px;padding:3px 10px;font-size:.75rem;color:#6b7280;cursor:pointer}.card-comment-edit-cancel:hover{background:#f3f4f6}.card-comment-content{font-size:.8125rem;color:#4b5563;line-height:1.5;white-space:pre-wrap;word-break:break-word}.card-comment-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.card-comment-reaction{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid #e5e7eb;border-radius:9999px;background:#fff;font-size:.6875rem;cursor:pointer;transition:all .15s}.card-comment-reaction:hover{background:#f3f4f6}.card-comment-reaction.active{border-color:#3b82f6;background:#eff6ff}.card-comment-add-reaction{position:relative;display:inline-flex}.card-comment-reaction-trigger{padding:2px 6px;border:1px dashed #d1d5db;border-radius:9999px;background:none;font-size:.6875rem;cursor:pointer;color:#9ca3af}.card-comment-reaction-trigger:hover{border-color:#9ca3af}.card-comment-reaction-picker{display:none;position:absolute;bottom:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px}.card-comment-reaction-picker-open{display:flex;gap:2px;box-shadow:0 2px 8px #0000001a;z-index:170}.card-comment-reaction-option{padding:4px;border:none;background:none;cursor:pointer;border-radius:4px;font-size:.875rem}.card-comment-reaction-option:hover{background:#f3f4f6}.card-comment-input-row{display:flex;gap:8px;align-items:flex-end}.card-comment-input{flex:1;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:.8125rem;font-family:inherit;resize:none;min-height:36px;box-sizing:border-box}.card-comment-input:focus{outline:none;border-color:#3b82f6}.card-comment-submit{padding:8px 14px;border:none;background:#1d4ed8;color:#fff;border-radius:6px;font-size:.8125rem;cursor:pointer;flex-shrink:0}.card-comment-submit:disabled{opacity:.5;cursor:not-allowed}.card-checklists-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-checklist-add-btn{padding:3px 8px;border:none;background:none;color:#6b7280;font-size:.75rem;cursor:pointer}.card-checklist-add-btn:hover{color:#374151}.card-checklist{margin-bottom:14px;padding:10px;background:#f9fafb;border-radius:6px}.card-checklist-title-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.card-checklist-title{font-size:.8125rem;font-weight:600;color:#374151}.card-checklist-phase-badge{font-size:.5625rem;padding:1px 5px;background:#dbeafe;color:#1d4ed8;border-radius:3px;font-weight:500}.card-checklist-progress{display:flex;align-items:center;gap:6px;margin-bottom:6px}.card-checklist-progress-text{font-size:.6875rem;color:#6b7280;min-width:28px}.card-checklist-progress-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.card-checklist-progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .2s}.card-checklist-progress-fill.complete{background:#059669}.card-checklist-items{display:flex;flex-direction:column;gap:2px}.card-checklist-item{display:flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer;font-size:.8125rem}.card-checklist-checkbox{accent-color:#3b82f6}.card-checklist-item-text{color:#374151}.card-checklist-item-text.checked{text-decoration:line-through;color:#9ca3af}.card-checklist-add-item-trigger{padding:4px 0;border:none;background:none;color:#6b7280;font-size:.75rem;cursor:pointer;text-align:left}.card-checklist-add-item-trigger:hover{color:#374151}.card-checklist-add-item{margin-top:6px}.card-checklist-item-input{width:100%;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;font-family:inherit;box-sizing:border-box}.card-checklist-item-input:focus{outline:none;border-color:#3b82f6}.card-checklist-item-actions{display:flex;gap:4px;margin-top:4px}.card-checklist-item-submit{padding:3px 10px;border:none;background:#1d4ed8;color:#fff;border-radius:4px;font-size:.6875rem;cursor:pointer}.card-checklist-item-submit:disabled{opacity:.5}.card-checklist-item-cancel{padding:3px 10px;border:none;background:none;color:#6b7280;font-size:.6875rem;cursor:pointer}.card-checklist-phase{border-left:3px solid #3b82f6;padding-left:10px}.card-checklist-progress-fill.phase{background:#3b82f6}.card-checklist-progress-fill.phase.complete{background:#10b981}.card-checklist-phase-item{gap:8px}.card-checklist-phase-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:1px 4px;font-size:.625rem;font-weight:600;background:#e0e7ff;color:#4338ca;border-radius:3px;flex-shrink:0}.card-checklist-phase-num.checked{background:#d1fae5;color:#065f46}.card-attachments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-attachments-list{display:flex;flex-direction:column;gap:4px}.card-attachment-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;text-decoration:none;color:inherit;transition:background-color .15s}.card-attachment-item:hover{background:#f3f4f6}.card-attachment-icon{font-size:1.25rem;flex-shrink:0}.card-attachment-info{min-width:0}.card-attachment-name{display:block;font-size:.8125rem;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-attachment-meta{display:block;font-size:.6875rem;color:#9ca3af}.card-attachment-row{display:flex;align-items:center;gap:4px}.card-attachment-row .card-attachment-item{flex:1;min-width:0}.card-attachment-cover-btn{flex-shrink:0;background:none;border:1px solid #d1d5db;border-radius:4px;padding:3px 8px;font-size:.6875rem;color:#6b7280;cursor:pointer;white-space:nowrap;opacity:0;transition:opacity .15s}.card-attachment-row:hover .card-attachment-cover-btn{opacity:1}.card-attachment-cover-btn-active{opacity:1!important;border-color:#3b82f6;color:#3b82f6}.card-attachment-cover-btn:hover{background:#f3f4f6}.card-attachment-cover-badge{display:inline-block;background:#dbeafe;color:#2563eb;font-size:.625rem;font-weight:600;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.card-attachments-empty{font-size:.8125rem;color:#9ca3af;font-style:italic}.card-members-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.card-member-chip{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;background:#e5e7eb;font-size:.75rem}.card-member-avatar{width:22px;height:22px;border-radius:50%;background:#4b5563;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.5625rem;font-weight:600;flex-shrink:0}.card-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:#374151}.card-member-remove{border:none;background:none;color:#9ca3af;cursor:pointer;padding:0 2px;font-size:.875rem;margin-left:auto;flex-shrink:0}.card-member-remove:hover{color:#dc2626}.card-labels-current{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.card-label-pill{display:inline-block;padding:2px 8px;border-radius:3px;font-size:.625rem;color:#fff;font-weight:500}.card-labels-dropdown{position:absolute;top:100%;left:0;right:0;z-index:170;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:6px;margin-top:4px}.card-labels-list{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.card-label-option{display:flex;align-items:center;gap:6px;padding:4px 6px;border:none;background:none;cursor:pointer;border-radius:4px;width:100%;text-align:left;font-size:.75rem}.card-label-option:hover{background:#f3f4f6}.card-label-option.selected{background:#eff6ff}.card-label-swatch{width:24px;height:14px;border-radius:3px;flex-shrink:0}.card-label-name{color:#374151;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-label-check{margin-left:auto;color:#1d4ed8;font-weight:600}.card-label-row{display:flex;align-items:center;gap:2px}.card-label-row .card-label-option{flex:1;min-width:0}.card-label-edit-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;border-radius:4px;color:#9ca3af;font-size:.75rem;flex-shrink:0;opacity:0;transition:opacity .15s,background-color .15s}.card-label-row:hover .card-label-edit-btn{opacity:1}.card-label-edit-btn:hover{background:#e5e7eb;color:#374151}.card-label-edit-form{padding:6px;background:#f9fafb;border-radius:4px;margin-bottom:2px}.card-label-delete-btn{margin-left:auto;padding:3px 8px;border:none;background:none;color:#dc2626;font-size:.6875rem;cursor:pointer}.card-label-delete-btn:hover{background:#fef2f2;border-radius:4px}.card-label-create-trigger{width:100%;padding:4px 6px;border:1px dashed #d1d5db;background:none;border-radius:4px;font-size:.6875rem;color:#6b7280;cursor:pointer;text-align:center}.card-label-create-form{padding:6px;border-top:1px solid #e5e7eb;margin-top:4px}.card-label-name-input{width:100%;padding:4px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:.75rem;font-family:inherit;margin-bottom:6px;box-sizing:border-box}.card-label-color-palette{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.card-label-color-swatch{width:22px;height:22px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color .15s}.card-label-color-swatch.selected{border-color:#111827}.card-label-create-actions{display:flex;gap:4px}.card-label-create-submit{padding:3px 8px;border:none;background:#1d4ed8;color:#fff;border-radius:4px;font-size:.6875rem;cursor:pointer}.card-label-create-cancel{padding:3px 8px;border:none;background:none;color:#6b7280;font-size:.6875rem;cursor:pointer}.card-sub-status-trigger{padding-left:12px!important}.card-sub-status-dropdown{position:absolute;top:100%;left:0;right:0;z-index:170;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:4px;margin-top:4px}.card-sub-status-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;cursor:pointer;border-radius:4px;width:100%;font-size:.8125rem;color:#374151}.card-sub-status-option:hover{background:#f3f4f6}.card-sub-status-option.active{background:#eff6ff;font-weight:500}.card-sub-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.card-dates-editor{display:flex;flex-direction:column;gap:4px}.card-dates-input{width:100%;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;font-family:inherit;box-sizing:border-box}.card-dates-clear{padding:2px 6px;border:none;background:none;color:#dc2626;font-size:.6875rem;cursor:pointer}.card-dates-overdue{color:#dc2626!important}.card-dates-overdue-badge{font-size:.5625rem;padding:1px 5px;background:#fef2f2;color:#dc2626;border-radius:3px;margin-left:4px}.card-detail-loading,.card-detail-error{display:flex;align-items:center;justify-content:center;min-height:200px;padding:24px}.board-column-creator{flex-shrink:0;width:280px;min-width:280px;background:#f3f4f6;border-radius:8px;padding:10px}.board-column-creator-input{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;font-family:inherit;margin-bottom:6px;box-sizing:border-box}.board-column-creator-input:focus{outline:none;border-color:#3b82f6}.board-column-creator-actions{display:flex;gap:4px}.board-column-creator-submit{padding:4px 12px;border:none;background:#1d4ed8;color:#fff;border-radius:4px;font-size:.75rem;cursor:pointer}.board-column-creator-submit:disabled{opacity:.5}.board-column-creator-cancel{padding:4px 8px;border:none;background:none;color:#6b7280;cursor:pointer;font-size:.875rem}.board-sort-toggle{padding:2px 4px;border:none;background:none;cursor:pointer;border-radius:3px;font-size:.75rem;color:#9ca3af;transition:all .15s}.board-sort-toggle:hover{background:#e5e7eb;color:#374151}.board-sort-toggle.active{background:#dbeafe;color:#1d4ed8}.card-member-picker{position:absolute;top:100%;left:0;right:0;z-index:170;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:6px;margin-top:4px;max-height:250px;overflow-y:auto}.card-member-search{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;font-family:inherit;margin-bottom:6px;box-sizing:border-box}.card-member-search:focus{outline:none;border-color:#3b82f6}.card-member-picker-list{display:flex;flex-direction:column;gap:2px}.card-member-picker-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;cursor:pointer;border-radius:4px;width:100%;text-align:left}.card-member-picker-item:hover{background:#f3f4f6}.card-member-picker-info{display:flex;flex-direction:column;min-width:0}.card-member-picker-name{font-size:.8125rem;font-weight:500;color:#374151}.card-member-picker-email{font-size:.6875rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-member-picker-empty{padding:8px;text-align:center;font-size:.75rem;color:#9ca3af}.card-attachment-error{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:8px;font-size:.75rem;color:#dc2626}.card-attachment-error-dismiss{border:none;background:none;color:#dc2626;cursor:pointer;font-size:.875rem;padding:0 4px}.estimation-type-selector{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.estimation-type-selector label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.estimation-type-select{width:100%;padding:8px 12px;min-height:36px;font-size:.875rem;font-weight:500;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:border-color .12s ease}.estimation-type-select:focus{outline:none;border-color:#d4a037;box-shadow:0 0 0 3px #d4a03726}.estimation-type-select optgroup{font-weight:700;font-style:normal;color:#6b7280;background:#f9fafb}.workflow-preview{margin-bottom:12px}.workflow-preview-label{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.workflow-preview-card{padding:12px;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;font-size:.8125rem}.workflow-preview-agent{display:flex;align-items:flex-start;gap:10px}.workflow-preview-agent--canonical{padding-bottom:10px}.workflow-preview-agent--delegate{padding-top:10px;padding-bottom:6px;padding-left:10px}.workflow-preview-marker{color:#d4a037;font-size:14px;line-height:1.2;flex-shrink:0;margin-top:1px}.workflow-preview-tree{color:#9ca3af;font-size:14px;line-height:1.2;flex-shrink:0;margin-top:1px;font-family:SF Mono,Monaco,Consolas,monospace}.workflow-preview-agent-body{flex:1;min-width:0}.workflow-preview-agent-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:700;color:#111827;font-size:.8125rem;margin-bottom:4px}.workflow-preview-badge{padding:1px 6px;border-radius:3px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.workflow-preview-badge--primary{background:#fef3c7;color:#92400e}.workflow-preview-badge--delegate{background:#e0e7ff;color:#3730a3}.workflow-preview-agent-desc{color:#4b5563;line-height:1.45;margin-bottom:4px;font-size:.75rem}.workflow-preview-meta{font-size:.6875rem;color:#6b7280;margin-top:2px;line-height:1.4}.workflow-preview-meta-label{font-weight:600;color:#4b5563}.workflow-preview-divisions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px;font-size:.6875rem;color:#6b7280}.workflow-preview-division-chip{display:inline-block;padding:1px 6px;border-radius:3px;background:#fff;border:1px solid #d1d5db;color:#374151;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.625rem;font-weight:600}.workflow-preview-division-chip--delegate{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.workflow-preview-split-rule{margin-left:4px;font-style:italic;color:#9ca3af;font-size:.625rem}.workflow-preview-delegates{border-top:1px dashed #e5e7eb}.workflow-preview-note{margin-top:10px;padding:8px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;font-size:.6875rem;line-height:1.5}.workflow-preview-note--ready{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.card-detail-workflow-block{margin:0 0 24px;padding:16px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000a}.estimation-type-selector--inline{display:flex;align-items:center;gap:12px;margin-bottom:14px}.estimation-type-selector--inline label{margin-bottom:0;flex-shrink:0;font-size:.75rem}.estimation-type-selector--inline .estimation-type-select{flex:1;max-width:360px}.workflow-preview--wide{margin-bottom:0}.workflow-preview-card--wide{padding:0;background:transparent;border:none}.workflow-preview-agent--wide{display:grid;grid-template-columns:minmax(180px,220px) 1fr;gap:16px;align-items:flex-start;padding:12px 14px;border-radius:8px}.workflow-preview-agent--wide.workflow-preview-agent--canonical{background:#fffbeb;border:1px solid #fde68a}.workflow-preview-agent--wide.workflow-preview-agent--delegate{margin-top:8px;margin-left:24px;background:#eef2ff;border:1px solid #c7d2fe}.workflow-preview-agent-identity{display:flex;align-items:center;gap:8px;min-width:0}.workflow-preview-agent--wide .workflow-preview-agent-identity{align-items:flex-start;flex-direction:column;gap:6px}.workflow-preview-agent--wide .workflow-preview-agent-identity .workflow-preview-marker,.workflow-preview-agent--wide .workflow-preview-agent-identity .workflow-preview-tree{display:none}.workflow-preview-agent--wide .workflow-preview-agent-name{font-size:.875rem;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workflow-preview-agent--wide .workflow-preview-agent-body{flex:1;min-width:0}.workflow-preview-agent--wide .workflow-preview-agent-desc{margin-bottom:8px;font-size:.8125rem;line-height:1.5;color:#374151}.workflow-preview-meta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:4px}.workflow-preview-meta-chunk{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.75rem;color:#4b5563;line-height:1.4}.workflow-preview-meta-chunk--depends{padding:3px 8px;background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#78350f;font-weight:600}.workflow-preview-divisions-label{font-size:.75rem;font-weight:600;color:#6b7280;margin-right:4px}.workflow-preview-agent--wide .workflow-preview-divisions{margin-top:6px}.bundle-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;animation:bundle-progress-fade-in .2s ease-out}@keyframes bundle-progress-fade-in{0%{opacity:0}to{opacity:1}}.bundle-progress-card{min-width:320px;max-width:420px;padding:24px 28px;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000040;text-align:center}.bundle-progress-title{font-size:1rem;font-weight:700;color:#111827;margin-bottom:8px}.bundle-progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:18px;min-height:3em}.bundle-progress-step-counter{display:inline-block;padding:4px 12px;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bundle-progress-step-label{font-size:.9375rem;font-weight:500;color:#1f2937;line-height:1.4}.bundle-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.bundle-progress-bar-fill{height:100%;background:linear-gradient(90deg,#d4a037,#f59e0b);transition:width .35s ease-out;border-radius:4px}.bundle-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2001;animation:bundle-progress-fade-in .2s ease-out}.bundle-error-card{min-width:360px;max-width:460px;padding:28px;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000040;text-align:center}.bundle-error-icon{font-size:32px;color:#b45309;margin-bottom:12px}.bundle-error-title{font-size:1.0625rem;font-weight:700;color:#111827;margin-bottom:10px}.bundle-error-message{font-size:.8125rem;color:#4b5563;line-height:1.5;margin-bottom:12px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;text-align:left}.bundle-error-reassurance{font-size:.75rem;color:#6b7280;line-height:1.5;margin-bottom:20px}.bundle-error-actions{display:flex;gap:10px;justify-content:center}.bundle-error-btn{padding:10px 20px;min-height:40px;font-size:.8125rem;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#374151;transition:all .12s ease}.bundle-error-btn:hover{background:#f9fafb}.bundle-error-btn--primary{background:#d4a037;color:#1a1a2e;border-color:#d4a037}.bundle-error-btn--primary:hover{background:#b88a2c;border-color:#b88a2c}.estimation-workspace-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#f9fafb}.estimation-workspace-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;min-height:48px}.estimation-workspace-header-left{display:flex;align-items:center;gap:12px;min-width:0}.estimation-workspace-back-btn{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.8125rem;color:#4b5563;white-space:nowrap;transition:background .2s ease}.estimation-workspace-back-btn:hover{background:#f3f4f6}.estimation-workspace-project-name{font-size:1rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estimation-workspace-type-badge{font-size:.6875rem;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.estimation-workspace-header-right{display:flex;align-items:center;gap:8px}.estimation-workspace-confidence{font-size:.75rem;color:#6b7280}.estimation-workspace-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.estimation-workspace-layout{display:flex;flex:1;min-height:0;overflow:hidden}.bundle-orientation-banner{flex-shrink:0;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b}.bundle-orientation-content{display:flex;align-items:flex-start;gap:14px;padding:14px 20px;max-width:1400px;margin:0 auto}.bundle-orientation-icon{font-size:22px;flex-shrink:0;line-height:1;margin-top:2px}.bundle-orientation-body{flex:1;min-width:0}.bundle-orientation-title{font-size:.9375rem;font-weight:700;color:#78350f;margin-bottom:4px}.bundle-orientation-message{font-size:.8125rem;color:#78350f;line-height:1.5}.bundle-orientation-message strong{font-weight:700;color:#451a03}.bundle-orientation-close{flex-shrink:0;padding:6px 14px;min-height:32px;background:#ffffffb3;border:1px solid rgba(146,64,14,.3);border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:600;color:#78350f;transition:all .12s ease}.bundle-orientation-close:hover{background:#fff;border-color:#92400e}.agent-card{position:relative}.agent-card-clickable{cursor:pointer;transition:all .15s ease}.agent-card-clickable:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.agent-card-clickable:focus-visible{outline:2px solid #D4A037;outline-offset:2px}.agent-card-current{border-left:3px solid #D4A037}.agent-card-delegate{margin-left:18px;position:relative}.agent-card-tree-marker{position:absolute;left:-14px;top:12px;color:#9ca3af;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;pointer-events:none}.agent-card-badge-delegate{background:#e0e7ff!important;color:#3730a3!important}.agent-card-depends-on{display:flex;align-items:center;gap:6px;margin:6px 0;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600}.agent-card-depends-on--ready{background:#ecfdf5;color:#065f46}.agent-card-depends-on--blocked{background:#fef3c7;color:#78350f}.dependency-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000}.dependency-gate-card{min-width:380px;max-width:480px;padding:28px 32px;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000040;text-align:center}.dependency-gate-icon{font-size:32px;margin-bottom:10px}.dependency-gate-title{font-size:1.0625rem;font-weight:700;color:#111827;margin-bottom:12px;line-height:1.4}.dependency-gate-message{font-size:.8125rem;color:#4b5563;line-height:1.55;margin-bottom:24px;padding:12px 14px;background:#f9fafb;border-radius:6px;text-align:left}.dependency-gate-actions{display:flex;flex-direction:column;gap:10px}.dependency-gate-btn{padding:10px 20px;min-height:42px;font-size:.8125rem;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid #d1d5db;background:#fff;color:#374151;transition:all .12s ease}.dependency-gate-btn:hover{background:#f9fafb;border-color:#9ca3af}.dependency-gate-btn--primary{background:#d4a037;color:#1a1a2e;border-color:#d4a037}.dependency-gate-btn--primary:hover{background:#b88a2c;border-color:#b88a2c}.dependency-gate-btn--ghost{background:transparent;border-color:transparent;color:#6b7280}.dependency-gate-btn--ghost:hover{background:#f3f4f6}.provenance-badge{display:inline-flex;align-items:center;padding:2px 8px;margin-left:6px;font-size:.625rem;font-weight:600;color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;white-space:nowrap;line-height:1.4;vertical-align:middle}.provenance-badge--clickable{cursor:pointer;transition:all .12s ease}.provenance-badge--clickable:hover{background:#c7d2fe;border-color:#818cf8;color:#312e81}.provenance-badge--clickable:focus-visible{outline:2px solid #D4A037;outline-offset:2px}.scope-source-indicator{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 12px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;font-size:.8125rem;color:#3730a3;line-height:1.5}.scope-source-indicator-icon{font-size:18px;flex-shrink:0}.scope-source-indicator strong{font-weight:700;color:#312e81}.scope-source-indicator em{font-style:italic;color:#4338ca}.estimation-workspace-nav{width:260px;min-width:200px;max-width:400px;flex-shrink:0;border-right:1px solid #e5e7eb;background:#fff;overflow-y:auto;overflow-x:hidden}.estimation-workspace-viewer{flex:1;min-width:0;overflow:hidden;background:#fff}.estimation-workspace-chat{width:360px;min-width:300px;max-width:500px;flex-shrink:0;border-left:1px solid #e5e7eb;background:#fff;overflow:hidden}.project-nav-panel{display:flex;flex-direction:column;height:100%;padding:0}.project-nav-section{padding:12px 16px;border-bottom:1px solid #f3f4f6}.project-nav-section-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:0 0 8px}.project-nav-placeholder{font-size:.8125rem;color:#9ca3af;font-style:italic;padding:8px 0}.phase-progress-bar-track{height:6px;background:#e5e7eb;border-radius:3px;margin-bottom:12px;overflow:hidden}.phase-progress-bar-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s ease}.phase-list{display:flex;flex-direction:column;gap:2px}.phase-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left;font-size:.8125rem;color:#6b7280;min-height:44px;width:100%;transition:background .15s ease}.phase-item:hover{background:#f3f4f6}.phase-item--complete{color:#166534}.phase-item--current{background:#eff6ff;color:#1d4ed8;font-weight:500}.phase-item--current:hover{background:#dbeafe}.phase-item-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;flex-shrink:0;background:#e5e7eb;color:#6b7280}.phase-item--complete .phase-item-badge{background:#10b981;color:#fff}.phase-item--current .phase-item-badge{background:#3b82f6;color:#fff}.phase-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-item-conditional{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#fef3c7;color:#92400e;font-size:.625rem;font-weight:700;margin-left:4px;flex-shrink:0}.phase-item-current-tag{font-size:.625rem;padding:1px 6px;background:#3b82f6;color:#fff;border-radius:8px;font-weight:500;flex-shrink:0}.agent-status-panel{display:flex;flex-direction:column;gap:8px}.agent-status-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:0}.agent-status-note,.agent-status-single,.agent-status-error{margin:0;font-size:.75rem}.agent-status-note,.agent-status-single{color:#6b7280}.agent-status-error{color:#b91c1c}.agent-cards-grid{display:flex;flex-direction:column;gap:8px}.agent-card{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.agent-card-parent{background:#eff6ff;border-color:#bfdbfe}.agent-card-header,.agent-card-progress,.agent-card-stats{display:flex;align-items:center;justify-content:space-between;gap:8px}.agent-card-badges{display:flex;align-items:center;gap:6px;margin-left:auto}.agent-card-type,.agent-card-name,.agent-card-phase,.agent-card-handoff,.agent-card-branch-label,.agent-card-updated,.agent-progress-label,.agent-card-stats{font-size:.75rem}.agent-card-type,.agent-card-name{color:#111827;font-weight:600}.agent-card-branch-label,.agent-card-handoff,.agent-card-phase,.agent-card-updated,.agent-card-stats,.agent-progress-label{color:#4b5563}.agent-card-badge{padding:2px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.625rem;font-weight:600}.agent-card-badge-current{background:#dcfce7;color:#166534}.agent-card-status{font-size:.6875rem;font-weight:600;text-transform:capitalize}.agent-card-status-in_progress{color:#1d4ed8}.agent-card-status-complete{color:#166534}.agent-card-status-not_started{color:#6b7280}.agent-progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:999px;overflow:hidden}.agent-progress-fill{height:100%;background:#3b82f6;border-radius:999px;transition:width .3s ease}.agent-card-open-btn{min-height:36px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.75rem;font-weight:600;cursor:pointer}.agent-card-open-btn:hover{background:#f3f4f6}.document-viewer{display:flex;flex-direction:column;height:100%}.document-viewer-header{border-bottom:1px solid #e5e7eb;flex-shrink:0}.phase-wizard-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid #f3f4f6;background:linear-gradient(135deg,#d4a0371f,#d4a03708),#fafbfc;animation:estimator-slide-down .2s ease-out both}.phase-wizard-banner-copy{min-width:0}.phase-wizard-banner-eyebrow{font-size:.6875rem;font-weight:700;color:#8a6411;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.phase-wizard-banner-title{font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:4px}.phase-wizard-banner-body{margin:0;font-size:.8125rem;line-height:1.45;color:#4b5563}.phase-wizard-banner-dismiss{flex-shrink:0;min-height:36px;padding:0 12px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.phase-wizard-banner-dismiss:hover{background:#f9fafb;border-color:#9ca3af}.phase-wizard-banner-collapsed{border-bottom:1px solid #f3f4f6;background:#fafbfc;padding:6px 16px;animation:estimator-fade-in .15s ease-out both}.phase-wizard-banner-collapsed-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px dashed #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;text-align:left}.phase-wizard-banner-collapsed-button:hover{background:#f9fafb}.phase-wizard-banner-collapsed-label{font-size:.75rem;font-weight:700;color:#8a6411;text-transform:uppercase;letter-spacing:.04em}.phase-wizard-banner-collapsed-phase{font-size:.75rem;color:#4b5563}.document-viewer-tabs{display:flex;padding:0 16px;gap:0}.detection-profile-toolbar{display:flex;align-items:center;gap:8px;padding:6px 16px 8px;border-top:1px solid #f3f4f6;background:#fafbfc}.detection-profile-label{font-size:.6875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.detection-profile-pills{display:flex;gap:0;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.detection-profile-pill{padding:4px 14px;border:none;background:#fff;cursor:pointer;font-size:.75rem;font-weight:500;color:#6b7280;min-height:36px;transition:background .15s ease,color .15s ease}.detection-profile-pill+.detection-profile-pill{border-left:1px solid #d1d5db}.detection-profile-pill:hover{background:#f3f4f6}.detection-profile-pill--active{background:#3b82f6;color:#fff}.detection-profile-pill--active:hover{background:#2563eb}.mode-toggle-toolbar{display:flex;align-items:center;gap:8px;margin-left:12px;padding:4px 0}.mode-toggle-label{font-size:.6875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.mode-toggle-pills{display:flex;gap:0;border:1px solid #d1d5db;border-radius:12px;overflow:hidden}.mode-toggle-pill{padding:4px 12px;border:none;background:#fff;color:#6b7280;font-size:.75rem;font-weight:500;cursor:pointer;min-height:28px;transition:background .15s ease,color .15s ease}.mode-toggle-pill+.mode-toggle-pill{border-left:1px solid #d1d5db}.mode-toggle-pill:hover{background:#f3f4f6}.mode-toggle-pill--active{background:#4a90d9;color:#fff}.mode-toggle-pill--active:hover{background:#3a7dc4}.document-viewer-tab{padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:.8125rem;color:#6b7280;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;min-height:44px}.document-viewer-tab:hover{color:#374151}.document-viewer-tab--active{color:#1d4ed8;border-bottom-color:#3b82f6;font-weight:500}.document-viewer-content{flex:1;overflow:auto;min-height:0}.document-viewer-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:3rem;max-width:360px;margin:0 auto}.document-viewer-placeholder-icon{color:#d1d5db;margin-bottom:16px}.document-viewer-placeholder-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 8px}.document-viewer-placeholder-subtitle{font-size:.8125rem;color:#9ca3af;margin:0;line-height:1.5}.estimator-chat-panel{display:flex;flex-direction:column;height:100%}.estimator-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.estimator-chat-title{font-size:.875rem;font-weight:600;color:#1f2937;margin:0}.estimator-chat-agent-badge{font-size:.625rem;padding:2px 6px;border-radius:4px;background:#ecfdf5;color:#065f46;font-weight:600}.estimator-chat-context-bar{padding:10px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.estimator-chat-phase-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.estimator-chat-phase-label{font-size:.75rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimator-chat-progress-text{font-size:.75rem;font-weight:600;color:#374151;flex-shrink:0}.estimator-chat-progress-track{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.estimator-chat-progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s ease}.estimator-chat-messages{flex:1;overflow-y:auto;padding:16px;min-height:0}.estimator-chat-welcome{display:flex;align-items:center;justify-content:center;height:100%}.estimator-chat-welcome-text{font-size:.8125rem;color:#9ca3af;text-align:center;max-width:280px;line-height:1.6;margin:0}.estimator-chat-quick-actions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-top:1px solid #f3f4f6;flex-shrink:0}.estimator-chat-quick-action-chip{padding:8px 14px;border:1px solid #d1d5db;border-radius:16px;background:#fff;cursor:pointer;font-size:.75rem;color:#374151;white-space:nowrap;transition:background .15s ease,border-color .15s ease;min-height:36px}.estimator-chat-quick-action-chip:hover{background:#f3f4f6;border-color:#9ca3af}.estimator-chat-hints{display:flex;flex-direction:column;gap:2px;padding:6px 16px 2px;flex-shrink:0}.hint-text{font-size:.7rem;color:#d4a037;line-height:1.3}.quick-action--primary{background:#d4a037;color:#1a1a2e;border-color:#d4a037;font-weight:600}.quick-action--primary:hover{background:#c4922f;border-color:#c4922f}.quick-action--success{background:#2d6a4f;color:#cdd6f4;border-color:#2d6a4f}.quick-action--success:hover{background:#245a42;border-color:#245a42}.quick-action--disabled{opacity:.4;cursor:not-allowed}.estimator-chat-prereq-warning{display:flex;flex-direction:column;gap:2px;padding:4px 16px 8px;flex-shrink:0}.prereq-error-text{font-size:.7rem;color:#e57373;line-height:1.3}.estimator-chat-input-area{padding:12px 16px;border-top:1px solid #e5e7eb;flex-shrink:0}.estimator-chat-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.8125rem;color:#374151;background:#f9fafb;outline:none;box-sizing:border-box}.quick-action-chips{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:8px}.quick-action-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:14px;font-size:.72rem;font-weight:500;cursor:pointer;border:1px solid;transition:background-color .15s,border-color .15s;white-space:nowrap}.quick-action-chip:disabled{opacity:.5;cursor:not-allowed}.chip-ready{background-color:#ecfdf5;border-color:#6ee7b7;color:#065f46}.chip-ready:hover:not(:disabled){background-color:#d1fae5;border-color:#34d399}.chip-partial{background-color:#fffbeb;border-color:#fcd34d;color:#92400e}.chip-partial:hover:not(:disabled){background-color:#fef3c7;border-color:#fbbf24}.chip-blocked{background-color:#f3f4f6;border-color:#d1d5db;color:#6b7280}.chip-blocked:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.panel-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;gap:8px}.panel-error-title{font-size:.875rem;font-weight:600;color:#991b1b;margin:0}.panel-error-message{font-size:.75rem;color:#6b7280;margin:0;max-width:240px;word-break:break-word}.panel-error-retry{margin-top:8px;padding:6px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.8125rem;color:#374151;min-height:36px;transition:background .15s ease}.panel-error-retry:hover{background:#f3f4f6}.estimation-workspace-loading{display:flex;align-items:center;justify-content:center;height:100vh}.estimation-workspace-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;padding:2rem}.estimation-workspace-config-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;padding:2rem;text-align:center}.estimation-workspace-config-error h2{font-size:1.25rem;color:#991b1b;margin:0}.estimation-workspace-config-error p{font-size:.875rem;color:#6b7280;margin:0}.estimation-type-selector{margin-bottom:12px}.estimation-type-selector label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:4px}.estimation-type-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.8125rem;color:#374151;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.estimation-type-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}@media (max-width: 1279px){.estimation-workspace-chat{width:300px;min-width:260px}.estimation-workspace-nav{width:220px;min-width:180px}}@media (max-width: 959px){.estimation-workspace-layout{flex-direction:column}.estimation-workspace-nav{width:100%;max-width:none;min-width:0;height:auto;max-height:200px;border-right:none;border-bottom:1px solid #e5e7eb;overflow-y:auto}.estimation-workspace-viewer{flex:1;min-height:300px}.estimation-workspace-chat{width:100%;max-width:none;min-width:0;height:300px;border-left:none;border-top:1px solid #e5e7eb}}.drawing-set-upload-zone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border:2px dashed #d1d5db;border-radius:8px;background:#fafbfc;cursor:pointer;text-align:center;color:#9ca3af;transition:border-color .2s ease,background .2s ease}.drawing-set-upload-zone:hover,.drawing-set-upload-zone:focus-visible{border-color:#93c5fd;background:#eff6ff;color:#3b82f6}.drawing-set-upload-zone--active{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.drawing-set-upload-text{font-size:.8125rem;font-weight:500}.drawing-set-upload-hint{font-size:.6875rem;color:#9ca3af}.drawing-set-list{display:flex;flex-direction:column;gap:1px}.drawing-set-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left;font-size:.8125rem;color:#6b7280;min-height:36px;width:100%;transition:background .15s ease}.drawing-set-item:hover{background:#f3f4f6}.drawing-set-item--active{background:#eff6ff;color:#1d4ed8}.drawing-set-item--irrelevant{opacity:.4}.drawing-set-item--irrelevant:hover{opacity:.7}.drawing-set-relevance-badge{font-size:.625rem;font-weight:500;color:#d4a037;margin-left:6px}.drawing-set-item-name{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}.drawing-set-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-set-item-title{font-size:.6875rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-set-item--active .drawing-set-item-title{color:#93c5fd}.drawing-set-item-discipline{font-size:.625rem;padding:1px 5px;border-radius:3px;background:#f3f4f6;color:#6b7280;flex-shrink:0}.sheet-status-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.625rem;flex-shrink:0}.sheet-status--ready{color:#10b981}.sheet-status--processing{color:#f59e0b;animation:spin 1s linear infinite}.sheet-status--error{color:#ef4444;font-weight:700}.sheet-status--uploaded{color:#9ca3af}.drawing-set-add-btn{display:block;width:100%;padding:6px;margin-top:4px;border:1px dashed #d1d5db;border-radius:4px;background:transparent;cursor:pointer;font-size:.75rem;color:#9ca3af;text-align:center;transition:border-color .15s ease,color .15s ease}.drawing-set-add-btn:hover{border-color:#93c5fd;color:#3b82f6}.drawing-set-group{display:flex;flex-direction:column}.drawing-set-group+.drawing-set-group{margin-top:2px}.drawing-set-group-header{display:flex;align-items:center;gap:6px;padding:5px 8px;border:none;background:transparent;cursor:pointer;text-align:left;width:100%;font-size:.75rem;font-weight:600;color:#374151;border-radius:4px;transition:background .15s ease;min-height:32px}.drawing-set-group-header:hover{background:#f9fafb}.drawing-set-group-caret{font-size:.5rem;width:12px;flex-shrink:0;color:#9ca3af;line-height:1}.drawing-set-group-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-set-group-count{font-size:.625rem;font-weight:500;background:#f3f4f6;color:#6b7280;padding:1px 6px;border-radius:10px;flex-shrink:0}.drawing-set-group-items{display:flex;flex-direction:column;gap:1px;padding-left:8px}.gap-register-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 0;border:none;background:transparent;cursor:pointer;min-height:44px}.gap-register-toggle{font-size:.625rem;color:#9ca3af}.gap-register-counts{display:flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 0}.gap-count--open{color:#f59e0b;font-weight:500}.gap-count--resolved{color:#10b981}.gap-count-separator{color:#d1d5db}.gap-register-list{display:flex;flex-direction:column;gap:2px;padding-top:4px}.gap-register-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:3px;font-size:.75rem;color:#374151}.gap-register-item--resolved{opacity:.6;text-decoration:line-through}.gap-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gap-register-item-id{font-weight:600;font-size:.6875rem;color:#6b7280;flex-shrink:0}.gap-register-item-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-resolved-badge{color:#10b981;font-size:.75rem;flex-shrink:0}.processing-quality-options{display:flex;flex-direction:column;gap:6px;padding:0 12px 8px}.processing-quality-option{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;text-align:left;min-height:44px;transition:border-color .15s,background .15s}.processing-quality-option:hover{border-color:#93c5fd;background:#f8fafc}.processing-quality-option--selected{border-color:#3b82f6;background:#eff6ff}.processing-quality-option-header{display:flex;align-items:center;gap:6px}.processing-quality-option-label{font-size:.8125rem;font-weight:600;color:#1f2937}.processing-quality-recommended-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:#dcfce7;color:#15803d}.processing-quality-option-desc{font-size:.6875rem;color:#6b7280;line-height:1.3}.processing-quality-option--selected .processing-quality-option-desc{color:#374151}.phase-item--skipped{color:#9ca3af;font-style:italic}.phase-item--skipped .phase-item-badge{background:#e5e7eb;color:#9ca3af}.phase-item--in-progress{background:#eff6ff;border-left:3px solid #3b82f6}.phase-item--in-progress .phase-item-badge{background:#3b82f6;color:#fff}.phase-advancing-indicator{font-size:.75rem;color:#6b7280;animation:pulse 1s ease-in-out infinite}.phase-item-start-btn{font-size:.6875rem;color:#3b82f6;cursor:pointer;padding:2px 6px;border-radius:3px;background:#eff6ff;min-height:36px;display:inline-flex;align-items:center}.phase-item-start-btn:hover{background:#dbeafe}.gap-add-inline-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.75rem;padding:2px 8px;border-radius:3px;min-height:28px}.gap-add-inline-btn:hover{background:#eff6ff}.gap-loading-indicator{font-size:.75rem;color:#6b7280}.gap-add-form{display:flex;flex-direction:column;gap:6px;padding:8px 12px;background:#f8fafc;border-radius:4px;margin:6px 0}.gap-add-description{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.75rem;font-family:inherit;resize:vertical;min-height:44px}.gap-add-description:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.gap-add-row{display:flex;gap:6px;align-items:center}.gap-add-select{flex:1;padding:4px 6px;border:1px solid #d1d5db;border-radius:4px;font-size:.6875rem;min-height:32px}.gap-add-submit{padding:4px 12px;background:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;min-height:32px}.gap-add-submit:hover:not(:disabled){background:#2563eb}.gap-add-submit:disabled{opacity:.5;cursor:not-allowed}.gap-actions{display:flex;gap:2px;flex-shrink:0}.gap-action-btn{background:none;border:none;cursor:pointer;font-size:.75rem;padding:4px 6px;border-radius:2px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.gap-action-resolve{color:#10b981}.gap-action-resolve:hover{background:#ecfdf5}.gap-action-delete{color:#ef4444}.gap-action-delete:hover{background:#fef2f2}.estimator-chat-handoffs{padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#fffbeb}.handoffs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.handoffs-title{font-size:.75rem;font-weight:600;color:#92400e}.handoffs-dismiss{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:.75rem;padding:2px 4px;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center}.handoffs-dismiss:hover{color:#6b7280}.handoff-card{background:#fff;border:1px solid #fde68a;border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:.75rem}.handoff-card:last-child{margin-bottom:0}.handoff-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.handoff-priority{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px}.handoff-priority--high{background:#fef2f2;color:#dc2626}.handoff-priority--medium{background:#fffbeb;color:#d97706}.handoff-priority--low{background:#f0fdf4;color:#16a34a}.handoff-card-type{font-weight:500;color:#374151;text-transform:capitalize}.handoff-card-agent{color:#6b7280;margin-bottom:2px}.handoff-card-agent strong{color:#374151;text-transform:capitalize}.handoff-card-desc{color:#4b5563;line-height:1.3}.handoff-card-keys{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.handoff-key-chip{font-size:.625rem;background:#f3f4f6;color:#6b7280;padding:1px 5px;border-radius:3px;font-family:monospace}@media (max-width: 768px){.phase-wizard-banner{flex-direction:column;align-items:stretch}.phase-wizard-banner-dismiss{width:100%;min-height:44px}.phase-wizard-banner-collapsed-button{flex-direction:column;align-items:flex-start}}.handoff-key-more{font-size:.625rem;color:#9ca3af}.confirmation-card{margin-top:10px;padding:10px;border:1px solid #fde68a;border-radius:8px;background:#fffbeb;animation:estimator-fade-in .2s ease-out both}.confirmation-card-question{margin:0 0 8px;font-size:.75rem;font-weight:600;color:#92400e}.confirmation-card-options{display:flex;flex-direction:column;gap:8px}.confirmation-option{width:100%;min-height:44px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.confirmation-option:hover:not(:disabled){border-color:#d4a037;box-shadow:0 0 0 2px #d4a0371f}.confirmation-option:disabled{cursor:default}.confirmation-option--recommended{border-color:#f59e0b;background:#fffdf5}.confirmation-option--selected{border-color:#d4a037;background:#fef3c7}.confirmation-option-label{display:block;font-size:.75rem;font-weight:600;color:#374151}.confirmation-option-hint{display:block;margin-top:3px;font-size:.6875rem;color:#6b7280}.confirmation-card-status{margin-top:8px;font-size:.6875rem;color:#6b7280}@keyframes estimator-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes estimator-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes estimator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes estimator-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.estimator-chat-phase-summary{padding:0 16px 10px;flex-shrink:0}.phase-completion-card{border:1px solid #d4a037;border-radius:10px;background:linear-gradient(180deg,#fffdf7,#fff);box-shadow:0 10px 24px #92400e14;padding:12px;animation:estimator-slide-up .25s ease-out both}.phase-completion-card--exiting{animation:estimator-slide-out .18s ease-in both}.phase-completion-card-header{display:flex;justify-content:space-between;gap:8px}.phase-completion-card-kicker{font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d97706;margin-bottom:4px}.phase-completion-card-title{margin:0;font-size:.875rem;font-weight:700;color:#1f2937}.phase-completion-card-subtitle{margin:4px 0 0;font-size:.75rem;color:#6b7280;line-height:1.4}.phase-completion-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.phase-completion-metric{background:#fffbebbf;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;min-width:0}.phase-completion-metric-label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;color:#92400e;margin-bottom:4px}.phase-completion-metric-value{display:block;font-size:.8125rem;font-weight:700;color:#1f2937;line-height:1.35;word-break:break-word}.phase-completion-card-empty{margin:12px 0 0;font-size:.75rem;color:#6b7280;line-height:1.5}.phase-completion-card-note,.phase-completion-card-source{margin-top:10px;font-size:.6875rem;color:#6b7280}.phase-completion-card-note{color:#92400e;font-weight:600}.phase-completion-card-actions{display:flex;gap:8px;margin-top:12px}.phase-completion-action{flex:1;min-height:44px;border-radius:10px;border:1px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.phase-completion-action:disabled{opacity:.5;cursor:not-allowed}.phase-completion-action--confirm{background:#d4a037;color:#1a1a2e;border-color:#d4a037}.phase-completion-action--confirm:hover:not(:disabled){background:#c4922f;border-color:#c4922f}.phase-completion-action--revise{background:#fff;color:#7c2d12;border-color:#fed7aa}.phase-completion-action--revise:hover:not(:disabled){background:#fff7ed;border-color:#fdba74}@media (max-width: 768px){.phase-completion-metrics{grid-template-columns:1fr}.phase-completion-card-actions{flex-direction:column}}@media (prefers-reduced-motion: reduce){.phase-wizard-banner,.phase-wizard-banner-collapsed,.confirmation-card,.phase-completion-card,.phase-completion-card--exiting{animation:none;transition:none}}.phase-doc-tab{display:flex;flex-direction:column;height:100%;width:100%;min-width:0}.phase-doc-content{flex:1;overflow:auto;padding:24px 32px;font-size:.875rem;line-height:1.7;color:#374151;max-width:100%}.phase-doc-content h1{font-size:1.5rem;font-weight:700;margin:1.5rem 0 .75rem;color:#111827}.phase-doc-content h2{font-size:1.25rem;font-weight:600;margin:1.25rem 0 .5rem;color:#1f2937}.phase-doc-content h3{font-size:1rem;font-weight:600;margin:1rem 0 .5rem;color:#374151}.phase-doc-content p{margin:0 0 .75rem}.phase-doc-content ul,.phase-doc-content ol{margin:0 0 .75rem;padding-left:1.5rem}.phase-doc-content li{margin-bottom:.25rem}.phase-doc-content blockquote{margin:0 0 .75rem;padding:8px 16px;border-left:3px solid #3b82f6;background:#f0f7ff;color:#1e40af}.phase-doc-inline-code{padding:2px 6px;border-radius:3px;background:#f3f4f6;font-family:Consolas,Monaco,Courier New,monospace;font-size:.8125rem;color:#dc2626}.phase-doc-table-wrapper{overflow-x:auto;margin:0 0 .75rem}.phase-doc-table{width:100%;border-collapse:collapse;font-size:.8125rem}.phase-doc-table th{padding:8px 12px;text-align:left;font-weight:600;background:#f9fafb;border-bottom:2px solid #e5e7eb;white-space:nowrap}.phase-doc-table td{padding:6px 12px;border-bottom:1px solid #f3f4f6}.phase-doc-table tr:hover td{background:#fafbfc}.ascii-art-block{margin:.75rem 0;border-radius:6px;overflow:hidden;background:#1e1e2e;border:1px solid #313244}.ascii-art-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#181825;border-bottom:1px solid #313244}.ascii-art-lang{font-size:.6875rem;color:#6c7086;font-family:Consolas,Monaco,Courier New,monospace}.ascii-art-copy-btn{padding:6px 12px;border:1px solid #45475a;border-radius:3px;background:transparent;cursor:pointer;font-size:.6875rem;color:#a6adc8;min-height:32px;transition:background .15s ease,color .15s ease}.ascii-art-copy-btn:hover{background:#313244;color:#cdd6f4}.ascii-art-pre{margin:0;padding:12px 16px;overflow-x:auto;min-width:80ch}.ascii-art-code{font-family:Consolas,Monaco,Courier New,monospace;font-size:.75rem;line-height:1.5;color:#cdd6f4;white-space:pre}.blueprint-tab{display:flex;flex-direction:column;height:100%;width:100%;min-width:0}.blueprint-tab-content{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px}.blueprint-tab-viewer-shell{min-width:0;min-height:0;display:flex}.blueprint-tab-sheet-info{padding:16px 24px;border-bottom:1px solid #f3f4f6}.blueprint-tab-sheet-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 4px}.blueprint-tab-sheet-subtitle{font-size:.8125rem;color:#6b7280;margin:0}.blueprint-tab-discipline-badge{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:.6875rem;font-weight:500}.blueprint-tab-canvas-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#9ca3af;text-align:center}.sheet-analysis-panel{border-left:1px solid #e5e7eb;background:linear-gradient(180deg,#fbfdff,#f6f8fb);padding:18px 18px 20px;overflow:auto}.sheet-analysis-panel__header{margin-bottom:18px}.sheet-analysis-panel__eyebrow{margin:0 0 6px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.sheet-analysis-panel__title{margin:0;font-size:1rem;font-weight:600;color:#0f172a}.sheet-analysis-panel__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.sheet-analysis-panel__facts dt{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.sheet-analysis-panel__facts dd{margin:4px 0 0;font-size:.82rem;color:#0f172a}.sheet-analysis-panel__section{margin-top:18px}.sheet-analysis-panel__section-title{margin:0 0 8px;font-size:.78rem;font-weight:700;color:#334155}.sheet-analysis-panel__list{margin:0;padding-left:18px;color:#334155;font-size:.82rem;line-height:1.55}.sheet-analysis-panel__list--warning li::marker{color:#d97706}.sheet-analysis-panel__placeholder,.sheet-analysis-panel__error{padding:12px 14px;border-radius:10px;font-size:.82rem}.sheet-analysis-panel__placeholder{background:#eff6ff;color:#1d4ed8}.sheet-analysis-panel__error{background:#fff1f2;color:#be123c}@media (max-width: 980px){.blueprint-tab-content{grid-template-columns:1fr;grid-template-rows:minmax(320px,1fr) auto}.sheet-analysis-panel{border-left:0;border-top:1px solid #e5e7eb}}.boq-markup-tab{padding:16px;overflow:auto}.boq-markup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.boq-markup-item{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.boq-markup-image{width:100%;display:block}.boq-markup-label{display:block;padding:6px 8px;font-size:.75rem;color:#6b7280;background:#f9fafb}.estimator-chat-message-list{display:flex;flex-direction:column;gap:12px;overflow:visible}.estimator-chat-message{display:flex;overflow:visible}.estimator-chat-message--user{justify-content:flex-end}.estimator-chat-message--assistant{justify-content:flex-start}.estimator-chat-message-content{max-width:85%;padding:8px 12px;border-radius:12px;font-size:.8125rem;line-height:1.5;word-break:break-word;overflow:visible}.estimator-chat-user-bubble{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.estimator-chat-assistant-bubble{background:#f3f4f6;color:#374151;border-bottom-left-radius:4px;position:relative;overflow:visible}.phase-wizard-banner-body .markdown-content .md-p{margin:0}.phase-wizard-banner-body .domain-tooltip-trigger,.estimator-chat-assistant-bubble .domain-tooltip-trigger{color:inherit}.estimator-chat-tools-used{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.estimator-chat-tool-badge{padding:1px 6px;border-radius:3px;background:#e5e7eb;font-size:.625rem;color:#6b7280;text-transform:capitalize}.estimator-chat-typing{display:flex;gap:4px;padding:4px 0}.typing-dot{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.estimator-chat-error{padding:6px 16px;background:#fef2f2;border-top:1px solid #fecaca;flex-shrink:0}.estimator-chat-error-text{font-size:.75rem;color:#dc2626}.estimator-chat-input-row{display:flex;gap:8px;align-items:flex-end}.estimator-chat-input{flex:1;min-width:0;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.8125rem;color:#374151;background:#f9fafb;outline:none;box-sizing:border-box;resize:none;line-height:1.4;font-family:inherit}.estimator-chat-input:focus{border-color:#3b82f6;background:#fff}.estimator-chat-input:disabled{opacity:.5;cursor:not-allowed}.estimator-chat-send-btn{width:44px;height:44px;min-height:44px;border:none;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.estimator-chat-send-btn:hover:not(:disabled){background:#2563eb}.estimator-chat-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.estimator-chat-send-loading{animation:spin 1s linear infinite}.page-classification-gallery{margin-top:12px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.pcg-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pcg-title{font-size:13px;font-weight:600;color:#374151}.pcg-verified-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#d1fae5;color:#065f46;font-weight:500}.pcg-unverified-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#fef3c7;color:#92400e;font-weight:500}.pcg-axis{margin-bottom:10px}.pcg-axis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.pcg-axis-label{font-size:12px;font-weight:500;color:#6b7280}.pcg-confidence{font-size:11px;color:#9ca3af}.pcg-axis-controls{display:flex;align-items:center;gap:6px}.pcg-select{flex:1;min-height:36px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;color:#374151}.pcg-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.pcg-verify-btn{min-height:36px;padding:4px 12px;border:1px solid #3b82f6;border-radius:6px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.pcg-verify-btn:hover{background:#dbeafe}.pcg-check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#059669;font-size:16px;font-weight:700}.pcg-view-type-hint{display:block;margin-top:4px;font-size:11px;color:#9ca3af;font-style:italic}.pcg-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.pcg-verify-both-btn{min-height:36px;padding:6px 14px;border:1px solid #3b82f6;border-radius:6px;background:#3b82f6;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.pcg-verify-both-btn:hover{background:#2563eb}.pcg-save-btn{min-height:36px;padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer}.pcg-save-btn:hover{background:#f3f4f6}.pcg-save-btn:disabled{opacity:.5;cursor:not-allowed}.blueprint-tab-view-type-badge{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:10px;background:#ede9fe;color:#5b21b6;font-size:12px;font-weight:500}.blueprint-tab-enter-detailed-btn{padding:10px 24px;background:#4a90d9;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.blueprint-tab-enter-detailed-btn:hover{background:#3a7bc8}.bpt-canvas{flex:1;position:relative;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.bpt-img{max-width:none;max-height:none;display:block;transform-origin:center center;transition:opacity .2s ease;pointer-events:none;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.bpt-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.875rem}.bpt-edit-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px 24px;background:#1d4ed8eb;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 16px #00000040;transition:background .15s ease,transform .15s ease;pointer-events:all;white-space:nowrap}.bpt-edit-overlay:hover{background:#1d4ed8;transform:translate(-50%,-50%) scale(1.04)}.detailed-editor{position:relative;width:100%;height:100%;background:#1a1a2e;color:#cdd6f4;overflow:hidden}.plan-editor{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#1a1a2e}.plan-editor-canvas{flex:1;display:block;outline:none;cursor:crosshair}.plan-editor-toolbar{display:flex;align-items:center;justify-content:space-between;height:44px;min-height:44px;padding:0 12px;background:#11111b;border-bottom:1px solid #313244}.plan-editor-toolbar-left,.plan-editor-toolbar-center,.plan-editor-toolbar-right{display:flex;align-items:center;gap:8px}.plan-editor-toolbar-mode{font-size:13px;font-weight:600;color:#4a90d9;padding:4px 10px;border:1px solid #4A90D9;border-radius:4px}.plan-editor-tool-btn{min-height:32px;padding:4px 12px;background:transparent;color:#cdd6f4;border:1px solid #45475a;border-radius:4px;font-size:12px;cursor:pointer}.plan-editor-tool-btn:hover{background:#313244}.plan-editor-tool-btn--active{background:#4a90d9;color:#fff;border-color:#4a90d9}.plan-editor-close-btn{min-height:32px;padding:4px 12px;background:transparent;color:#f38ba8;border:1px solid #45475a;border-radius:4px;font-size:12px;cursor:pointer}.plan-editor-close-btn:hover{background:#45475a}.plan-editor-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;pointer-events:none;z-index:5}.plan-editor-overlay--loading{color:#89b4fa}.plan-editor-overlay--error{color:#f38ba8}.plan-editor-overlay--idle{color:#6c7086}.plan-editor-scale-badge{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid rgba(74,144,217,.4);background:#4a90d91a;color:#89b4fa;transition:all .15s}.plan-editor-scale-badge:hover{background:#4a90d933}.plan-editor-toolbar-sep{width:1px;height:20px;background:#45475a;margin:0 4px}.plan-editor-tool-btn:disabled{opacity:.35;cursor:not-allowed}.plan-editor-saved-indicator{font-size:10px;color:#6c7086;padding:0 4px;white-space:nowrap}.plan-editor-boq-panel{position:absolute;top:44px;right:0;bottom:0;width:320px;background:#11111b;border-left:1px solid #313244;z-index:10;overflow-y:auto}.mini-chat-toggle{position:absolute;top:56px;right:0;z-index:10;padding:8px 6px;background:#313244;color:#89b4fa;border:1px solid #45475a;border-right:none;border-radius:4px 0 0 4px;font-size:11px;font-weight:600;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:1px}.mini-chat-toggle:hover{background:#45475a}.mini-chat-panel{position:absolute;top:48px;right:0;bottom:0;width:320px;z-index:10;display:flex;flex-direction:column;background:#181825;border-left:1px solid #313244}.mini-chat-header{display:flex;align-items:center;justify-content:space-between;height:36px;min-height:36px;padding:0 10px;background:#11111b;border-bottom:1px solid #313244}.mini-chat-title{font-size:12px;font-weight:600;color:#89b4fa}.mini-chat-close-btn{background:transparent;border:none;color:#6c7086;font-size:16px;cursor:pointer;padding:2px 6px}.mini-chat-close-btn:hover{color:#cdd6f4}.mini-chat-messages{flex:1;overflow-y:auto;padding:8px}.mini-chat-empty{color:#6c7086;font-size:12px;text-align:center;padding:20px 10px}.mini-chat-msg{margin-bottom:8px;padding:6px 10px;border-radius:6px;font-size:12px;line-height:1.4;word-wrap:break-word}.mini-chat-msg--user{background:#313244;color:#cdd6f4;margin-left:20px}.mini-chat-msg--assistant{background:#1e1e2e;color:#a6adc8;margin-right:20px;border:1px solid #313244}.mini-chat-msg--loading{font-style:italic;color:#6c7086}.mini-chat-typing{animation:pulse 1.5s ease-in-out infinite}.mini-chat-error{padding:4px 10px;background:#302020;color:#f38ba8;font-size:11px;border-top:1px solid #45475a}.mini-chat-input-row{display:flex;align-items:center;gap:6px;padding:8px;border-top:1px solid #313244;background:#11111b}.mini-chat-input{flex:1;min-height:32px;padding:4px 10px;background:#1e1e2e;color:#cdd6f4;border:1px solid #45475a;border-radius:4px;font-size:12px;outline:none}.mini-chat-input:focus{border-color:#89b4fa}.mini-chat-input:disabled{opacity:.5}.mini-chat-send-btn{min-width:32px;min-height:32px;background:#4a90d9;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer}.mini-chat-send-btn:hover:not(:disabled){background:#3a7bc8}.mini-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.scope-view-toggle{display:flex;border:1px solid #d1d5db;border-radius:4px;overflow:hidden}.scope-view-btn{padding:4px 10px;border:none;background:#fff;color:#6b7280;font-size:12px;cursor:pointer}.scope-view-btn--active{background:#3b82f6;color:#fff}.scope-review-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#fafafa;border-bottom:1px solid #e5e7eb;gap:8px;flex-wrap:wrap}.scope-review-bar-left,.scope-review-bar-right{display:flex;align-items:center;gap:8px}.scope-review-toggle{padding:4px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:12px;font-weight:500;cursor:pointer}.scope-review-toggle--active{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.scope-review-filter{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;cursor:pointer}.scope-review-filter input{cursor:pointer}.scope-conf-stat{font-size:11px;padding:2px 6px;border-radius:8px;font-weight:500}.scope-conf-stat--high{background:#d1fae5;color:#065f46}.scope-conf-stat--medium{background:#fef3c7;color:#92400e}.scope-conf-stat--low{background:#fee2e2;color:#991b1b}.scope-bulk-accept-btn{padding:4px 12px;border:1px solid #059669;border-radius:4px;background:#d1fae5;color:#065f46;font-size:12px;font-weight:500;cursor:pointer}.scope-bulk-accept-btn:hover:not(:disabled){background:#a7f3d0}.scope-bulk-accept-btn:disabled{opacity:.5;cursor:not-allowed}.scope-review-progress{padding:4px 12px 6px;background:#fafafa;border-bottom:1px solid #e5e7eb}.scope-review-progress-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:4px}.scope-review-progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s ease}.scope-review-progress-text{font-size:11px;color:#6b7280}.scope-group-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-top:1px solid #e5e7eb;overflow-x:auto}.scope-group-bar-label{font-size:12px;color:#6b7280;white-space:nowrap}.scope-group-cards{display:flex;gap:6px}.scope-group-card{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;min-width:80px;font-size:11px}.scope-group-card:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.scope-group-card:disabled{opacity:.4;cursor:not-allowed}.scope-group-card-count{font-size:16px;font-weight:700;color:#374151}.scope-group-card-label{color:#6b7280;white-space:nowrap}.scope-group-card-unverified{color:#dc2626;font-size:10px}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:8px;overflow-y:auto;flex:1;min-width:0}.thumb-grid--empty{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px}.thumb-card{position:relative;border:2px solid #e5e7eb;border-radius:6px;overflow:hidden;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}.thumb-card:hover{box-shadow:0 2px 8px #0000001a}.thumb-card--preview{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.thumb-card--deselected{opacity:.45}.thumb-card--conf-high{border-color:#059669}.thumb-card--conf-medium{border-color:#d97706}.thumb-card--conf-low{border-color:#dc2626}.thumb-card-image{position:relative;width:100%;aspect-ratio:4/3;background:#f3f4f6;overflow:hidden}.thumb-card-img{width:100%;height:100%;object-fit:cover}.thumb-card-no-img{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#9ca3af;font-size:11px}.thumb-card-checkbox{position:absolute;top:4px;right:4px;z-index:2;cursor:pointer}.thumb-card-verified{position:absolute;top:4px;left:4px;z-index:2;width:20px;height:20px;border-radius:50%;background:#059669;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.thumb-card-sheet-num{position:absolute;bottom:4px;left:4px;z-index:2;padding:1px 5px;border-radius:3px;background:#000000a6;color:#fff;font-size:10px;font-weight:600}.thumb-card-badges{display:flex;align-items:center;gap:4px;padding:4px 6px;flex-wrap:wrap}.thumb-card-discipline{font-size:10px;padding:1px 5px;border-radius:8px;background:#dbeafe;color:#1e40af;font-weight:500}.thumb-card-role{font-size:10px;padding:1px 5px;border-radius:8px;background:#ede9fe;color:#5b21b6;font-weight:500}.thumb-card-conf{font-size:10px;color:#9ca3af;margin-left:auto}.elevation-fp-panel{display:flex;flex-direction:column;width:340px;min-width:280px;max-width:400px;height:100%;background:#1a1a2e;border-left:1px solid #313244;color:#cdd6f4;font-family:system-ui,sans-serif;font-size:13px;overflow:hidden;flex-shrink:0}.elevation-fp-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #313244;flex-shrink:0}.elevation-fp-panel-title{font-weight:600;font-size:13px;color:#cdd6f4;display:flex;align-items:center;gap:6px}.elevation-fp-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d4a037;color:#1a1a2e;font-size:10px;font-weight:700;line-height:1}.elevation-fp-panel-stats{font-size:11px;color:#6c7086;margin-left:auto}.elevation-fp-panel-close{background:none;border:1px solid #45475a;border-radius:4px;color:#6c7086;font-size:16px;line-height:1;padding:2px 6px;cursor:pointer;transition:color .15s,border-color .15s}.elevation-fp-panel-close:hover{color:#cdd6f4;border-color:#585b70}.elevation-fp-panel-body{flex:1;overflow-y:auto;overflow-x:hidden}.elevation-fp-section{border-bottom:1px solid #313244}.elevation-fp-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:#1e1e2e;border:none;color:#a6adc8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .15s}.elevation-fp-section-header:hover{background:#252535;color:#cdd6f4}.elevation-fp-section-chevron{font-size:9px;width:12px;text-align:center;flex-shrink:0}.elevation-fp-section-content{max-height:400px;overflow-y:auto;overflow-x:hidden}.fp-panel{display:flex;flex-direction:column;width:340px;min-width:280px;max-width:400px;height:100%;background:#1a1a2e;border-left:1px solid #313244;color:#cdd6f4;font-family:system-ui,sans-serif;font-size:13px;overflow:hidden;flex-shrink:0}.fp-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #313244;flex-shrink:0}.fp-panel-title{font-weight:600;font-size:13px;color:#cdd6f4;display:flex;align-items:center;gap:6px}.fp-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d4a037;color:#1a1a2e;font-size:10px;font-weight:700;line-height:1}.fp-panel-stats{font-size:11px;color:#6c7086;margin-left:auto}.fp-panel-close{background:none;border:1px solid #45475a;border-radius:4px;color:#6c7086;font-size:16px;line-height:1;padding:2px 6px;cursor:pointer;transition:color .15s,border-color .15s}.fp-panel-close:hover{color:#cdd6f4;border-color:#585b70}.fp-panel-export{padding:2px 8px;font-size:11px;border-radius:4px;border:1px solid #4a4a6a;background:#2a2a4a;color:#cdd6f4;cursor:pointer;margin-right:6px;transition:background .15s,border-color .15s}.fp-panel-export:hover{background:#353560;border-color:#6a6a8a}.fp-panel-body{flex:1;overflow-y:auto;overflow-x:hidden}.fp-section{border-bottom:1px solid #313244}.fp-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:#1e1e2e;border:none;color:#a6adc8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .15s}.fp-section-header:hover{background:#252535;color:#cdd6f4}.fp-section-chevron{font-size:9px;width:12px;text-align:center;flex-shrink:0}.fp-section-content{max-height:400px;overflow-y:auto;overflow-x:hidden}.plan-fp-toolbar-btn{position:relative;padding:3px 8px;background:#2a2a3e;color:#888;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:all .15s}.plan-fp-toolbar-btn:hover{color:#ccc;border-color:#585b70}.plan-fp-toolbar-btn--active{background:#d4a0372e;color:#d4a037;border-color:#d4a03759}.elevation-fp-toolbar-btn{position:relative;padding:3px 8px;background:#2a2a3e;color:#888;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:all .15s}.elevation-fp-toolbar-btn:hover{color:#ccc;border-color:#585b70}.elevation-fp-toolbar-btn--active{background:#d4a0372e;color:#d4a037;border-color:#d4a03766}.elevation-fp-toolbar-badge{position:absolute;top:-5px;right:-5px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:#d4a037;color:#1a1a2e;font-size:9px;font-weight:700;line-height:14px;text-align:center}.crg{display:flex;flex-direction:column;height:100%;overflow:hidden}.crg-stats{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#1e1e2e;border-bottom:1px solid #313244;flex-shrink:0}.crg-stats-left{display:flex;align-items:center;gap:12px}.crg-stats-total{color:#cdd6f4;font-size:13px;font-weight:600}.crg-stats-review{color:#d4a037;font-size:12px;font-weight:500}.crg-stats-verified{color:#6c7086;font-size:12px}.crg-stats-right{display:flex;align-items:center;gap:8px}.crg-conf-pill{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.crg-conf-pill--high{background:#a6e3a126;color:#a6e3a1}.crg-conf-pill--med{background:#d4a03726;color:#d4a037}.crg-conf-pill--low{background:#f38ba826;color:#f38ba8}.crg-discipline-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid #313244;flex-shrink:0}.crg-discipline-chip{padding:3px 10px;border-radius:12px;background:#313244;color:#a6adc8;font-size:11px;font-weight:500}.crg-body{flex:1;display:flex;overflow-y:auto;overflow-x:hidden}.crg-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px;overflow-y:auto;align-content:start}.crg-card{display:flex;flex-direction:column;background:#1e1e2e;border:1px solid #313244;border-radius:8px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden;text-align:left;padding:0;color:inherit;font:inherit}.crg-card:hover{border-color:#585b70;box-shadow:0 2px 8px #0000004d}.crg-card--selected{border-color:#89b4fa;box-shadow:0 0 0 1px #89b4fa}.crg-card--needs-review,.crg-card--low-conf{border-left:3px solid #D4A037}.crg-card--verified{border-left:3px solid #a6e3a1}.crg-card-thumb{position:relative;width:100%;aspect-ratio:4 / 3;background:#11111b;display:flex;align-items:center;justify-content:center;overflow:hidden}.crg-card-img{width:100%;height:100%;object-fit:contain}.crg-card-placeholder{color:#45475a}.crg-card-verified-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:#a6e3a1;color:#1a1a2e;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.crg-card-info{padding:8px 10px}.crg-card-name{display:block;font-size:13px;font-weight:600;color:#cdd6f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crg-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;color:#a6adc8;margin-top:2px;overflow:hidden;line-height:1.3}.crg-card-meta{display:flex;align-items:center;gap:6px;margin-top:4px}.crg-card-discipline{padding:1px 5px;border-radius:3px;background:#45475a;color:#cdd6f4;font-size:10px;font-weight:600}.crg-card-role{color:#6c7086;font-size:10px}.crg-conf{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px}.crg-conf--high{color:#a6e3a1;background:#a6e3a11a}.crg-conf--medium{color:#d4a037;background:#d4a0371a}.crg-conf--low{color:#f38ba8;background:#f38ba81a}.crg-detail{width:280px;flex-shrink:0;border-left:1px solid #313244;padding:16px;overflow-y:auto;background:#1e1e2e}.crg-detail-title{font-size:14px;font-weight:600;color:#cdd6f4;margin:0 0 4px}.crg-detail-subtitle{font-size:12px;color:#a6adc8;margin:0 0 16px}.crg-detail-field{margin-bottom:12px}.crg-detail-label{display:block;font-size:11px;color:#6c7086;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.crg-detail-select{width:100%;padding:6px 8px;border-radius:4px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font-size:12px;outline:none}.crg-detail-select:focus{border-color:#89b4fa}.crg-detail-input{width:100%;padding:6px 8px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0d;color:#e8eaf6;font-size:.82rem;box-sizing:border-box;transition:border-color .15s ease}.crg-detail-input:focus{outline:none;border-color:#89b4fa}.crg-detail-input::placeholder{color:#ffffff40;font-style:italic}.crg-detail-verified-tag{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:3px;background:#a6e3a126;color:#a6e3a1;font-size:10px;font-weight:500}.crg-detail-actions{margin:16px 0}.crg-detail-verify-btn{width:100%;padding:8px;border-radius:6px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font-size:12px;font-weight:500;cursor:pointer;min-height:36px;transition:background .2s ease}.crg-detail-verify-btn:hover{background:#45475a}.crg-detail-verify-btn:disabled{opacity:.5;cursor:not-allowed}.crg-detail-meta-row{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#6c7086}.crg-error{padding:8px 16px;background:#f38ba81a;border-top:1px solid rgba(243,139,168,.3);color:#f38ba8;font-size:12px;flex-shrink:0}.crg-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid #313244;background:#1e1e2e;flex-shrink:0}.crg-actions-left{display:flex;align-items:center;gap:8px}.crg-actions-right{display:flex;align-items:center;gap:12px}.crg-actions-hint{color:#d4a037;font-size:12px}.crg-bulk-accept-btn{padding:8px 14px;border-radius:6px;border:1px solid #45475a;background:#313244;color:#cdd6f4;font-size:12px;cursor:pointer;min-height:36px;transition:background .2s ease}.crg-bulk-accept-btn:hover{background:#45475a}.crg-bulk-accept-btn:disabled{opacity:.5;cursor:not-allowed}.crg-proceed-btn{padding:8px 20px;border-radius:6px;border:none;background:#d4a037;color:#1a1a2e;font-size:13px;font-weight:600;cursor:pointer;min-height:44px;transition:background .2s ease}.crg-proceed-btn:hover{background:#e0b04a}.crg-proceed-btn:disabled{opacity:.6;cursor:not-allowed}.crg-advisories{display:flex;flex-direction:column;gap:6px;padding:10px 14px 4px}.crg-advisory{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:6px;font-size:.83rem;line-height:1.45}.crg-advisory--warning{background:#d4a0371a;border:1px solid rgba(212,160,55,.35);color:#e6c46a}.crg-advisory--info{background:#64a0ff14;border:1px solid rgba(100,160,255,.25);color:#a0bfff}.crg-advisory-icon{flex-shrink:0;font-size:.95rem;margin-top:1px}.crg-advisory-text{flex:1}.crg-advisory-btn{flex-shrink:0;align-self:center;margin-left:8px;padding:5px 12px;background:#d4a037;color:#1a1a2e;border:none;border-radius:4px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.crg-advisory-btn:hover{background:#e0b04a}.drawing-set-review-cta{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;margin:6px 0;border-radius:6px;background:#d4a0371a;border:1px solid rgba(212,160,55,.25)}.drawing-set-review-cta-text{font-size:11px;color:#d4a037}.drawing-set-review-cta-btn{padding:4px 10px;border-radius:4px;border:1px solid #D4A037;background:transparent;color:#d4a037;font-size:11px;font-weight:500;cursor:pointer;transition:background .2s ease}.drawing-set-review-cta-btn:hover{background:#d4a03726}.crg-lb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:9000;display:flex;align-items:center;justify-content:center}.crg-lb-modal{position:relative;display:flex;flex-direction:column;width:96vw;max-width:1400px;height:94vh;background:#12152a;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;box-shadow:0 24px 80px #000000b3}.crg-lb-close{position:absolute;top:10px;right:14px;z-index:10;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffb3;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.crg-lb-close:hover{background:#ffffff24;color:#fff}.crg-lb-header{display:flex;align-items:baseline;gap:10px;padding:12px 56px 10px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.crg-lb-title{font-size:1rem;font-weight:600;color:#e8eaf6}.crg-lb-subtitle{font-size:.82rem;color:#ffffff80;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crg-lb-counter{font-size:.78rem;color:#ffffff59;white-space:nowrap}.crg-lb-body{display:flex;flex:1;min-height:0;position:relative}.crg-lb-nav{flex-shrink:0;width:44px;background:transparent;border:none;color:#ffffff73;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;z-index:2}.crg-lb-nav:hover:not(:disabled){color:#fff;background:#ffffff0a}.crg-lb-nav:disabled{opacity:.2;cursor:default}.crg-lb-img-area{flex:1;min-width:0;position:relative;overflow:hidden;background:#0a0c1a;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.crg-lb-img{max-width:100%;max-height:100%;object-fit:contain;will-change:transform;transition:opacity .2s ease;opacity:0;pointer-events:none}.crg-lb-img--loaded{opacity:1}.crg-lb-img-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#ffffff4d;font-size:.85rem}.crg-lb-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.72rem;color:#ffffff40;pointer-events:none;white-space:nowrap}.crg-lb-zoom-reset{position:absolute;bottom:36px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#ffffffb3;font-size:.75rem;cursor:pointer;transition:background .15s ease}.crg-lb-zoom-reset:hover{background:#000000bf;color:#fff}.crg-lb-zoom-level{position:absolute;top:10px;right:10px;font-size:.72rem;color:#fff6;background:#0006;padding:2px 7px;border-radius:8px;pointer-events:none}.crg-lb-sidebar{flex-shrink:0;width:260px;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;overflow-y:auto;padding:14px 14px 10px;gap:12px;background:#0f1225}.crg-lb-sidebar-fields{display:flex;flex-direction:column;gap:10px}.crg-lb-meta{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#fff6;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.crg-lb-nav-hint{font-size:.7rem;color:#ffffff40;margin:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.crg-lb-strip{flex-shrink:0;height:76px;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:6px 10px;border-top:1px solid rgba(255,255,255,.07);background:#0a0c1a;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.crg-lb-strip::-webkit-scrollbar{height:4px}.crg-lb-strip::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.crg-lb-strip-thumb{flex-shrink:0;width:56px;height:56px;border-radius:4px;border:2px solid transparent;background:#1a1d36;cursor:pointer;overflow:hidden;position:relative;padding:0;transition:border-color .15s ease,transform .15s ease}.crg-lb-strip-thumb:hover{border-color:#ffffff4d;transform:scale(1.04)}.crg-lb-strip-thumb--active{border-color:#4f8ef7}.crg-lb-strip-thumb--verified{border-color:#4caf7d}.crg-lb-strip-thumb--active.crg-lb-strip-thumb--verified{border-color:#4f8ef7}.crg-lb-strip-img{width:100%;height:100%;object-fit:cover}.crg-lb-strip-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#ffffff4d}.crg-lb-strip-check{position:absolute;top:2px;right:3px;font-size:9px;color:#4caf7d;line-height:1}.crg-detail-verify-btn--done{background:#4caf7d26;border-color:#4caf7d;color:#4caf7d}.pattern-capture-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1100;display:flex;align-items:center;justify-content:center}.pattern-capture-dialog{background:#1e2235;border:1px solid rgba(212,160,55,.35);border-radius:10px;box-shadow:0 8px 32px #0000008c;width:380px;max-width:92vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;color:#e2e8f0}.pattern-capture-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.pattern-capture-header h3,.pattern-capture-title{margin:0;font-size:.875rem;font-weight:600;color:#d4a037;letter-spacing:.02em}.pattern-capture-close-btn,.pattern-capture-close{background:none;border:none;color:#9ca3af;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.pattern-capture-close-btn:hover,.pattern-capture-close:hover{color:#e2e8f0;background:#ffffff14}.pattern-capture-body{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.pattern-capture-preview-wrap{display:flex;justify-content:center;align-items:center;background:#0f1120;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:6px;min-height:80px}.pattern-capture-canvas{display:block;border-radius:4px;cursor:crosshair;image-rendering:pixelated}.pattern-capture-mask-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pattern-capture-mask-btn{padding:4px 10px;font-size:.75rem;border:1px solid rgba(255,255,255,.15);border-radius:5px;background:transparent;color:#cbd5e1;cursor:pointer;transition:background .15s,border-color .15s}.pattern-capture-mask-btn:hover{background:#ffffff12}.pattern-capture-mask-btn--active{background:#d4a03726;border-color:#d4a03780;color:#d4a037}.pattern-capture-brush-row{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#9ca3af}.pattern-capture-brush-row input[type=range]{flex:1;accent-color:#d4a037}.pattern-capture-field{display:flex;flex-direction:column;gap:4px}.pattern-capture-field label{font-size:.75rem;color:#94a3b8;font-weight:500}.pattern-capture-field input[type=text],.pattern-capture-field select{background:#0f1120;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#e2e8f0;font-size:.8125rem;padding:6px 8px;outline:none}.pattern-capture-field input[type=text]:focus,.pattern-capture-field select:focus{border-color:#d4a03780}.pattern-capture-threshold-row{display:flex;gap:10px}.pattern-capture-threshold-row .pattern-capture-field{flex:1}.pattern-capture-footer{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.pattern-capture-cancel-btn{padding:6px 14px;font-size:.8125rem;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer}.pattern-capture-cancel-btn:hover{background:#ffffff12}.pattern-capture-save-btn{padding:6px 16px;font-size:.8125rem;border:1px solid rgba(212,160,55,.5);border-radius:6px;background:#d4a03726;color:#d4a037;cursor:pointer;font-weight:500;transition:background .15s}.pattern-capture-save-btn:hover:not(:disabled){background:#d4a03740}.pattern-capture-save-btn:disabled{opacity:.45;cursor:not-allowed}.pattern-capture-error{margin:0 16px 4px;padding:7px 10px;font-size:.75rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:5px;line-height:1.4}.discipline-advisory{margin:8px 12px 4px;padding:9px 10px 9px 12px;background:#eab3081a;border:1px solid rgba(234,179,8,.35);border-radius:6px;display:flex;align-items:flex-start;gap:8px}.discipline-advisory-icon{flex-shrink:0;margin-top:1px;color:#ca8a04;font-size:.85rem}.discipline-advisory-body{flex:1;min-width:0}.discipline-advisory-title{font-size:.72rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.discipline-advisory-text{font-size:.75rem;color:#78350f;line-height:1.45}.discipline-advisory-dismiss{flex-shrink:0;background:none;border:none;padding:0 2px;cursor:pointer;color:#a16207;font-size:1rem;line-height:1;opacity:.6;transition:opacity .15s}.discipline-advisory-dismiss:hover{opacity:1}.discipline-advisory-actions{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.discipline-advisory-upload-btn{padding:4px 10px;font-size:.72rem;font-weight:600;border-radius:4px;border:1px solid rgba(202,138,4,.6);background:#ca8a0426;color:#92400e;cursor:pointer;transition:background .15s}.discipline-advisory-upload-btn:hover{background:#ca8a0447}.discipline-advisory-skip-btn{padding:4px 10px;font-size:.72rem;font-weight:500;border-radius:4px;border:1px solid rgba(120,53,15,.25);background:none;color:#78350f;cursor:pointer;opacity:.7;transition:opacity .15s}.discipline-advisory-skip-btn:hover{opacity:1}.estimator-chat-scope-section{flex-shrink:0;border-top:1px solid #e5e7eb;background:#f9fafb}.estimator-chat-scope-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:700;color:#111827;text-align:left}.estimator-chat-scope-toggle:hover{background:#f3f4f6}.estimator-chat-scope-toggle-chevron{color:#6b7280;font-size:10px;width:10px}.scope-selector-panel{padding:12px 14px;border-top:1px solid #e5e7eb;background:#f9fafb;font-size:12px;color:#1f2937}.scope-selector-state{padding:16px;text-align:center;font-size:12px;color:#6b7280}.scope-selector-state p{margin:0 0 10px}.scope-selector-error{color:#b91c1c}.scope-selector-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.scope-selector-title{margin:0;font-size:13px;font-weight:700;color:#111827}.scope-selector-mode-pills{display:flex;background:#e5e7eb;border-radius:6px;padding:2px;gap:2px}.scope-selector-mode-pill{padding:4px 10px;min-height:28px;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;background:transparent;color:#6b7280;transition:all .12s ease}.scope-selector-mode-pill.active{background:#d4a037;color:#1a1a2e}.scope-selector-controls{display:flex;align-items:center;gap:6px;margin-bottom:8px}.scope-selector-control-btn{padding:4px 10px;min-height:28px;font-size:11px;font-weight:600;background:transparent;color:#d4a037;border:1px solid #D4A037;border-radius:4px;cursor:pointer}.scope-selector-control-btn--secondary{color:#6b7280;border-color:#d1d5db}.scope-selector-count{margin-left:auto;font-size:11px;color:#6b7280}.scope-selector-list{list-style:none;margin:0 0 10px;padding:0;max-height:260px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.scope-selector-item+.scope-selector-item{border-top:1px solid #f3f4f6}.scope-selector-item-label{display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:40px;cursor:pointer;font-size:12px}.scope-selector-item-label input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.scope-selector-item-code{flex-shrink:0;font-weight:700;color:#111827;width:28px}.scope-selector-item-name{flex:1;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-selector-item-agents{flex-shrink:0;font-size:10px;color:#6b7280;font-style:italic;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-selector-summary{padding:8px 10px;margin-bottom:10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:11px}.scope-selector-summary-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.scope-selector-summary-row:last-child{margin-bottom:0}.scope-selector-summary-label{color:#6b7280;font-weight:600}.scope-selector-summary-value{color:#111827}.scope-selector-summary-chips{display:flex;flex-wrap:wrap;gap:4px}.scope-selector-agent-chip{padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}.scope-selector-extract-btn{width:100%;padding:10px 16px;min-height:44px;font-size:13px;font-weight:700;background:#d4a037;color:#1a1a2e;border:none;border-radius:6px;cursor:pointer;transition:background .12s ease}.scope-selector-extract-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.scope-selector-extract-btn:not(:disabled):hover{background:#b88a2c}.scope-selector-btn{padding:8px 14px;min-height:36px;font-size:12px;font-weight:600;background:#d4a037;color:#1a1a2e;border:none;border-radius:6px;cursor:pointer}.scope-selector-conflicts{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.scope-package-viewer{padding:16px 20px;color:#1f2937;height:100%;overflow-y:auto}.scope-package-empty,.scope-package-loading,.scope-package-error{padding:48px 24px;text-align:center;color:#6b7280}.scope-package-empty-icon,.scope-package-loading-icon,.scope-package-error-icon{font-size:32px;margin-bottom:12px}.scope-package-empty-title,.scope-package-loading-title,.scope-package-error-title{margin:0 0 8px;font-size:15px;font-weight:600;color:#111827}.scope-package-error-title{color:#b91c1c}.scope-package-empty-hint{margin:0;font-size:13px;line-height:1.6}.scope-package-empty-arrow{display:inline-block;color:#d4a037;font-weight:700;margin:0 2px}.scope-package-loading-sub{margin:0;font-size:12px}.scope-package-error-msg{margin:0 0 16px;font-size:12px;color:#6b7280}.scope-package-btn,.scope-package-btn-ghost{padding:8px 16px;min-height:36px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;border:none}.scope-package-btn{background:#d4a037;color:#1a1a2e}.scope-package-btn-ghost{background:transparent;color:#6b7280;border:1px solid #d1d5db}.scope-package-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.scope-package-header-info{flex:1;min-width:240px}.scope-package-title{margin:0 0 4px;font-size:16px;font-weight:700;color:#111827}.scope-package-subtitle{margin:0;font-size:12px;color:#6b7280}.scope-package-conflict-count{color:#b45309;font-weight:600}.scope-package-export-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scope-package-export-btn{padding:8px 14px;min-height:36px;font-size:12px;font-weight:600;background:#fff;color:#d4a037;border:1px solid #D4A037;border-radius:6px;cursor:pointer;transition:all .12s ease}.scope-package-export-btn:hover:not(:disabled){background:#d4a037;color:#1a1a2e}.scope-package-export-btn:disabled{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed}.scope-package-export-btn--primary{background:#d4a037;color:#1a1a2e}.scope-package-export-btn--primary:hover:not(:disabled){background:#b88a2c}.scope-package-export-status{padding:8px 12px;margin-bottom:12px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:6px;font-size:12px}.scope-package-export-status--error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.scope-package-divisions{display:flex;flex-direction:column;gap:12px}.scope-package-division{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.scope-package-division-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;min-height:48px;background:#f9fafb;border:none;cursor:pointer;font-size:13px;text-align:left;border-bottom:1px solid transparent}.scope-package-division-header:hover{background:#f3f4f6}.scope-package-division-header[aria-expanded=true]{border-bottom-color:#e5e7eb}.scope-package-chevron{color:#6b7280;font-size:10px;width:10px;flex-shrink:0}.scope-package-division-code{font-weight:700;color:#111827;flex-shrink:0}.scope-package-division-name{color:#374151;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-package-division-count{color:#6b7280;font-size:11px;flex-shrink:0}.scope-package-division-agents{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.scope-package-agent-chip{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.scope-package-division-body{padding:0}.scope-package-agent-group{padding:12px 16px;border-bottom:1px solid #f3f4f6}.scope-package-agent-group:last-child{border-bottom:none}.scope-package-agent-group-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.scope-package-agent-badge{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.02em}.scope-package-agent-group-subtotal{font-size:11px;color:#6b7280;font-style:italic}.scope-package-items-table{width:100%;border-collapse:collapse;font-size:12px}.scope-package-items-table thead tr{background:#f9fafb}.scope-package-items-table th{padding:6px 10px;text-align:left;color:#6b7280;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e5e7eb}.scope-package-items-table th.right{text-align:right}.scope-package-items-table td{padding:8px 10px;border-bottom:1px solid #f3f4f6;color:#1f2937;vertical-align:top}.scope-package-items-table td.right{text-align:right}.scope-package-items-table td.mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.scope-package-items-table tbody tr:last-child td{border-bottom:none}.scope-package-delegate-tag{margin-left:6px;padding:1px 6px;border-radius:3px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:600}.scope-package-source-sheets{color:#6b7280;font-size:11px}.elevation-editor{display:flex;flex-direction:column;width:100%;height:100%;background:#0d1117;color:#ccc;font-family:monospace;overflow:hidden}.elevation-canvas-section{display:flex;flex:1;overflow:hidden;min-height:0}.elevation-canvas-container{position:relative;flex:1;overflow:hidden;background:#0d1117;min-width:0}.elevation-canvas{display:block;width:100%;height:100%}.elevation-idle-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#444;pointer-events:none;-webkit-user-select:none;user-select:none}.elevation-idle-icon{font-size:48px;color:#2a2a3e}.elevation-idle-title{font-size:18px;font-weight:600;color:#555}.elevation-idle-sub{font-size:13px;color:#444;text-align:center;max-width:300px;line-height:1.5}.elevation-copilot-panel ::-webkit-scrollbar{width:5px;height:5px}.elevation-copilot-panel ::-webkit-scrollbar-track{background:#12122a}.elevation-copilot-panel ::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.elevation-copilot-panel ::-webkit-scrollbar-thumb:hover{background:#555}.elevation-canvas-container.is-dragging{cursor:grabbing!important}.elevation-zone-toolbar{display:flex;align-items:center;gap:8px;padding:4px 12px;background:#12122a;border-bottom:1px solid #2a2a3e;flex-shrink:0;min-height:34px;flex-wrap:wrap}.elevation-zone-create-btn{font-family:monospace;letter-spacing:.02em}.elevation-scale-banner{position:relative;z-index:10;flex-shrink:0}.elevation-boq-panel{font-family:monospace}.elevation-boq-panel ::-webkit-scrollbar{width:5px}.elevation-boq-panel ::-webkit-scrollbar-track{background:#12122a}.elevation-boq-panel ::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.elevation-boq-panel ::-webkit-scrollbar-thumb:hover{background:#555}.elevation-context-menu{font-family:monospace;font-size:13px}.elevation-context-menu button:last-child{border-bottom:none}.elevation-band-controls{display:flex;flex-direction:column;gap:4px;padding:4px 8px;font-family:monospace;font-size:11px;color:#ccc;width:100%}.elevation-band-controls__header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:#d4a037;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #2a2a4e;padding-bottom:5px;margin-bottom:2px}.elevation-band-controls__toggle-btn{background:transparent;border:none;color:#888;cursor:pointer;font-size:10px;padding:0 2px;line-height:1;font-family:monospace}.elevation-band-controls__toggle-btn:hover{color:#ccc}.elevation-band-list{display:flex;flex-direction:column;gap:3px}.elevation-band-item{display:flex;align-items:center;gap:6px;padding:2px 0}.elevation-band-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.elevation-band-label{flex:1;font-size:11px;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.elevation-band-label--hidden{color:#555;text-decoration:line-through}.elevation-band-eye-btn{background:transparent;border:none;color:#666;cursor:pointer;font-size:12px;padding:0;line-height:1;flex-shrink:0;transition:color .1s}.elevation-band-eye-btn:hover{color:#ccc}.elevation-band-eye-btn--visible{color:#d4a037}.elevation-band-sliders{display:flex;flex-direction:column;gap:5px;border-top:1px solid #2a2a4e;padding-top:6px;margin-top:2px}.elevation-band-sliders__title{font-size:10px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.elevation-band-slider-row{display:flex;align-items:center;gap:6px}.elevation-band-slider-label{font-size:10px;color:#888;min-width:88px;flex-shrink:0}.elevation-band-slider-value{font-size:10px;color:#d4a037;min-width:32px;text-align:right;flex-shrink:0}.elevation-resegment-btn{display:block;width:100%;padding:5px 0;margin-top:4px;background:#d4a037;color:#1a1a2e;border:none;border-radius:4px;font-family:monospace;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .15s,opacity .15s}.elevation-resegment-btn:hover{background:#e6b445}.elevation-resegment-btn:disabled{background:#333;color:#666;cursor:not-allowed}.elevation-band-controls input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:4px;background:#2a2a4e;border-radius:2px;outline:none;cursor:pointer}.elevation-band-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#d4a037;cursor:pointer;border:none;box-shadow:0 0 0 2px #d4a03740;transition:box-shadow .1s}.elevation-band-controls input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px #d4a03759}.elevation-band-controls input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#d4a037;cursor:pointer;border:none}.elevation-band-controls input[type=range]::-moz-range-track{height:4px;background:#2a2a4e;border-radius:2px}.elevation-band-controls input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px #d4a03766}.elevation-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:6px;z-index:2000;font-family:monospace;font-size:13px;font-weight:600;box-shadow:0 4px 12px #00000080;pointer-events:none;white-space:nowrap;animation:elevation-toast-in .2s ease-out}.elevation-toast--success{background:#1a3a1a;border:1px solid #2a5a2a;color:#4ade80}.elevation-toast--error{background:#3a1a1a;border:1px solid #5a2a2a;color:#f87171}@keyframes elevation-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.connection-status-card{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px;max-width:500px}.connection-status-card.status-success{border-color:var(--color-success, #4caf50);border-width:2px}.connection-status-card.status-warning{border-color:var(--color-warning, #ff9800);border-width:2px}.connection-status-card.status-error{border-color:var(--color-error, #f44336);border-width:2px}.connection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.status-indicator{display:flex;align-items:center;gap:8px}.status-icon{font-size:1.25rem}.status-label{font-weight:600;font-size:1.125rem;color:var(--color-text-primary, #333)}.refresh-button{padding:6px;border-radius:6px}.refresh-button svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.connection-error{display:flex;align-items:flex-start;gap:8px;padding:12px;background:var(--color-error-light, #ffebee);border-radius:8px;margin-bottom:16px;color:var(--color-error, #d32f2f);font-size:.875rem}.connection-error svg{flex-shrink:0;margin-top:2px}.connection-details{background:var(--color-bg-secondary, #f8f9fa);border-radius:8px;padding:16px;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light, #e8e8e8)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-row:first-child{padding-top:0}.detail-label{font-size:.875rem;color:var(--color-text-secondary, #666)}.detail-value{font-weight:500;color:var(--color-text-primary, #333)}.detail-value.mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;background:var(--color-bg-tertiary, #eee);padding:2px 6px;border-radius:4px}.connection-info{margin-bottom:20px}.info-message{color:var(--color-text-secondary, #666);margin-bottom:16px}.sync-features h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #333);margin-bottom:8px}.sync-features ul{list-style:none;padding:0;margin:0}.sync-features li{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.875rem;color:var(--color-text-secondary, #666)}.sync-features li svg{color:var(--color-success, #4caf50);flex-shrink:0}.connection-warning{background:var(--color-warning-light, #fff8e1);border-radius:8px;padding:16px;margin-bottom:16px}.connection-warning p{margin:0;color:var(--color-warning-dark, #e65100)}.company-reminder{margin-top:8px!important;font-size:.875rem;opacity:.8}.connection-actions{display:flex;flex-direction:column;gap:12px}.connect-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:1rem;font-weight:500;background:var(--color-primary, #1a73e8);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.connect-button:hover:not(:disabled){background:var(--color-primary-dark, #1557b0)}.connect-button:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.disconnect-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:.875rem;color:var(--color-text-secondary, #666);background:transparent;border:1px solid var(--color-border, #ddd);border-radius:6px;cursor:pointer;transition:all .15s ease}.disconnect-button:hover:not(:disabled){color:var(--color-error, #d32f2f);border-color:var(--color-error, #d32f2f)}.disconnect-confirm{background:var(--color-error-light, #ffebee);border-radius:8px;padding:16px}.confirm-message{margin:0 0 12px;font-size:.875rem;color:var(--color-text-primary, #333)}.confirm-message strong{color:var(--color-error, #d32f2f)}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-actions .secondary-button{padding:8px 16px;font-size:.875rem;background:#fff;border:1px solid var(--color-border, #ddd);border-radius:6px;cursor:pointer}.danger-button{padding:8px 16px;font-size:.875rem;background:var(--color-error, #d32f2f);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.danger-button:hover:not(:disabled){background:var(--color-error-dark, #b71c1c)}.danger-button:disabled{opacity:.6;cursor:not-allowed}.qb-settings-page{min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.qb-settings-container{max-width:800px;margin:0 auto}.page-header{margin-bottom:32px}.header-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--color-primary-light, #e8f0fe);border-radius:12px;color:var(--color-primary, #1a73e8);flex-shrink:0}.success-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-success-light, #e8f5e9);border:1px solid var(--color-success, #4caf50);border-radius:8px;margin-bottom:24px;color:var(--color-success-dark, #2e7d32)}.success-banner svg{flex-shrink:0}.success-banner span{flex:1}.success-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;color:var(--color-success-dark, #2e7d32);opacity:.7;transition:opacity .15s}.success-banner .close-button:hover{opacity:1}.settings-section{margin-bottom:32px}.settings-section h2{font-size:1.125rem;font-weight:600;margin:0 0 16px;color:var(--color-text-primary, #333)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.help-section{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px}.help-section h2{margin-top:0}.help-content{display:flex;flex-direction:column;gap:20px}.help-item h3{font-size:.9375rem;font-weight:600;margin:0 0 8px;color:var(--color-text-primary, #333)}.help-item p{margin:0;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.6}.help-item ul{margin:0;padding-left:20px;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.8}.help-item ul strong{color:var(--color-text-primary, #333)}.permission-denied .secondary-button{display:inline-block;margin-top:24px;padding:10px 20px;background:var(--color-bg-secondary, #f0f0f0);border:1px solid var(--color-border, #ddd);border-radius:6px;color:var(--color-text-primary, #333);text-decoration:none;font-weight:500}.permission-denied .secondary-button:hover{background:var(--color-bg-tertiary, #e8e8e8)}.labor-sync-card{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;gap:24px}.labor-sync-info h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:#166534}.labor-sync-info p{margin:0;font-size:.875rem;color:#15803d;line-height:1.5}.labor-sync-button{display:inline-flex;align-items:center;padding:10px 20px;background:#16a34a;color:#fff;font-size:.875rem;font-weight:500;text-decoration:none;border-radius:6px;white-space:nowrap;transition:background .15s ease}.labor-sync-button:hover{background:#15803d}@media (max-width: 640px){.qb-settings-page{padding:16px}.header-content{flex-direction:column;align-items:center;text-align:center}.page-header h1{font-size:1.5rem}.labor-sync-card{flex-direction:column;text-align:center}.labor-sync-button{width:100%;justify-content:center}}.photo-selection-panel{margin-top:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fafbfc;overflow:hidden}.photo-selection-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;cursor:pointer;-webkit-user-select:none;user-select:none}.photo-selection-header:hover{background:#e9ecef}.photo-selection-header-left{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151}.photo-selection-header-left .photo-icon{font-size:16px}.photo-count-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.photo-count-badge.before{background:#fef3c7;color:#92400e}.photo-count-badge.after{background:#d1fae5;color:#065f46}.photo-selection-toggle{font-size:12px;color:#6b7280;transition:transform .2s}.photo-selection-toggle.expanded{transform:rotate(180deg)}.photo-selection-body{padding:12px 14px}.photo-select-all{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.photo-select-all label{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;cursor:pointer}.photo-select-all input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2563eb}.photo-section{margin-bottom:12px}.photo-section:last-child{margin-bottom:0}.photo-section-label{font-size:12px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}.photo-section-label.before{color:#b45309}.photo-section-label.after{color:#047857}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.photo-thumb-container{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid transparent;transition:border-color .15s;cursor:pointer}.photo-thumb-container.selected{border-color:#2563eb}.photo-thumb-container.deselected{border-color:#d1d5db;opacity:.45}.photo-thumb-container:hover{border-color:#93c5fd}.photo-thumb{width:100%;height:100%;object-fit:cover;background:#e5e7eb}.photo-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af;font-size:20px}.photo-thumb-placeholder.photo-loading{font-size:14px;color:#d1d5db;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.photo-thumb-checkbox{position:absolute;top:4px;right:4px;width:18px;height:18px;accent-color:#2563eb;cursor:pointer;z-index:2}.photo-expand-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;font-size:11px;cursor:pointer;aspect-ratio:1}.photo-expand-btn:hover{background:#f3f4f6;border-color:#9ca3af}.photo-summary-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#eff6ff;border-top:1px solid #dbeafe;font-size:12px;color:#1e40af}.photo-summary-count{font-weight:600}.photo-pdf-progress{margin-top:12px;padding:12px;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px}.photo-pdf-progress-bar{width:100%;height:6px;background:#dbeafe;border-radius:3px;overflow:hidden;margin-bottom:6px}.photo-pdf-progress-fill{height:100%;background:#2563eb;border-radius:3px;transition:width .3s}.photo-pdf-progress-label{font-size:12px;color:#1e40af}.ct-settings-page{--ct-success-bg: var(--color-success-light, #dcfce7);--ct-success-border: #86efac;--ct-success-text: var(--color-success-dark, #166534);--ct-success-accent: var(--color-success, #22c55e);--ct-success-text-secondary: #15803d;--ct-error-bg: #fef2f2;--ct-error-border: #fca5a5;--ct-error-text: #991b1b;--ct-error-accent: var(--color-error, #ef4444);--ct-warning-bg: #fef3c7;--ct-warning-border: #fcd34d;--ct-warning-text: #92400e;--ct-warning-accent: #f59e0b;--ct-warning-text-light: #b45309;--ct-warning-bg-light: #fffbeb;--ct-info-bg: #f0f9ff;--ct-info-border: #93c5fd;--ct-info-text: #1e40af;--ct-info-accent: #3b82f6;--ct-info-text-secondary: #2563eb;--ct-info-border-light: #bae6fd;min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.ct-settings-container{max-width:900px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:.875rem}.breadcrumb a{color:var(--color-primary, #1a73e8);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{color:var(--color-text-tertiary, #999)}.breadcrumb .current{color:var(--color-text-secondary, #666)}.page-header{margin-bottom:24px}.header-content{display:flex;align-items:flex-start;gap:16px}.header-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:12px;color:#fff;flex-shrink:0}.page-header h1{margin:0 0 8px;font-size:1.75rem;font-weight:600;color:var(--color-text-primary, #333)}.page-description{margin:0;color:var(--color-text-secondary, #666);line-height:1.5}.success-banner,.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:24px}.success-banner{background:var(--ct-success-bg);border:1px solid var(--ct-success-accent);color:var(--ct-success-text)}.error-banner{background:var(--ct-error-bg);border:1px solid var(--ct-error-accent);color:var(--ct-error-text)}.success-banner svg,.error-banner svg{flex-shrink:0}.success-banner span,.error-banner span{flex:1}.success-banner .close-button,.error-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .15s}.success-banner .close-button{color:var(--ct-success-text)}.error-banner .close-button{color:var(--ct-error-text)}.success-banner .close-button:hover,.error-banner .close-button:hover{opacity:1}.integration-path-toggle{display:inline-flex;border:1px solid var(--color-border, #e0e0e0);border-radius:8px;overflow:hidden;margin-bottom:16px;background:#fff}.path-toggle-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:500;border:none;background:#fff;color:var(--color-text-secondary, #666);cursor:pointer;transition:background .15s,color .15s}.path-toggle-btn:not(:last-child){border-right:1px solid var(--color-border, #e0e0e0)}.path-toggle-btn.active{background:var(--color-primary, #8b6f47);color:#fff}.path-toggle-btn.active svg{stroke:#fff}.path-toggle-btn:hover:not(.active){background:var(--color-bg-secondary, #f5f0eb)}.path-toggle-btn svg{flex-shrink:0}.wizard-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:32px;padding:16px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.progress-step{display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;cursor:pointer;position:relative}.progress-step .step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-border, #e0e0e0);color:var(--color-text-secondary, #666);font-size:.875rem;font-weight:600;transition:all .2s}.progress-step .step-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #666);transition:color .2s}.progress-step.active .step-number{background:var(--color-primary, #1a73e8);color:#fff}.progress-step.active .step-label{color:var(--color-primary, #1a73e8);font-weight:600}.progress-step.completed .step-number{background:var(--ct-success-accent);color:#fff}.progress-step.completed .step-label{color:var(--ct-success-accent)}.progress-step .step-connector{position:absolute;right:-24px;width:48px;height:2px;background:var(--color-border, #e0e0e0)}.progress-step.completed .step-connector{background:var(--ct-success-accent)}.step-content{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:32px}.step-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--color-border, #e0e0e0)}.step-header .step-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary-light, #e8f0fe);border-radius:12px;color:var(--color-primary, #1a73e8);flex-shrink:0}.step-header h2{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #333)}.step-header p{margin:0;color:var(--color-text-secondary, #666)}.already-connected-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ct-success-bg);border:1px solid var(--ct-success-accent);border-radius:8px;margin-bottom:24px;color:var(--ct-success-text);font-size:.875rem}.form-section{margin-bottom:24px}.form-section label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #333);margin-bottom:8px}.api-key-input-wrapper{display:flex;gap:0;margin-bottom:8px}.api-key-input{flex:1;padding:12px 16px;border:1px solid var(--color-border, #e0e0e0);border-right:none;border-radius:8px 0 0 8px;font-size:.9375rem;transition:border-color .15s}.api-key-input:focus{outline:none;border-color:var(--color-primary, #1a73e8)}.toggle-visibility{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:var(--color-bg-secondary, #f5f5f5);border:1px solid var(--color-border, #e0e0e0);border-radius:0 8px 8px 0;cursor:pointer;color:var(--color-text-secondary, #666);transition:background .15s}.toggle-visibility:hover{background:var(--color-border, #e0e0e0)}.help-text{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--color-text-secondary, #666);margin-bottom:16px}.help-text svg{flex-shrink:0;color:var(--color-primary, #1a73e8)}.test-button{display:inline-flex;align-items:center;gap:8px;min-width:150px;max-height:42px}.test-button:disabled{opacity:.8}.test-result{margin-top:24px;padding:16px;border-radius:8px}.test-result.success{background:var(--ct-success-bg);border:1px solid var(--ct-success-accent)}.test-result.error{background:var(--ct-error-bg);border:1px solid var(--ct-error-accent)}.result-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.test-result.success .result-header{color:var(--ct-success-text)}.test-result.error .result-header{color:var(--ct-error-text)}.time-clocks-select{margin-top:16px}.time-clocks-select label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--ct-success-text)}.time-clocks-select select{width:100%;padding:10px 12px;border:1px solid var(--ct-success-accent);border-radius:6px;background:#fff;font-size:.875rem}.user-count{margin-top:12px;font-size:.875rem;color:var(--ct-success-text)}.error-message{margin:0 0 12px;color:var(--ct-error-text)}.troubleshooting{font-size:.8125rem;color:var(--ct-error-text)}.troubleshooting strong{display:block;margin-bottom:8px}.troubleshooting ul{margin:0;padding-left:20px}.troubleshooting li{margin-bottom:4px}.step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border, #e0e0e0)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none}.primary-button{background:var(--color-primary, #1a73e8);color:#fff;border:none}.primary-button:hover:not(:disabled){background:var(--color-primary-dark, #1557b0)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.continue-pulse{animation:continue-glow 2s ease-in-out infinite}.continue-pulse svg{animation:arrow-bounce 1.5s ease-in-out infinite}@keyframes continue-glow{0%,to{box-shadow:0 0 #1a73e866}50%{box-shadow:0 0 0 6px #1a73e800}}@keyframes arrow-bounce{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.secondary-button{background:#fff;color:var(--color-text-primary, #333);border:1px solid var(--color-border, #e0e0e0)}.secondary-button:hover:not(:disabled){background:var(--color-bg-secondary, #f5f5f5)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}.mappings-content{display:flex;flex-direction:column;gap:24px}.mappings-section{background:var(--color-bg-secondary, #f9fafb);border-radius:8px;padding:20px}.mappings-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--color-text-primary, #333)}.unmapped-section{border:2px dashed var(--ct-warning-accent);background:var(--ct-warning-bg-light)}.unmapped-section h3{color:var(--ct-warning-text-light)}.section-description{margin:-8px 0 16px;font-size:.875rem;color:var(--color-text-secondary, #666)}.mapping-list{display:flex;flex-direction:column;gap:12px}.mapping-item{background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px;padding:16px}.mapping-item.mapped{display:flex;flex-direction:column;padding:0;overflow:hidden}.mapping-item.mapped.expanded{border-color:var(--color-primary, #1a73e8)}.mapping-row{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:12px}.mapping-row.clickable{cursor:pointer;transition:background .15s}.mapping-row.clickable:hover{background:var(--color-bg-secondary, #f8f9fa)}.expand-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;color:var(--color-text-tertiary, #999);flex-shrink:0}.expand-button svg{transition:transform .2s}.expand-button svg.rotated{transform:rotate(90deg)}.mapping-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mapping-details .ct-job{font-weight:500;color:var(--color-text-primary, #333)}.mapping-details .arrow{color:var(--color-text-tertiary, #999)}.mapping-details .local-job{color:var(--color-primary, #1a73e8);font-weight:500}.scope-inline-select{padding:3px 8px;border:1px solid var(--color-border, #dde1e6);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary, #666);background:var(--color-bg-secondary, #f8f9fa);cursor:pointer;max-width:160px;text-overflow:ellipsis}.scope-inline-select:hover{border-color:var(--color-primary, #1a73e8)}.scope-inline-select:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 2px #1a73e826}.scope-inline-select:disabled{opacity:.6;cursor:wait}.scope-inline-select.has-scope{color:var(--color-text-primary, #333);background:var(--color-primary-light, #e8f0fe);border-color:var(--color-primary, #1a73e8);font-weight:500}.scope-inline-select option:not([value=""]){color:var(--color-text-primary, #333)}.mapping-meta{display:flex;align-items:center;gap:12px}.confidence{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.confidence.confidence-high{background:var(--ct-success-bg);color:var(--ct-success-text)}.confidence.confidence-medium{background:var(--ct-warning-bg);color:var(--ct-warning-text)}.confidence.confidence-low{background:var(--ct-error-bg);color:var(--ct-error-text)}.match-type{font-size:.75rem;color:var(--color-text-tertiary, #999);text-transform:capitalize}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--color-text-secondary, #666);transition:all .15s}.icon-button:hover{background:var(--color-bg-secondary, #f5f5f5)}.icon-button.danger:hover{background:#fef2f2;color:#ef4444}.icon-button.small{width:24px;height:24px}.scope-mappings-panel{background:var(--color-bg-secondary, #f8f9fa);border-top:1px solid var(--color-border, #e0e0e0);padding:16px 20px}.scope-panel-header{margin-bottom:16px}.scope-panel-header h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:.9375rem;font-weight:600;color:var(--color-text-primary, #333)}.scope-panel-header .help-text{font-size:.8125rem;color:var(--color-text-secondary, #666)}.scope-mapping-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.scope-mapping-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem}.scope-mapping-item .cost-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;background:var(--color-bg-tertiary, #eee);padding:2px 8px;border-radius:4px;color:var(--color-text-primary, #333)}.scope-mapping-item .arrow{color:var(--color-text-tertiary, #999);flex-shrink:0}.scope-mapping-item .scope-name{flex:1;color:var(--color-primary, #1a73e8);font-weight:500}.no-scope-mappings,.no-scopes-available{padding:12px;background:#fff;border:1px dashed var(--color-border, #e0e0e0);border-radius:6px;text-align:center;margin-bottom:16px}.no-scope-mappings p,.no-scopes-available p{margin:0;font-size:.875rem;color:var(--color-text-secondary, #666)}.add-scope-mapping{padding-top:12px;border-top:1px solid var(--color-border, #e0e0e0)}.add-mapping-form{display:flex;gap:10px;align-items:center}.cost-code-input{width:140px;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.cost-code-input:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81a}.scope-select{flex:1;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem;background:#fff}.scope-select:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81a}.secondary-button.small{padding:8px 16px;font-size:.8125rem}.unmapped-header{margin-bottom:12px}.unmapped-header .ct-job{font-weight:600;font-size:1rem;color:var(--color-text-primary, #333)}.suggestions{display:flex;flex-direction:column;gap:8px}.suggestion-label{font-size:.8125rem;color:var(--color-text-secondary, #666);margin-bottom:4px}.suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-secondary, #f5f5f5);border:1px solid var(--color-border, #e0e0e0);border-radius:6px;cursor:pointer;transition:all .15s}.suggestion-item:hover{background:var(--color-primary-light, #e8f0fe);border-color:var(--color-primary, #1a73e8)}.suggestion-item .local-job{font-weight:500;color:var(--color-text-primary, #333)}.no-suggestions{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--ct-error-bg);border-radius:6px;font-size:.875rem;color:var(--ct-error-text)}.small-button{padding:6px 12px;font-size:.75rem}.empty-state{text-align:center;padding:24px;color:var(--color-text-secondary, #666)}.sync-content{display:flex;flex-direction:column;gap:24px}.sync-status-card{background:var(--color-bg-secondary, #f9fafb);border-radius:8px;padding:20px}.sync-status-card h3{margin:0 0 16px;font-size:1rem;font-weight:600}.status-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.status-item{display:flex;flex-direction:column;gap:4px}.status-item .label{font-size:.75rem;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.status-item .value{font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333)}.status-item .value.success{color:var(--ct-success-accent)}.status-item .value.error{color:var(--ct-error-accent)}.status-item.warning{padding:12px;background:var(--ct-warning-bg);border-radius:6px}.status-item.warning .value{color:var(--ct-warning-text-light)}.no-sync-yet{color:var(--color-text-secondary, #666);font-style:italic}.conflicts-section{background:var(--ct-warning-bg-light);border:2px solid var(--ct-warning-accent);border-radius:8px;padding:20px}.conflicts-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--ct-warning-text-light)}.conflicts-list{display:flex;flex-direction:column;gap:12px}.conflict-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#fff;border:1px solid var(--ct-warning-accent);border-radius:6px}.conflict-details{display:flex;gap:12px;font-size:.875rem}.conflict-details .job-name{font-weight:600}.conflict-details .date,.conflict-details .crew{color:var(--color-text-secondary, #666)}.conflict-hours{display:flex;gap:12px;font-size:.8125rem;color:var(--color-text-secondary, #666)}.conflict-actions{display:flex;gap:8px}.conflict-actions button{padding:6px 12px;font-size:.75rem;border-radius:4px;border:1px solid var(--color-border, #e0e0e0);background:#fff;cursor:pointer;transition:all .15s}.conflict-actions button:hover{background:var(--color-bg-secondary, #f5f5f5)}.conflict-actions button.primary{background:var(--color-primary, #1a73e8);color:#fff;border-color:var(--color-primary, #1a73e8)}.conflict-actions button.primary:hover{background:var(--color-primary-dark, #1557b0)}.conflicts-truncated{padding:12px 16px;text-align:center;font-size:.8125rem;color:var(--color-text-secondary, #666);font-style:italic;background:#fef3c7;border-radius:6px;border:1px dashed #f59e0b}.sync-actions-card{text-align:center;padding:32px;background:linear-gradient(135deg,#f0fdf4 0%,var(--ct-success-bg) 100%);border-radius:12px;border:1px solid var(--ct-success-accent)}.sync-actions-card .primary-button.large{padding:14px 32px;font-size:1rem}.sync-actions-card .primary-button.large{background:var(--ct-success-accent)}.sync-actions-card .primary-button.large:hover:not(:disabled){background:#16a34a}.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible{outline:2px solid var(--color-primary, #1a73e8);outline-offset:2px}.sync-help{margin:16px 0 0;font-size:.875rem;color:var(--color-text-secondary, #666)}.sync-date-range-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.sync-date-range-card h3{margin:0 0 12px;font-size:1rem}.date-range-inputs{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.date-field{display:flex;align-items:center;gap:8px}.date-field label{font-weight:500;font-size:.875rem;color:var(--color-text-secondary, #666)}.date-field input[type=date]{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.date-presets{display:flex;gap:8px;margin-left:auto}.dry-run-results-card{background:#eff6ff;border:1px solid #93c5fd;border-radius:12px;padding:20px}.dry-run-results-card h3{margin:0 0 12px;font-size:1rem;color:#1e40af}.preview-summary{display:flex;gap:24px;flex-wrap:wrap}.preview-stat{display:flex;gap:8px;align-items:center}.preview-stat .label{font-size:.875rem;color:var(--color-text-secondary, #666)}.preview-stat .value{font-weight:600;font-size:1rem}.preview-stat .value.success{color:var(--ct-success-text, #166534)}.preview-stat.warning .value{color:#b45309}.preview-stat.error .value{color:#dc2626}.preview-note{margin:12px 0 0;font-size:.8125rem;color:#3b82f6;font-style:italic}.sync-button-group{display:flex;gap:12px;justify-content:center}.sync-button-group .secondary-button.large{padding:14px 24px;font-size:1rem}.post-sync-metrics-card{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;padding:20px}.post-sync-metrics-card h3{margin:0 0 12px;font-size:1rem;color:var(--ct-success-text, #166534)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.metric{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-value{font-size:1.5rem;font-weight:700;color:var(--ct-success-text, #166534)}.metric-value.warning{color:#b45309}.metric-label{font-size:.75rem;color:var(--color-text-secondary, #666);margin-top:4px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.loading-state.small{padding:24px}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border, #e0e0e0);border-top-color:var(--color-primary, #1a73e8);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.loading-spinner.small{width:16px;height:16px;border-width:2px;margin:0}.loading-state span{color:var(--color-text-secondary, #666)}.permission-denied{text-align:center;padding:64px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.permission-denied h2{margin:0 0 16px;color:var(--color-text-primary, #333)}.permission-denied p{margin:0 0 8px;color:var(--color-text-secondary, #666)}.permission-denied .secondary-button{margin-top:24px}@media (max-width: 768px){.ct-settings-page{padding:16px}.step-content{padding:20px}.wizard-progress{flex-direction:column;gap:8px}.progress-step .step-connector{display:none}.mapping-item.mapped{flex-direction:column;align-items:flex-start;gap:12px}.mapping-meta{width:100%;justify-content:space-between}.conflict-item{flex-direction:column;align-items:flex-start}.step-actions{flex-direction:column}.step-actions button,.step-actions a{width:100%}}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirmation-dialog{background:var(--color-bg-primary, #ffffff);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0003;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirmation-dialog h3{margin:0 0 12px;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #1a1a1a)}.confirmation-dialog p{margin:0 0 20px;color:var(--color-text-secondary, #666666);line-height:1.5}.confirmation-actions{display:flex;gap:12px;justify-content:flex-end}.confirmation-actions .primary-button.danger{background:var(--color-danger, #dc3545);border-color:var(--color-danger, #dc3545)}.confirmation-actions .primary-button.danger:hover{background:var(--color-danger-hover, #c82333);border-color:var(--color-danger-hover, #c82333)}.scope-mapping-error{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;color:var(--color-danger, #dc3545)}.scope-mapping-error svg{flex-shrink:0}.scope-mapping-error span{flex:1;font-size:.875rem}.scope-mapping-error .secondary-button.small{padding:6px 12px;font-size:.75rem}.conflict-actions .small-button:disabled{opacity:.6;cursor:not-allowed}.job-search-filter{margin-bottom:20px}.search-input-wrapper{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px;transition:border-color .15s,box-shadow .15s}.search-input-wrapper:focus-within{border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81a}.search-input-wrapper svg{color:var(--color-text-tertiary, #999);flex-shrink:0}.job-search-input{flex:1;border:none;outline:none;font-size:.875rem;background:transparent;color:var(--color-text-primary, #333)}.job-search-input::placeholder{color:var(--color-text-tertiary, #999)}.clear-search{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:var(--color-bg-tertiary, #eee);border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary, #666);transition:background .15s}.clear-search:hover{background:var(--color-border, #ddd)}.new-badge{display:inline-flex;align-items:center;padding:2px 6px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-left:8px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.cost-code-wrapper{display:inline-flex;align-items:center;gap:4px}.copy-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary, #999);transition:all .15s}.copy-button:hover{background:var(--color-bg-tertiary, #eee);color:var(--color-primary, #1a73e8)}.copy-button svg{flex-shrink:0}.copy-button svg[stroke=currentColor] path,.copy-button svg[stroke=currentColor] polyline{stroke:currentColor}.conflict-item.resolved{background:#dcfce7;border-color:#22c55e;opacity:.8}.resolved-indicator{display:flex;align-items:center;gap:6px;color:#16a34a;font-size:.875rem;font-weight:600}.resolved-indicator svg{color:#22c55e}.sync-help strong{color:var(--color-text-primary, #333);background:#1a73e81a;padding:2px 6px;border-radius:4px}.time-clock-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-bg-secondary, #f5f5f5);border-radius:6px;font-size:.8125rem;color:var(--color-text-secondary, #666);margin-bottom:16px}.time-clock-hint svg{flex-shrink:0;color:var(--color-primary, #1a73e8)}.users-step .user-name{font-weight:500;color:var(--color-text-primary, #333)}.users-step .user-email{font-size:.8125rem;color:var(--color-text-secondary, #666)}.users-step .mapping-arrow{color:var(--color-text-tertiary, #999);margin:0 8px}.users-step .crew-member-name{font-weight:500;color:var(--color-primary, #1a73e8)}.user-mapping-controls{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.crew-member-select{flex:1;min-width:200px;padding:6px 10px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem;background:#fff;color:var(--color-text-primary, #333)}.or-divider{font-size:.8125rem;color:var(--color-text-tertiary, #999);padding:0 4px}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.text-button{background:none;border:none;padding:4px 8px;font-size:.8125rem;cursor:pointer;border-radius:4px}.text-button:hover{background:var(--color-bg-secondary, #f5f5f5)}.text-button.danger{color:var(--color-error, #dc2626)}.text-button.danger:hover{background:#fef2f2}.primary-button.small,.secondary-button.small{padding:6px 12px;font-size:.8125rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.import-modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;animation:slideUp .2s ease-out}.import-modal h3{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #333)}.modal-description{margin:0 0 20px;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.4}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #555);margin-bottom:4px}.form-field input[type=text],.form-field input[type=email],.form-field input[type=tel],.form-field select{width:100%;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem;color:var(--color-text-primary, #333);background:#fff;box-sizing:border-box}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 2px #1a73e826}.checkbox-field label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem}.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary, #1a73e8)}.field-hint{font-size:.75rem;color:var(--color-text-tertiary, #999);margin-left:4px}.scope-assignment-section{margin-top:8px}.scope-assignment-section>.field-hint{display:block;margin-bottom:8px}.scope-checklist{max-height:180px;overflow-y:auto;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;padding:8px 0;background:var(--color-bg-secondary, #f8f9fa)}.scope-job-group{padding:4px 12px}.scope-job-group+.scope-job-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border, #e0e0e0)}.scope-job-name{font-size:.75rem;font-weight:600;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.scope-checkbox-label{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.875rem;color:var(--color-text-primary, #333);cursor:pointer}.scope-checkbox-label:hover{color:var(--color-primary, #1a73e8)}.scope-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.empty-state.small{padding:8px 0;font-size:.8125rem}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border, #e0e0e0)}.empty-state{font-size:.875rem;color:var(--color-text-secondary, #666);font-style:italic;padding:12px 0}.auto-match-toolbar{display:flex;justify-content:flex-end;padding:12px 0;border-bottom:1px solid var(--color-border, #e0e0e0);margin-bottom:16px}.auto-match-btn{display:inline-flex;align-items:center;gap:6px;font-weight:600}.auto-match-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat-card{padding:16px;border-radius:10px;text-align:center;border:1px solid var(--color-border, #e0e0e0)}.stat-card .stat-value{display:block;font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:4px}.stat-card .stat-label{display:block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-auto-matched{background:var(--ct-success-bg);border-color:var(--ct-success-border)}.stat-auto-matched .stat-value{color:var(--ct-success-text)}.stat-auto-matched .stat-label{color:var(--ct-success-text-secondary)}.stat-suggested{background:var(--ct-warning-bg);border-color:var(--ct-warning-border)}.stat-suggested .stat-value{color:var(--ct-warning-text)}.stat-suggested .stat-label{color:#a16207}.stat-unmatched{background:var(--ct-error-bg);border-color:var(--ct-error-border)}.stat-unmatched .stat-value{color:var(--ct-error-text)}.stat-unmatched .stat-label{color:var(--ct-error-accent)}.stat-already-mapped{background:var(--ct-info-bg);border-color:var(--ct-info-border)}.stat-already-mapped .stat-value{color:var(--ct-info-text)}.stat-already-mapped .stat-label{color:var(--ct-info-text-secondary)}.auto-match-section{margin-bottom:24px;border:1px solid var(--color-border, #e0e0e0);border-radius:10px;overflow:hidden}.auto-match-section .section-header{padding:12px 16px;background:var(--color-bg-secondary, #f9fafb);border-bottom:1px solid var(--color-border, #e0e0e0);display:flex;align-items:baseline;gap:12px}.section-title{margin:0;font-size:.9375rem;font-weight:600}.auto-matched-title{color:#166534}.suggested-title{color:#92400e}.unmatched-title{color:#991b1b}.already-mapped-title{color:#1e40af}.section-hint{font-size:.8125rem;color:var(--color-text-secondary, #666)}.auto-match-list{padding:0}.auto-match-item{padding:10px 16px;border-bottom:1px solid var(--color-border-light, #f0f0f0);transition:background-color .15s}.auto-match-item:last-child{border-bottom:none}.auto-match-item:hover{background:var(--color-bg-hover, #f5f5f5)}.auto-match-item.auto-matched{border-left:3px solid var(--ct-success-accent)}.auto-match-item.suggested{border-left:3px solid #eab308}.auto-match-item.unmatched{border-left:3px solid var(--ct-error-accent)}.auto-match-item.already-mapped{border-left:3px solid var(--ct-info-accent)}.match-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;width:100%}.match-checkbox-label input[type=checkbox]{width:18px;height:18px;flex-shrink:0;cursor:pointer}.match-pair{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ct-user-name{font-weight:500;color:var(--color-text-primary, #333)}.ct-user-email{font-size:.8125rem;color:var(--color-text-secondary, #666)}.match-arrow{color:var(--color-text-tertiary, #999);font-size:1rem}.cm-name{font-weight:500;color:var(--color-primary, #1a73e8)}.cm-email{font-size:.8125rem;color:var(--color-text-secondary, #666)}.match-score{font-size:.8125rem;font-weight:600;color:#166534;background:#dcfce7;padding:2px 8px;border-radius:12px;flex-shrink:0}.match-score.suggested-score{color:#92400e;background:#fef3c7}.section-actions{padding:12px 16px;background:var(--color-bg-secondary, #f9fafb);border-top:1px solid var(--color-border, #e0e0e0);display:flex;justify-content:flex-end;align-items:center;gap:12px}.section-actions-hint{font-size:.8125rem;color:var(--color-text-secondary, #666);font-style:italic;margin-right:auto}.bulk-import-controls{padding:12px 16px;background:var(--color-bg-secondary, #f9fafb);border-top:1px solid var(--color-border, #e0e0e0);display:flex;align-items:flex-end;gap:12px}.bulk-import-options{flex:1;display:flex;flex-direction:column;gap:8px}.bulk-import-controls .crew-select{max-width:300px;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.875rem;background:#fff}.bulk-scope-select{display:flex;flex-direction:column;gap:4px}.bulk-scope-label{font-size:.8125rem;color:var(--color-text-secondary, #666);font-weight:500}.scope-checkboxes.compact{display:flex;flex-wrap:wrap;gap:4px 12px;max-height:120px;overflow-y:auto}.scope-job-group{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.scope-job-name{font-size:.75rem;font-weight:600;color:var(--color-text, #333);margin-right:4px}.scope-checkbox-label{display:flex;align-items:center;gap:4px;font-size:.8125rem;cursor:pointer}.scope-checkbox-label input[type=checkbox]{margin:0}.auto-match-content{padding:0}@media (max-width: 640px){.auto-match-stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card .stat-value{font-size:1.25rem}.match-pair{flex-direction:column;align-items:flex-start;gap:2px}.match-arrow{display:none}.bulk-import-controls{flex-direction:column;align-items:stretch}.bulk-import-controls .crew-select{max-width:none}}.mapping-health-dashboard{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border, #e0e0e0)}.health-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.health-card{padding:16px;border-radius:10px;border:1px solid var(--color-border, #e0e0e0);text-align:center}.health-card-value{font-size:1.5rem;font-weight:700;line-height:1.2;margin-bottom:2px}.health-card-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.health-card-pct{font-size:.8125rem;font-weight:600;margin-top:4px}.health-card-secondary{font-size:.8125rem;margin-top:4px}.coverage-card{background:var(--ct-success-bg);border-color:var(--ct-success-border)}.coverage-card .health-card-value{color:var(--ct-success-text)}.coverage-card .health-card-label{color:var(--ct-success-text-secondary)}.coverage-card .health-card-pct{color:var(--ct-success-text)}.health-progress-bar{width:100%;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.health-progress-fill{height:100%;background:var(--ct-success-accent);border-radius:3px;transition:width .5s ease}.risk-card.has-risk{background:var(--ct-error-bg);border-color:var(--ct-error-border)}.risk-card.has-risk .health-card-value{color:var(--ct-error-text)}.risk-card.has-risk .health-card-label{color:var(--ct-error-accent)}.risk-card.has-risk .health-card-secondary{color:#b91c1c}.risk-card.no-risk{background:var(--ct-success-bg);border-color:var(--ct-success-border)}.risk-card.no-risk .health-card-value{color:var(--ct-success-text)}.risk-card.no-risk .health-card-label{color:var(--ct-success-text-secondary)}.attribution-card{background:var(--ct-info-bg);border-color:var(--ct-info-border)}.attribution-card .health-card-value{color:var(--ct-info-text)}.attribution-card .health-card-label{color:var(--ct-info-text-secondary)}.attribution-card .health-card-secondary{color:var(--ct-info-accent)}.mapping-trend{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-secondary, #f9fafb);border-radius:6px;margin-bottom:12px;font-size:.875rem}.trend-label{font-weight:600;color:var(--color-text-secondary, #666)}.trend-point{color:var(--color-text-primary, #333);font-weight:500}.trend-arrow{color:var(--color-text-tertiary, #999);margin:0 2px}.stale-mappings-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--ct-warning-bg);border:1px solid var(--ct-warning-border);border-radius:6px;margin-bottom:12px;font-size:.875rem;color:var(--ct-warning-text)}.warning-icon{font-size:1.1rem}.unmapped-hours-detail{margin-top:12px}.unmapped-detail-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary, #666);margin:0 0 8px}.unmapped-table{width:100%;border-collapse:collapse;font-size:.8125rem}.unmapped-table th{text-align:left;padding:6px 12px;background:var(--color-bg-secondary, #f9fafb);border-bottom:1px solid var(--color-border, #e0e0e0);font-weight:600;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.unmapped-table td{padding:6px 12px;border-bottom:1px solid var(--color-border-light, #f0f0f0);color:var(--color-text-primary, #333)}.unmapped-table tr:last-child td{border-bottom:none}@media (max-width: 640px){.health-cards{grid-template-columns:1fr;gap:8px}.health-card-value{font-size:1.25rem}.mapping-trend{flex-wrap:wrap}}.cache-warning-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff7ed;border:1px solid #fdba74;border-radius:6px;margin-bottom:12px;font-size:.875rem;color:#9a3412}.cache-warning-banner .warning-icon{font-size:1.1rem}.cache-warning-banner.error-banner{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.cache-warning-banner.info-banner{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.name-discrepancy-section{margin-bottom:12px;padding:12px 16px;background:#fefce8;border:1px solid #fde68a;border-radius:8px}.discrepancy-title{font-size:.875rem;font-weight:600;color:#854d0e;margin:0 0 4px}.discrepancy-hint{font-size:.8125rem;color:#a16207;margin:0 0 8px}.discrepancy-list{display:flex;flex-direction:column;gap:6px}.discrepancy-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:4px;font-size:.8125rem}.discrepancy-local{font-weight:500;color:var(--color-text-primary, #333)}.discrepancy-arrow{color:#dc2626;font-size:1rem;font-weight:700}.discrepancy-remote{font-weight:500;color:var(--color-primary, #1a73e8)}.discrepancy-score{margin-left:auto;font-size:.75rem;color:var(--color-text-tertiary, #999)}.stale-mappings-section{margin-bottom:12px}.stale-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.stale-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:6px}.stale-info{display:flex;flex-direction:column;gap:2px}.stale-name{font-weight:500;font-size:.875rem;color:var(--color-text-primary, #333)}.stale-detail{font-size:.75rem;color:var(--color-text-secondary, #666)}.recently-unmapped-section{margin-bottom:16px;padding:12px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.recently-unmapped-title{font-size:.875rem;font-weight:600;color:#0c4a6e;margin:0 0 4px}.recently-unmapped-hint{font-size:.8125rem;color:#0369a1;margin:0 0 8px}.recently-unmapped-list{display:flex;flex-direction:column;gap:6px}.recently-unmapped-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e0f2fe}.recently-unmapped-info{display:flex;flex-direction:column;gap:2px}.recently-unmapped-name{font-weight:500;font-size:.875rem;color:var(--color-text-primary, #333)}.recently-unmapped-detail{font-size:.75rem;color:var(--color-text-secondary, #666)}@media (max-width: 640px){.discrepancy-item{flex-wrap:wrap}.stale-item,.recently-unmapped-item{flex-direction:column;align-items:flex-start;gap:8px}}.ct-sync-tools{margin-top:1.5rem;margin-bottom:1.5rem}.ct-sync-tools__heading{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary, #111827)}.ct-sync-tools__cards{display:flex;flex-direction:column;gap:.5rem}.ct-tool-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;text-decoration:none;color:inherit;background:#fff;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.ct-tool-card:hover{border-color:var(--brand-color, #2563eb);box-shadow:0 1px 3px #0000001a}.ct-tool-card:focus-visible{outline:2px solid var(--brand-color, #2563eb);outline-offset:-2px}.ct-tool-card__title{font-weight:500;font-size:.9375rem}.ct-tool-card__arrow{font-size:1.125rem;color:var(--text-secondary, #6b7280);transition:transform .2s cubic-bezier(.4,0,.2,1)}.ct-tool-card:hover .ct-tool-card__arrow{transform:translate(4px);color:var(--brand-color, #2563eb)}@media (max-width: 959px){.ct-tool-card{min-height:44px}}.upload-instructions{margin-bottom:24px}.upload-instructions h3{font-size:1rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0 0 20px}.instruction-step{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}.instruction-number{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--color-primary, #8b6f47);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.instruction-content{flex:1;min-width:0}.instruction-content p{margin:0 0 12px;font-size:.9rem;line-height:1.5;color:var(--color-text-primary, #333)}.instruction-screenshot{border:1px solid var(--color-border, #e0e0e0);border-radius:8px;overflow:hidden;background:#fafafa}.instruction-screenshot img{display:block;width:100%;height:auto}.file-dropzone{border:2px dashed var(--color-border, #d0d0d0);border-radius:12px;padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:24px;background:var(--color-bg-secondary, #fafaf8)}.file-dropzone:hover{border-color:var(--color-primary, #8b6f47);background:var(--color-bg-secondary, #f5f0eb)}.file-dropzone.drag-over{border-color:var(--color-primary, #8b6f47);background:var(--color-bg-secondary, #f5f0eb);border-style:solid}.file-dropzone.has-file{border-style:solid;border-color:var(--ct-success-accent);background:var(--ct-success-bg);padding:16px 24px}.file-dropzone:focus-visible{outline:2px solid var(--color-primary, #8b6f47);outline-offset:2px}.dropzone-prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.dropzone-prompt svg{color:var(--color-text-tertiary, #999);margin-bottom:4px}.dropzone-prompt p{margin:0;font-size:.9rem;color:var(--color-text-secondary, #666)}.browse-link{color:var(--color-primary, #8b6f47);font-weight:500;text-decoration:underline}.dropzone-hint{font-size:.8rem!important;color:var(--color-text-tertiary, #999)!important}.file-selected{display:flex;align-items:center;gap:12px}.file-selected>svg{flex-shrink:0;color:var(--ct-success-text)}.file-info{flex:1;text-align:left;min-width:0}.file-name{display:block;font-weight:500;color:var(--ct-success-text);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{display:block;font-size:.8rem;color:var(--ct-success-text-secondary)}.file-remove{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--ct-error-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.file-remove:hover{background:var(--ct-error-bg)}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.placeholder-icon{margin-bottom:16px;color:var(--color-text-tertiary, #999)}.placeholder-content p{margin:0 0 8px;font-size:.9rem;color:var(--color-text-secondary, #666);max-width:400px}.placeholder-hint{font-size:.8rem!important;color:var(--color-text-tertiary, #999)!important;font-style:italic}.upload-import-step .step-actions,.upload-placeholder-step .step-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--color-border, #e0e0e0);margin-top:8px}@media (max-width: 600px){.integration-path-toggle{display:flex;width:100%}.path-toggle-btn{flex:1;justify-content:center;padding:10px 12px;font-size:.8rem}.instruction-step{gap:12px}.instruction-number{width:28px;height:28px;font-size:.8rem}.file-dropzone{padding:24px 16px}}.parse-action{margin-bottom:20px;text-align:center}.parse-action .primary-button{display:inline-flex;align-items:center;gap:8px}.loading-spinner.small{width:16px;height:16px;border-width:2px}.column-mapping-section{margin-bottom:24px}.column-mapping-section h3{font-size:1rem;font-weight:600;margin:0 0 4px;color:var(--color-text-primary, #1a1a1a)}.mapping-subtitle{font-size:.875rem;color:var(--color-text-secondary, #666);margin:0 0 16px}.column-mapping-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.mapping-card{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px}.mapping-card-source,.mapping-card-target{display:flex;flex-direction:column;gap:2px;min-width:0}.mapping-card-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary, #999)}.mapping-card-arrow{color:var(--color-text-tertiary, #999);font-size:1.1rem;flex-shrink:0}.mapping-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.mapping-card .header-text{font-family:monospace;font-size:.8rem;background:var(--color-bg-secondary, #f5f0eb);padding:2px 6px;border-radius:4px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mapping-card .no-column{font-style:italic;color:var(--color-text-tertiary, #999);font-size:.85rem}.match-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.match-badge.keyword{background:var(--ct-success-bg);color:var(--ct-success-text)}.match-badge.fuzzy{background:var(--ct-warning-bg);color:var(--ct-warning-text)}.match-badge.defaulted{background:var(--ct-info-bg);color:var(--ct-info-text)}.match-badge.appended{background:#f3e8ff;color:#6b21a8}.mapping-note{font-size:.8rem;color:var(--color-text-tertiary, #999);font-style:italic}.skipped-columns{margin-bottom:16px;font-size:.85rem}.skipped-columns summary{cursor:pointer;color:var(--color-text-secondary, #666);padding:8px 0}.skipped-columns summary:hover{color:var(--color-text-primary, #333)}.skipped-columns ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px}.skipped-columns li{font-size:.75rem;background:var(--color-bg-secondary, #f5f0eb);padding:2px 8px;border-radius:4px;color:var(--color-text-tertiary, #999);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-section{margin-bottom:16px}.preview-section h4{font-size:.9rem;font-weight:600;margin:0 0 12px;color:var(--color-text-primary, #1a1a1a)}.preview-table-wrapper{overflow-x:auto;border:1px solid var(--color-border, #e0e0e0);border-radius:8px}.preview-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:500px}.preview-table thead{background:var(--color-bg-secondary, #f5f0eb)}.preview-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:.75rem;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.03em}.preview-table td{padding:8px 12px;border-top:1px solid var(--color-border, #e0e0e0)}.preview-table .desc-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.mapping-card{grid-template-columns:1fr;gap:8px}.mapping-card-arrow{text-align:center}.mapping-card-meta{align-items:flex-start;flex-direction:row;gap:8px}.mapping-card .mapping-note{display:none}}.upload-mapping-section{margin-bottom:24px}.upload-mapping-section h3{font-size:1rem;font-weight:600;margin:0 0 4px;color:var(--color-text-primary, #1a1a1a)}.upload-mapping-list{display:flex;flex-direction:column;gap:12px}.upload-mapping-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px}.mapping-source{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.mapping-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-tertiary, #999);letter-spacing:.03em;flex-shrink:0}.mapping-value{font-weight:500;color:var(--color-text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-count{font-size:.8rem;color:var(--color-text-tertiary, #999);flex-shrink:0}.mapping-arrow{color:var(--color-text-tertiary, #999);font-size:1.1rem;flex-shrink:0}.mapping-target{flex:1;min-width:0}.mapping-datalist-input{width:100%;padding:8px 12px;border:1px solid #d6c7b4;border-radius:6px;font-size:.875rem;background:#fff;color:#1f2426}.mapping-datalist-input::placeholder{color:#999}.mapping-datalist-input:focus{outline:2px solid var(--color-primary, #8b6f47);outline-offset:-1px}.mapping-target select:focus,.scope-select:focus{outline:2px solid var(--color-primary, #8b6f47);outline-offset:-1px}.upload-mapping-item-stacked{border:1px solid var(--color-border, #e0e0e0);border-radius:8px;overflow:hidden;background:#fff}.upload-mapping-item-stacked .upload-mapping-item{border:none;border-radius:0}.inline-scope-row{display:flex;align-items:center;gap:12px;padding:8px 16px 12px;border-top:1px dashed var(--color-border, #e0e0e0);background:var(--color-bg-secondary, #fafaf8)}.inline-scope-row .mapping-label{flex-shrink:0}.scope-select{flex:1;padding:6px 10px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:.85rem;background-color:#fff;color:#333;color-scheme:light;cursor:pointer}.scope-select option{background-color:#fff;color:#333}.upload-review-table{font-size:.8rem}.upload-review-table th{position:sticky;top:0;z-index:1}.upload-review-table tr.default-hours{background:#fffbeb}.hours-cell{cursor:pointer;min-width:60px}.hours-value{padding:2px 8px;border-radius:4px;font-weight:500}.hours-value.default{background:var(--ct-warning-bg);color:var(--ct-warning-text)}.hours-value.custom{background:var(--ct-success-bg);color:var(--ct-success-text)}.hours-input{width:60px;padding:4px 8px;border:2px solid var(--color-primary, #8b6f47);border-radius:4px;font-size:.85rem;text-align:center}.hours-input:focus{outline:none}.match-badge.uploaded{background:var(--ct-info-bg);color:var(--ct-info-text)}.match-badge.validated{background:var(--ct-success-bg);color:var(--ct-success-text)}.match-badge.approved{background:#dcfce7;color:#166534}.match-badge.committed{background:#e0e7ff;color:#3730a3}.match-badge.rejected{background:var(--ct-error-bg);color:var(--ct-error-text)}.review-group{margin-bottom:24px}.review-group-title{font-size:.95rem;font-weight:600;margin:0 0 8px;padding:8px 12px;border-radius:6px}.review-group-title.ready{color:var(--ct-success-text);background:var(--ct-success-bg)}.review-group-title.unresolved{color:var(--ct-warning-text);background:var(--ct-warning-bg)}.review-group-hint{font-weight:400;font-size:.8rem;color:var(--color-text-tertiary, #999)}.unresolved-table{opacity:.7}.unresolved-row{background:#fef3c7}.unresolved-summary{border:1px solid var(--ct-warning-border, #fcd34d);border-radius:8px;padding:16px;margin-bottom:16px;background:var(--ct-warning-bg-light, #fffbeb)}.unresolved-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.unresolved-summary-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem;color:var(--ct-warning-text)}.unresolved-summary-header h3 svg{stroke:var(--ct-warning-accent);flex-shrink:0}.unresolved-summary-header .secondary-button{font-size:.8rem;padding:6px 12px;flex-shrink:0}.unresolved-summary-hint{font-size:.8rem;color:var(--color-text-secondary, #666);margin:0 0 12px}.unresolved-badge{background:var(--ct-warning-bg)!important;color:var(--ct-warning-text)!important;font-size:.7rem;margin-right:4px}@media (max-width: 600px){.upload-mapping-item{flex-direction:column;align-items:stretch;gap:8px}.mapping-arrow{text-align:center}.upload-review-table{font-size:.7rem}.hours-cell{min-width:50px}}.create-new-btn{border:none;background:none;color:var(--color-primary, #8b6f47);font-size:.85rem;font-weight:500;cursor:pointer;padding:4px 0}.create-new-btn:hover{text-decoration:underline}.create-crew-form{padding:12px 16px;border-top:1px dashed var(--color-border, #e0e0e0);background:var(--color-bg-secondary, #fafaf8)}.create-crew-hint{font-size:.8rem;color:var(--color-text-secondary, #666);margin:0 0 12px;font-style:italic}.create-crew-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.create-crew-field label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary, #666);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.create-crew-field.crew-field-full{grid-column:1 / -1}.create-crew-actions{display:flex;gap:8px;justify-content:flex-end}.create-crew-actions .primary-button,.create-crew-actions .secondary-button{padding:6px 14px;font-size:.8rem}.resolve-progress{margin-bottom:16px}.resolve-progress-bar{height:6px;background:var(--color-border, #e0e0e0);border-radius:3px;overflow:hidden;margin-bottom:6px}.resolve-progress-fill{height:100%;background:var(--color-primary, #8b6f47);border-radius:3px;transition:width .3s ease}.resolve-progress-label{font-size:.8rem;color:var(--color-text-secondary, #666)}.crew-select-or-create{display:flex;align-items:center;gap:8px;grid-column:1 / -1}.crew-select-or-create select,.crew-select-or-create input{flex:1}.input-dimmed{opacity:.4;pointer-events:none}.crew-or-divider{font-size:.8rem;color:var(--color-text-tertiary, #999);flex-shrink:0;font-style:italic}.create-crew-context{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.context-tags{display:flex;flex-wrap:wrap;gap:4px}.context-tag{font-size:.75rem;padding:2px 8px;border-radius:12px;background:var(--ct-info-bg, #f0f9ff);color:var(--ct-info-text, #1e40af);white-space:nowrap}@media (max-width: 600px){.create-crew-fields{grid-template-columns:1fr}.crew-select-or-create{flex-direction:column}}.ct-adv-page{max-width:1200px;margin:0 auto;padding:1.5rem}.ct-adv-breadcrumb{margin-bottom:1rem}.ct-adv-back-link{color:var(--brand-color, #2563eb);text-decoration:none;font-size:.875rem;font-weight:500}.ct-adv-back-link:hover{text-decoration:underline}.ct-adv-title{font-size:1.5rem;font-weight:600;margin:0 0 1.25rem;color:var(--text-primary, #111827)}.ct-adv-error{padding:1.5rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;text-align:center;color:#991b1b}.ct-adv-retry-btn{margin-top:.75rem;padding:.5rem 1rem;background:var(--brand-color, #2563eb);color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.ct-adv-retry-btn:hover{background:#1d4ed8}.ct-adv-accordion{display:flex;flex-direction:column;gap:.5rem}.ct-adv-section{border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;overflow:hidden}.ct-adv-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:none;background:var(--surface-color, #f9fafb);cursor:pointer;font-weight:600;font-size:.9375rem;color:var(--text-primary, #111827);text-align:left;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.ct-adv-header:hover{background:#f3f4f6}.ct-adv-header--open{background:#f3f4f6;border-bottom:1px solid var(--border-color, #e5e7eb)}.ct-adv-header:focus-visible{outline:2px solid var(--brand-color, #2563eb);outline-offset:-2px;border-radius:2px}.ct-adv-icon{font-size:.75rem;width:1rem;text-align:center;transition:transform .2s cubic-bezier(.4,0,.2,1)}.ct-adv-label{flex:1}.ct-adv-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}.ct-adv-content--open{max-height:3000px;opacity:1;padding:1.25rem}@media (max-width: 959px){.ct-adv-page{padding:1rem .75rem}.ct-adv-title{font-size:1.25rem}.ct-adv-header{min-height:44px;padding:.75rem 1rem}.ct-adv-content--open{padding:1rem}}.ct-batches-page{max-width:1200px;margin:0 auto;padding:1.5rem}.ct-batches-breadcrumb{margin-bottom:1rem}.ct-batches-back-link{color:var(--brand-color, #2563eb);text-decoration:none;font-size:.875rem;font-weight:500}.ct-batches-back-link:hover{text-decoration:underline}.ct-batches-title{font-size:1.5rem;font-weight:600;margin:0 0 1.25rem;color:var(--text-primary, #111827)}@media (max-width: 959px){.ct-batches-page{padding:1rem .75rem}.ct-batches-title{font-size:1.25rem}}.ct-ts-page{max-width:1200px;margin:0 auto;padding:1.5rem}.ct-ts-breadcrumb{margin-bottom:1rem}.ct-ts-back-link{color:var(--brand-color, #2563eb);text-decoration:none;font-size:.875rem;font-weight:500}.ct-ts-back-link:hover{text-decoration:underline}.ct-ts-title{font-size:1.5rem;font-weight:600;margin:0 0 1.25rem;color:var(--text-primary, #111827)}.ct-ts-warning{padding:.75rem 1rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.875rem;margin-bottom:1rem}.ct-ts-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:1.5rem}.ct-ts-tab{padding:.75rem 1.5rem;border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);font-weight:500;font-size:.9375rem;color:var(--text-secondary, #6b7280);white-space:nowrap}.ct-ts-tab:hover{color:var(--text-primary, #111827)}.ct-ts-tab--active{border-bottom-color:var(--brand-color, #2563eb);color:var(--brand-color, #2563eb)}.ct-ts-tab:focus-visible{outline:2px solid var(--brand-color, #2563eb);outline-offset:-2px;border-radius:2px}.ct-ts-panel{min-height:300px}@media (max-width: 959px){.ct-ts-page{padding:1rem .75rem}.ct-ts-title{font-size:1.25rem}.ct-ts-tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ct-ts-tab-bar::-webkit-scrollbar{display:none}.ct-ts-tab{min-height:44px;flex-shrink:0;padding:.75rem 1rem}}.emp-mappings-page{min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.emp-mappings-container{max-width:960px;margin:0 auto}.emp-icon{background:var(--color-primary-light, #e8f0fe);color:var(--color-primary, #1a73e8)}.emp-mappings-page .error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:24px;color:#991b1b}.emp-mappings-page .error-banner svg{flex-shrink:0}.emp-mappings-page .error-banner span{flex:1}.emp-mappings-page .error-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;color:#991b1b;opacity:.7;transition:opacity .15s}.emp-mappings-page .error-banner .close-button:hover{opacity:1}.emp-mappings-page .mapping-stats{display:flex;gap:16px;margin-bottom:24px}.emp-mappings-page .stat-item{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e0e0e0);flex:1}.emp-mappings-page .stat-number{font-size:1.75rem;font-weight:700}.emp-mappings-page .stat-label{font-size:.8125rem;color:var(--color-text-secondary, #666);margin-top:4px}.emp-mappings-page .stat-mapped .stat-number{color:#16a34a}.emp-mappings-page .stat-unmapped .stat-number{color:#ea580c}.emp-mappings-page .stat-qb .stat-number{color:#1a73e8}.emp-mappings-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.emp-mappings-page .section-header h2{margin:0}.emp-mappings-page .section-description{margin:0 0 16px;font-size:.875rem;color:var(--color-text-secondary, #666)}.emp-mappings-page .save-all-button{display:inline-flex;align-items:center;padding:8px 20px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.emp-mappings-page .save-all-button:hover:not(:disabled){background:#15803d}.emp-mappings-page .save-all-button:disabled{opacity:.6;cursor:not-allowed}.emp-mappings-page .mapping-table{background:#fff;border-radius:8px;border:1px solid var(--color-border, #e0e0e0);overflow:hidden}.emp-mappings-page .mapping-table-header{display:grid;grid-template-columns:1fr 40px 1fr 80px 90px;gap:8px;padding:12px 16px;background:var(--color-bg-secondary, #f9f9f9);border-bottom:1px solid var(--color-border, #e0e0e0);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary, #666);letter-spacing:.05em}.emp-mappings-page .mapping-row{display:grid;grid-template-columns:1fr 40px 1fr 80px 90px;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f0f0f0);align-items:center;transition:background .1s}.emp-mappings-page .mapping-row:last-child{border-bottom:none}.emp-mappings-page .mapping-row:hover{background:#fafbfc}.emp-mappings-page .mapping-row.has-suggestion{background:#fffbeb}.emp-mappings-page .mapping-row.has-suggestion:hover{background:#fef3c7}.emp-mappings-page .mapping-row.mapped{background:#f0fdf4}.emp-mappings-page .mapping-row.mapped:hover{background:#dcfce7}.emp-mappings-page .col-crew{display:flex;flex-direction:column;gap:2px}.emp-mappings-page .crew-name{font-weight:500;color:var(--color-text-primary, #333)}.emp-mappings-page .crew-email{font-size:.75rem;color:var(--color-text-tertiary, #999)}.emp-mappings-page .col-arrow{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary, #999)}.emp-mappings-page .mapping-row.mapped .col-arrow{color:#16a34a}.emp-mappings-page .qb-name{font-weight:500;color:var(--color-text-primary, #333)}.emp-mappings-page .col-match,.emp-mappings-page .col-action{display:flex;align-items:center;justify-content:center}.emp-mappings-page .qb-select{width:100%;padding:8px 12px;border:1px solid var(--color-border, #d0d0d0);border-radius:6px;font-size:.875rem;background:#fff;color:var(--color-text-primary, #333);cursor:pointer}.emp-mappings-page .qb-select:focus{outline:none;border-color:var(--color-primary, #1a73e8);box-shadow:0 0 0 2px #1a73e826}.emp-mappings-page .match-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.emp-mappings-page .match-high{background:#dcfce7;color:#166534}.emp-mappings-page .match-medium{background:#fef3c7;color:#92400e}.emp-mappings-page .match-active{background:#dcfce7;color:#166534}.emp-mappings-page .match-stale{background:#fef3c7;color:#92400e}.emp-mappings-page .save-button{padding:6px 16px;background:var(--color-primary, #1a73e8);color:#fff;border:none;border-radius:5px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.emp-mappings-page .save-button:hover:not(:disabled){background:#1557b0}.emp-mappings-page .save-button:disabled{opacity:.5;cursor:not-allowed}.emp-mappings-page .delete-button{padding:6px 12px;background:transparent;color:#dc2626;border:1px solid #fca5a5;border-radius:5px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.emp-mappings-page .delete-button:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.emp-mappings-page .delete-button:disabled{opacity:.5;cursor:not-allowed}.emp-mappings-page .import-button{padding:6px 16px;background:#7c3aed;color:#fff;border:none;border-radius:5px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.emp-mappings-page .import-button:hover:not(:disabled){background:#6d28d9}.emp-mappings-page .import-button:disabled{opacity:.5;cursor:not-allowed}.emp-mappings-page .match-missing{background:#f3e8ff;color:#6b21a8}.emp-mappings-page .all-mapped-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-weight:500}.emp-mappings-page .empty-state{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.emp-mappings-page .empty-state p{margin:0 0 16px;color:var(--color-text-secondary, #666)}@media (max-width: 768px){.emp-mappings-page{padding:16px}.emp-mappings-page .mapping-stats{flex-wrap:wrap}.emp-mappings-page .mapping-table-header{display:none}.emp-mappings-page .mapping-row{display:flex;flex-direction:column;gap:8px;padding:16px}.emp-mappings-page .col-arrow{transform:rotate(90deg)}.emp-mappings-page .col-match,.emp-mappings-page .col-action{justify-content:flex-start}}.time-mappings-page{min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.time-mappings-container{max-width:960px;margin:0 auto}.time-icon{background:#ede9fe;color:#7c3aed}.tab-nav{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--color-border, #e0e0e0)}.tab-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary, #666);cursor:pointer;transition:color .15s,border-color .15s}.tab-button:hover{color:var(--color-text-primary, #333)}.tab-button.tab-active{color:#7c3aed;border-bottom-color:#7c3aed}.tab-button.tab-active svg{color:#7c3aed}.time-mappings-page .error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:24px;color:#991b1b}.time-mappings-page .error-banner svg{flex-shrink:0}.time-mappings-page .error-banner span{flex:1}.time-mappings-page .error-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;color:#991b1b;opacity:.7;transition:opacity .15s}.time-mappings-page .error-banner .close-button:hover{opacity:1}.time-mappings-page .mapping-stats{display:flex;gap:16px;margin-bottom:24px}.time-mappings-page .stat-item{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e0e0e0);flex:1}.time-mappings-page .stat-number{font-size:1.75rem;font-weight:700}.time-mappings-page .stat-label{font-size:.8125rem;color:var(--color-text-secondary, #666);margin-top:4px}.time-mappings-page .stat-mapped .stat-number{color:#16a34a}.time-mappings-page .stat-unmapped .stat-number{color:#ea580c}.time-mappings-page .stat-qb .stat-number{color:#7c3aed}.time-mappings-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.time-mappings-page .section-header h2{margin:0}.time-mappings-page .section-description{margin:0 0 16px;font-size:.875rem;color:var(--color-text-secondary, #666)}.time-mappings-page .save-all-button{display:inline-flex;align-items:center;padding:8px 20px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.time-mappings-page .save-all-button:hover:not(:disabled){background:#15803d}.time-mappings-page .save-all-button:disabled{opacity:.6;cursor:not-allowed}.time-mappings-page .mapping-table{background:#fff;border-radius:8px;border:1px solid var(--color-border, #e0e0e0);overflow:hidden}.time-mappings-page .mapping-table-header{display:grid;grid-template-columns:1fr 40px 1fr 80px 90px;gap:8px;padding:12px 16px;background:var(--color-bg-secondary, #f9f9f9);border-bottom:1px solid var(--color-border, #e0e0e0);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary, #666);letter-spacing:.05em}.time-mappings-page .mapping-row{display:grid;grid-template-columns:1fr 40px 1fr 80px 90px;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #f0f0f0);align-items:center;transition:background .1s}.time-mappings-page .mapping-row:last-child{border-bottom:none}.time-mappings-page .mapping-row:hover{background:#fafbfc}.time-mappings-page .mapping-row.has-suggestion{background:#faf5ff}.time-mappings-page .mapping-row.has-suggestion:hover{background:#f3e8ff}.time-mappings-page .mapping-row.mapped{background:#f0fdf4}.time-mappings-page .mapping-row.mapped:hover{background:#dcfce7}.time-mappings-page .col-crew{display:flex;flex-direction:column;gap:2px}.time-mappings-page .crew-name{font-weight:500;color:var(--color-text-primary, #333)}.time-mappings-page .crew-email{font-size:.75rem;color:var(--color-text-tertiary, #999)}.time-mappings-page .col-arrow{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary, #999)}.time-mappings-page .mapping-row.mapped .col-arrow{color:#16a34a}.time-mappings-page .qb-name{font-weight:500;color:var(--color-text-primary, #333)}.time-mappings-page .col-match,.time-mappings-page .col-action{display:flex;align-items:center;justify-content:center}.time-mappings-page .qb-select{width:100%;padding:8px 12px;border:1px solid var(--color-border, #d0d0d0);border-radius:6px;font-size:.875rem;background:#fff;color:var(--color-text-primary, #333);cursor:pointer}.time-mappings-page .qb-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.time-mappings-page .match-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.time-mappings-page .match-high{background:#dcfce7;color:#166534}.time-mappings-page .match-medium{background:#fef3c7;color:#92400e}.time-mappings-page .match-active{background:#dcfce7;color:#166534}.time-mappings-page .match-stale{background:#fef3c7;color:#92400e}.time-mappings-page .save-button{padding:6px 16px;background:#7c3aed;color:#fff;border:none;border-radius:5px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.time-mappings-page .save-button:hover:not(:disabled){background:#6d28d9}.time-mappings-page .save-button:disabled{opacity:.5;cursor:not-allowed}.time-mappings-page .delete-button{padding:6px 12px;background:transparent;color:#dc2626;border:1px solid #fca5a5;border-radius:5px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.time-mappings-page .delete-button:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.time-mappings-page .delete-button:disabled{opacity:.5;cursor:not-allowed}.time-mappings-page .add-mapping-form{display:flex;align-items:flex-end;gap:16px;padding:20px;background:#fff;border-radius:8px;border:1px solid var(--color-border, #e0e0e0)}.time-mappings-page .form-field{flex:1;display:flex;flex-direction:column;gap:6px}.time-mappings-page .form-field label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary, #666);letter-spacing:.05em}.time-mappings-page .form-arrow{display:flex;align-items:center;justify-content:center;padding-bottom:8px;color:var(--color-text-tertiary, #999)}.time-mappings-page .form-save{white-space:nowrap;padding:8px 20px}.time-mappings-page .all-mapped-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-weight:500}.time-mappings-page .sync-link-button{margin-left:auto;padding:6px 16px;background:#166534;color:#fff;border-radius:6px;text-decoration:none;font-size:.875rem;font-weight:500;white-space:nowrap}.time-mappings-page .sync-link-button:hover{background:#14532d}.time-mappings-page .empty-state{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.time-mappings-page .empty-state p{margin:0 0 16px;color:var(--color-text-secondary, #666)}@media (max-width: 768px){.time-mappings-page{padding:16px}.tab-nav{gap:0}.tab-button{padding:10px 16px;font-size:.875rem}.time-mappings-page .mapping-stats{flex-wrap:wrap}.time-mappings-page .mapping-table-header{display:none}.time-mappings-page .mapping-row{display:flex;flex-direction:column;gap:8px;padding:16px}.time-mappings-page .col-arrow{transform:rotate(90deg)}.time-mappings-page .col-match,.time-mappings-page .col-action{justify-content:flex-start}.time-mappings-page .add-mapping-form{flex-direction:column;align-items:stretch}.time-mappings-page .form-arrow{transform:rotate(90deg);padding:8px 0}}.labor-qb-sync-page{max-width:1600px;margin:0 auto;padding:0 1.5rem 2rem}.labor-qb-sync-page .page-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:1.5rem}.labor-qb-sync-page .header-left .back-link{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted, #6b7280);text-decoration:none;font-size:.875rem}.labor-qb-sync-page .header-left .back-link:hover{color:var(--color-primary, #2563eb)}.labor-qb-sync-page .header-center{text-align:center}.labor-qb-sync-page .page-title{margin:0;font-size:1.75rem;font-weight:600}.labor-qb-sync-page .page-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .connection-status{font-size:.875rem}.labor-qb-sync-page .connection-status.connected{color:var(--color-success, #10b981)}.labor-qb-sync-page .connection-status.disconnected{color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-subtle, #f9fafb);border-radius:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.labor-qb-sync-page .toolbar-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.labor-qb-sync-page .filter-select{padding:.5rem .75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;background:#fff;font-size:.875rem}.labor-qb-sync-page .filter-select:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.labor-qb-sync-page .date-range-filter{display:flex;align-items:center;gap:.5rem}.labor-qb-sync-page .date-input{padding:.5rem .75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;font-size:.875rem}.labor-qb-sync-page .date-input:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.labor-qb-sync-page .date-separator{color:var(--color-text-muted, #6b7280);font-size:.875rem}.labor-qb-sync-page .toolbar-actions{display:flex;align-items:center;gap:.75rem}.labor-qb-sync-page .selection-count{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .btn-primary{padding:.5rem 1rem;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer}.labor-qb-sync-page .btn-primary:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.labor-qb-sync-page .btn-primary:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.labor-qb-sync-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.labor-qb-sync-page .btn-secondary{padding:.5rem 1rem;background:#fff;color:var(--color-text, #1f2937);border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;font-size:.875rem;cursor:pointer}.labor-qb-sync-page .btn-secondary:hover:not(:disabled){background:var(--color-bg-subtle, #f9fafb)}.labor-qb-sync-page .btn-secondary:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.labor-qb-sync-page .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.labor-qb-sync-page .btn-success{padding:.5rem 1rem;background:var(--color-success, #10b981);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer}.labor-qb-sync-page .btn-success:hover:not(:disabled){background:var(--color-success-hover, #059669)}.labor-qb-sync-page .btn-success:focus{outline:2px solid var(--color-success, #10b981);outline-offset:2px}.labor-qb-sync-page .btn-success:disabled{opacity:.5;cursor:not-allowed}.labor-qb-sync-page .btn-text{background:none;border:none;color:var(--color-primary, #2563eb);cursor:pointer;text-decoration:underline}.labor-qb-sync-page .btn-retry{padding:.375rem .75rem;background:var(--color-warning, #f59e0b);color:#fff;border:none;border-radius:.375rem;font-size:.75rem;cursor:pointer}.labor-qb-sync-page .error-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-danger-subtle, #fef2f2);color:var(--color-danger, #dc2626);border-radius:.5rem;margin-bottom:1rem}.labor-qb-sync-page .empty-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .week-group{margin-bottom:1.5rem;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;overflow:hidden}.labor-qb-sync-page .week-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-bg-subtle, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.labor-qb-sync-page .week-header-left{display:flex;align-items:center;gap:.75rem}.labor-qb-sync-page .week-label{margin:0;font-size:1rem;font-weight:600}.labor-qb-sync-page .week-summary{display:flex;gap:1.5rem}.labor-qb-sync-page .week-stat{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .job-group{border-bottom:1px solid var(--color-border, #e5e7eb)}.labor-qb-sync-page .job-group:last-child{border-bottom:none}.labor-qb-sync-page .job-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg, white)}.labor-qb-sync-page .job-name{font-weight:500;color:var(--color-primary, #2563eb);text-decoration:none}.labor-qb-sync-page .job-name:hover{text-decoration:underline}.labor-qb-sync-page .job-number{font-weight:400;color:var(--color-text-muted, #6b7280);margin-left:.25rem}.labor-qb-sync-page .job-summary{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .entries-table{width:100%;border-collapse:collapse;font-size:.875rem}.labor-qb-sync-page .entries-table th{text-align:left;padding:.5rem 1rem;background:var(--color-bg-subtle, #f9fafb);font-weight:500;color:var(--color-text-muted, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb)}.labor-qb-sync-page .entries-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.labor-qb-sync-page .entries-table tr.selected{background:var(--color-primary-subtle, #eff6ff)}.labor-qb-sync-page .entries-table tr:hover{background:var(--color-bg-subtle, #f9fafb)}.labor-qb-sync-page .col-checkbox{width:40px}.labor-qb-sync-page .col-date{width:100px}.labor-qb-sync-page .col-hours .overtime{font-size:.75rem;color:var(--color-warning, #f59e0b);margin-left:.25rem}.labor-qb-sync-page .col-status{display:flex;align-items:center;gap:.5rem}.labor-qb-sync-page .error-tooltip{cursor:help;color:var(--color-danger, #dc2626);font-size:.75rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.labor-qb-sync-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.labor-qb-sync-page .qb-sync-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.labor-qb-sync-page .badge-muted{background:var(--color-bg-subtle, #f3f4f6);color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .badge-info{background:var(--color-primary-subtle, #dbeafe);color:var(--color-primary, #2563eb)}.labor-qb-sync-page .badge-success{background:var(--color-success-subtle, #d1fae5);color:var(--color-success, #059669)}.labor-qb-sync-page .badge-danger{background:var(--color-danger-subtle, #fee2e2);color:var(--color-danger, #dc2626)}.labor-qb-sync-page .badge-warning{background:var(--color-warning-subtle, #fef3c7);color:var(--color-warning-dark, #b45309)}.sync-status-panel{background:#fff;border-radius:.5rem;box-shadow:0 10px 40px #0003;overflow:hidden}.sync-status-panel.minimized{width:auto!important}.sync-status-panel .panel-drag-handle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-primary, #2563eb);color:#fff;-webkit-user-select:none;user-select:none}.sync-status-panel .panel-drag-handle:focus{outline:2px solid white;outline-offset:-2px}.sync-status-panel .drag-icon{font-size:1rem;opacity:.7}.sync-status-panel .panel-title{flex:1;font-weight:500}.sync-status-panel .panel-controls{display:flex;gap:.25rem}.sync-status-panel .panel-control-btn{width:24px;height:24px;border:none;background:#fff3;color:#fff;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.sync-status-panel .panel-control-btn:hover{background:#ffffff4d}.sync-status-panel .panel-control-btn:focus{outline:2px solid white;outline-offset:1px}.sync-status-panel .panel-content{padding:1rem;max-height:400px;overflow-y:auto}.sync-status-panel .sync-progress-section{margin-bottom:1rem}.sync-status-panel .sync-progress-section h4{margin:0 0 .5rem;font-size:.875rem}.sync-status-panel .progress-bar-container{height:8px;background:var(--color-bg-subtle, #e5e7eb);border-radius:4px;overflow:hidden}.sync-status-panel .progress-bar-fill{height:100%;background:var(--color-success, #10b981);transition:width .3s ease}.sync-status-panel .progress-stats{display:flex;gap:1rem;margin-top:.5rem;font-size:.75rem}.sync-status-panel .progress-stats .stat.success{color:var(--color-success, #10b981)}.sync-status-panel .progress-stats .stat.error{color:var(--color-danger, #dc2626)}.sync-status-panel .current-job{margin:.5rem 0 0;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.sync-status-panel .failed-entries-alert{padding:.75rem;background:var(--color-danger-subtle, #fef2f2);border-radius:.375rem;margin-bottom:1rem}.sync-status-panel .alert-header{display:flex;align-items:center;gap:.5rem;color:var(--color-danger, #dc2626);font-size:.875rem;margin-bottom:.5rem}.sync-status-panel .activity-feed h4{margin:0 0 .5rem;font-size:.875rem}.sync-status-panel .no-activity{color:var(--color-text-muted, #6b7280);font-size:.75rem}.sync-status-panel .activity-list{list-style:none;padding:0;margin:0}.sync-status-panel .activity-item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.75rem;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.sync-status-panel .activity-item:last-child{border-bottom:none}.sync-status-panel .activity-item.synced .activity-icon{color:var(--color-success, #10b981)}.sync-status-panel .activity-item.failed .activity-icon{color:var(--color-danger, #dc2626)}.sync-status-panel .activity-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-status-panel .activity-time{color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .rate-adjustment-form{padding:1rem}.labor-qb-sync-page .modal-description{margin:0 0 1rem;color:var(--color-text-muted, #6b7280)}.labor-qb-sync-page .form-group{margin-bottom:1rem}.labor-qb-sync-page .form-group label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.875rem}.labor-qb-sync-page .form-group input[type=number]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;font-size:.875rem}.labor-qb-sync-page .form-group input[type=number]:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.labor-qb-sync-page .checkbox-group label{display:flex;align-items:center;gap:.5rem;font-weight:400}.labor-qb-sync-page .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.labor-qb-sync-page .permission-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.labor-qb-sync-page .permission-denied h2{margin:0 0 .5rem}.labor-qb-sync-page .permission-denied p{margin:0 0 1rem;color:var(--color-text-muted, #6b7280)}@media (max-width: 768px){.labor-qb-sync-page .toolbar{flex-direction:column;align-items:stretch}.labor-qb-sync-page .toolbar-filters,.labor-qb-sync-page .toolbar-actions{flex-wrap:wrap}.labor-qb-sync-page .page-header{flex-direction:column;gap:.5rem}.labor-qb-sync-page .entries-table{font-size:.75rem}.labor-qb-sync-page .entries-table th,.labor-qb-sync-page .entries-table td{padding:.5rem}}.procore-settings-page{min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.procore-settings-container{max-width:800px;margin:0 auto}.procore-settings-page .header-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#fef3e6;border-radius:12px;color:#f57d20;flex-shrink:0}.procore-sync-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.procore-stat-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:10px;text-align:center}.procore-stat-card .stat-value{font-size:2rem;font-weight:700;color:#f57d20;line-height:1;margin-bottom:6px}.procore-stat-card .stat-label{font-size:.8125rem;color:var(--color-text-secondary, #666);font-weight:500}.procore-sync-section{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#fef3e6,#fde5cc);border:1px solid #fbbf6a;border-radius:8px;gap:24px}.procore-sync-info h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:#92400e}.procore-sync-info p{margin:0;font-size:.875rem;color:#b45309;line-height:1.5}.procore-sync-result{margin-top:8px;font-weight:500}.procore-sync-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#f57d20;color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.procore-sync-button:hover:not(:disabled){background:#d96a10}.procore-sync-button:disabled{opacity:.6;cursor:not-allowed}.procore-badges{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.procore-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8125rem;font-weight:500}.procore-badge.pending{background:#fef3c7;color:#92400e}.procore-badge.errors{background:#fee2e2;color:#991b1b}.procore-settings-page .breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:.875rem}.procore-settings-page .breadcrumb a{color:var(--color-primary, #1a73e8);text-decoration:none}.procore-settings-page .breadcrumb a:hover{text-decoration:underline}.procore-settings-page .breadcrumb .separator{color:var(--color-text-tertiary, #999)}.procore-settings-page .breadcrumb .current{color:var(--color-text-secondary, #666)}.procore-settings-page .page-header{margin-bottom:32px}.procore-settings-page .header-content{display:flex;align-items:flex-start;gap:16px}.procore-settings-page .page-header h1{margin:0 0 8px;font-size:1.75rem;font-weight:600;color:var(--color-text-primary, #333)}.procore-settings-page .page-description{margin:0;color:var(--color-text-secondary, #666);line-height:1.5}.procore-settings-page .success-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-success-light, #e8f5e9);border:1px solid var(--color-success, #4caf50);border-radius:8px;margin-bottom:24px;color:var(--color-success-dark, #2e7d32)}.procore-settings-page .success-banner svg{flex-shrink:0}.procore-settings-page .success-banner span{flex:1}.procore-settings-page .success-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;color:var(--color-success-dark, #2e7d32);opacity:.7;transition:opacity .15s}.procore-settings-page .success-banner .close-button:hover{opacity:1}.procore-settings-page .settings-section{margin-bottom:32px}.procore-settings-page .settings-section h2{font-size:1.125rem;font-weight:600;margin:0 0 16px;color:var(--color-text-primary, #333)}.procore-settings-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.procore-settings-page .loading-spinner{width:32px;height:32px;border:3px solid var(--color-border, #e0e0e0);border-top-color:#f57d20;border-radius:50%;animation:procore-spin .8s linear infinite;margin-bottom:12px}@keyframes procore-spin{to{transform:rotate(360deg)}}.procore-settings-page .loading-state span{color:var(--color-text-secondary, #666)}.procore-settings-page .help-section{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px}.procore-settings-page .help-section h2{margin-top:0}.procore-settings-page .help-content{display:flex;flex-direction:column;gap:20px}.procore-settings-page .help-item h3{font-size:.9375rem;font-weight:600;margin:0 0 8px;color:var(--color-text-primary, #333)}.procore-settings-page .help-item p{margin:0;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.6}.procore-settings-page .help-item ul{margin:0;padding-left:20px;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.8}.procore-settings-page .help-item ul strong{color:var(--color-text-primary, #333)}.procore-settings-page .permission-denied{text-align:center;padding:64px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.procore-settings-page .permission-denied h2{margin:0 0 16px;color:var(--color-text-primary, #333)}.procore-settings-page .permission-denied p{margin:0 0 8px;color:var(--color-text-secondary, #666)}.procore-settings-page .permission-denied .secondary-button{display:inline-block;margin-top:24px;padding:10px 20px;background:var(--color-bg-secondary, #f0f0f0);border:1px solid var(--color-border, #ddd);border-radius:6px;color:var(--color-text-primary, #333);text-decoration:none;font-weight:500}.procore-settings-page .permission-denied .secondary-button:hover{background:var(--color-bg-tertiary, #e8e8e8)}@media (max-width: 640px){.procore-settings-page{padding:16px}.procore-settings-page .header-content{flex-direction:column;align-items:center;text-align:center}.procore-settings-page .page-header h1{font-size:1.5rem}.procore-sync-stats{grid-template-columns:1fr}.procore-sync-section{flex-direction:column;text-align:center}.procore-sync-button{width:100%;justify-content:center}}.teams-settings-page{min-height:100vh;background:var(--color-bg-primary, #f5f5f5);padding:24px}.teams-settings-container{max-width:900px;margin:0 auto}.teams-icon{background:#eef2ff!important;color:#6366f1!important}.connection-card{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px}.connection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.connection-info{display:flex;flex-direction:column;gap:8px}.connection-actions{display:flex;gap:8px;flex-shrink:0}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:16px;font-size:.8125rem;font-weight:600}.status-active{background:#dcfce7;color:#166534}.status-consented{background:#fef9c3;color:#854d0e}.status-error{background:#fee2e2;color:#991b1b}.status-revoked,.status-pending{background:#f3f4f6;color:#6b7280}.team-name{font-size:1rem;font-weight:500;color:var(--color-text-primary, #333)}.setup-hint{font-size:.8125rem;color:var(--color-text-secondary, #666)}.sync-stats{display:flex;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border, #e0e0e0);flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:12px 16px;border-radius:8px}.stat-synced{background:#f0fdf4}.stat-pending{background:#fffbeb}.stat-failed{background:#fef2f2}.stat-skipped{background:#f5f3ff}.stat-total{background:#f0f9ff}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.stat-synced .stat-value{color:#166534}.stat-pending .stat-value{color:#92400e}.stat-failed .stat-value{color:#991b1b}.stat-skipped .stat-value{color:#5b21b6}.stat-total .stat-value{color:#0369a1}.stat-label{font-size:.75rem;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.last-error{margin-top:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.875rem;color:#991b1b}.error-time{color:#b91c1c;font-size:.8125rem}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border:1px solid #ef4444;border-radius:8px;margin-bottom:24px;color:#991b1b}.error-banner svg{flex-shrink:0}.error-banner span{flex:1}.error-banner .close-button{padding:4px;background:none;border:none;cursor:pointer;color:#991b1b;opacity:.7;transition:opacity .15s}.error-banner .close-button:hover{opacity:1}.connect-form-card{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px}.form-description{margin:0 0 24px;color:var(--color-text-secondary, #666);line-height:1.5}.connect-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #333)}.form-group input[type=text]{padding:10px 14px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;font-size:.9375rem;transition:border-color .15s}.form-group input[type=text]:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.form-hint{font-size:.8125rem;color:var(--color-text-tertiary, #999);line-height:1.6}.form-hint a{color:#6366f1;text-decoration:underline}.form-hint a:hover{color:#4f46e5}.form-hint code{background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:.75rem;color:var(--color-text-secondary, #666)}.checkbox-group label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.teams-primary-button{display:inline-flex;align-items:center;padding:10px 20px;background:#6366f1;color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.teams-primary-button:hover:not(:disabled){background:#4f46e5}.teams-primary-button:disabled{opacity:.6;cursor:not-allowed}.teams-secondary-button{display:inline-flex;align-items:center;padding:10px 20px;background:var(--color-bg-secondary, #f0f0f0);color:var(--color-text-primary, #333);font-size:.875rem;font-weight:500;border:1px solid var(--color-border, #ddd);border-radius:8px;cursor:pointer;text-decoration:none;transition:background .15s}.teams-secondary-button:hover:not(:disabled){background:var(--color-bg-tertiary, #e8e8e8)}.teams-danger-button{display:inline-flex;align-items:center;padding:10px 20px;background:#ef4444;color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.teams-danger-button:hover:not(:disabled){background:#dc2626}.teams-danger-button:disabled{opacity:.6;cursor:not-allowed}.sync-actions-card{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);padding:24px}.sync-controls{margin-top:16px}.sync-job-row{display:flex;align-items:flex-end;gap:12px}.sync-job-select{flex:1}.sync-job-select label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #555);margin-bottom:6px}.sync-job-select{position:relative}.custom-select-trigger{width:100%;padding:10px 12px;border:1px solid var(--color-border, #d0d0d0);border-radius:8px;font-size:.9rem;background:#fff;color:#1a1a1a;cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-align:left;font-family:inherit}.custom-select-trigger:hover{border-color:#9b8fdb}.custom-select-trigger:disabled{opacity:.6;cursor:not-allowed}.custom-select-trigger .select-placeholder{color:#777}.custom-select-trigger .select-value{color:#1a1a1a}.custom-select-trigger .select-chevron{font-size:.65rem;color:#666;margin-left:8px}.custom-select-options{position:absolute;top:100%;left:0;right:0;z-index:50;margin:4px 0 0;padding:4px 0;list-style:none;background:#fff!important;color:#1a1a1a!important;border:1px solid var(--color-border, #d0d0d0);border-radius:8px;box-shadow:0 4px 12px #0000001f;max-height:240px;overflow-y:auto}.custom-select-option{padding:10px 14px;font-size:.9rem;color:#1a1a1a!important;background:#fff!important;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-select-option:hover{background:#f0edff!important;color:#1a1a1a!important}.custom-select-option.selected{background:#e8e4ff!important;color:#1a1a1a!important;font-weight:500}.sync-divider{display:flex;align-items:center;margin:16px 0;gap:12px}.sync-divider:before,.sync-divider:after{content:"";flex:1;border-top:1px solid var(--color-border, #e0e0e0)}.sync-divider span{font-size:.8rem;color:var(--color-text-tertiary, #888);text-transform:uppercase;letter-spacing:.05em}.sync-all-button{width:100%}.sync-all-hint{margin:8px 0 0;font-size:.8rem;color:var(--color-text-tertiary, #888);text-align:center}.retry-card{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:8px;gap:24px}.retry-info h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:#991b1b}.retry-info p{margin:0;font-size:.875rem;color:#b91c1c;line-height:1.5}.teams-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.teams-modal-card{background:#fff;border-radius:12px;padding:24px;max-width:440px;width:90%;box-shadow:0 25px 50px -12px #00000040}.teams-modal-card h3{margin:0 0 12px;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333)}.teams-modal-card p{margin:0 0 24px;font-size:.875rem;color:var(--color-text-secondary, #666);line-height:1.6}.teams-modal-actions{display:flex;gap:12px;justify-content:flex-end}.channels-table-wrapper{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);overflow:hidden}.channels-table{width:100%;border-collapse:collapse}.channels-table th{text-align:left;padding:12px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #666);background:var(--color-bg-secondary, #fafafa);border-bottom:1px solid var(--color-border, #e0e0e0)}.channels-table td{padding:12px 16px;font-size:.875rem;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #f0f0f0)}.channels-table tr:last-child td{border-bottom:none}.channel-job{font-weight:500}.channel-docs{text-align:center}.channel-sync-time{color:var(--color-text-secondary, #666);font-size:.8125rem}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-row h2{margin:0}.filter-select{padding:6px 12px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:.8125rem;background:#fff}.sync-log-table-wrapper{background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0);overflow:hidden}.sync-log-table{width:100%;border-collapse:collapse}.sync-log-table th{text-align:left;padding:12px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #666);background:var(--color-bg-secondary, #fafafa);border-bottom:1px solid var(--color-border, #e0e0e0)}.sync-log-table td{padding:10px 16px;font-size:.8125rem;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #f0f0f0)}.sync-log-table tr:last-child td{border-bottom:none}.log-doc-title a{color:var(--color-primary, #6366f1);text-decoration:none}.log-doc-title a:hover{text-decoration:underline}.log-error{color:var(--color-text-secondary, #999);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-status-badge{display:inline-flex;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.sync-synced{background:#dcfce7;color:#166534}.sync-pending{background:#fef9c3;color:#854d0e}.sync-syncing{background:#dbeafe;color:#1e40af}.sync-failed{background:#fee2e2;color:#991b1b}.sync-skipped{background:#f3f4f6;color:#6b7280}.sync-log-more{padding:12px 16px;margin:0;font-size:.8125rem;color:var(--color-text-secondary, #666);text-align:center;background:var(--color-bg-secondary, #fafafa);border-top:1px solid var(--color-border, #e0e0e0)}.teams-permission-denied{text-align:center;padding:64px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.teams-permission-denied h2{margin:0 0 16px;color:var(--color-text-primary, #333)}.teams-permission-denied p{margin:0 0 8px;color:var(--color-text-secondary, #666)}.teams-permission-denied .teams-secondary-button{display:inline-block;margin-top:24px}.empty-state{text-align:center;padding:32px 24px;background:#fff;border-radius:12px;border:1px solid var(--color-border, #e0e0e0)}.empty-state p{margin:0;color:var(--color-text-secondary, #666)}@media (max-width: 640px){.teams-settings-page{padding:16px}.connection-header{flex-direction:column}.connection-actions{width:100%}.connection-actions button{flex:1}.sync-stats{justify-content:center}.retry-card{flex-direction:column;text-align:center}.form-actions{flex-direction:column}.section-header-row{flex-direction:column;align-items:flex-start;gap:12px}.channels-table-wrapper,.sync-log-table-wrapper{overflow-x:auto}}.training-library-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px;max-width:1400px;margin:0 auto}@media (max-width: 959px){.training-library-layout{grid-template-columns:1fr;padding:16px;gap:16px}}.training-library-main{min-width:0}.training-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.training-library-header h1{font-size:1.5rem;font-weight:600;color:var(--ink);margin:0}.training-search-bar{display:flex;gap:8px}.training-search-input-wrapper{position:relative;flex:1}.training-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--clay);pointer-events:none}.training-search-input{width:100%;padding:10px 36px;border:1px solid var(--clay);border-radius:var(--radius, 8px);font-size:.95rem;background:var(--card);color:var(--ink)}.training-search-input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #3b82f626}.training-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:var(--clay);cursor:pointer;padding:4px 8px;line-height:1}.training-search-button{white-space:nowrap;min-width:100px}.training-search-wrapper{margin-bottom:20px}.training-search-wrapper .training-search-bar{margin-bottom:6px}.training-search-hint{margin:0;font-size:.8rem;color:var(--clay);font-style:italic}.training-qa-chat{margin-bottom:24px}.training-qa-history{max-height:500px;overflow-y:auto;padding:16px;background:var(--sand);border-radius:var(--radius, 8px);margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.training-qa-message{display:flex}.training-qa-user{justify-content:flex-end}.training-qa-user-bubble{background:var(--sky);color:#fff;border-radius:16px 16px 4px;padding:10px 16px;max-width:80%}.training-qa-label{font-size:.75rem;opacity:.8;display:block;margin-bottom:2px}.training-qa-text{margin:0;line-height:1.6;font-size:.92rem;white-space:pre-wrap}.training-qa-ai-bubble{background:var(--card);border:1px solid #e2e8f0;border-radius:16px 16px 16px 4px;padding:14px 16px;max-width:90%;box-shadow:0 1px 3px #0000000f}.training-qa-ai-bubble.training-qa-error{border-color:#fecaca;background:#fef2f2}.training-qa-ai-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:#1d4ed8;font-size:.85rem}.training-qa-sources{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.training-qa-sources-label{font-size:.78rem;font-weight:600;color:var(--clay);display:block;margin-bottom:6px}.training-qa-source-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.training-qa-source-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ink)}.training-qa-source-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--sky);color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.training-qa-source-clickable{cursor:pointer;padding:4px 6px;border-radius:4px;transition:background .15s}.training-qa-source-clickable:hover{background:var(--sand)}.training-qa-source-clickable:hover .training-qa-source-title{color:var(--sky);text-decoration:underline}.training-qa-source-active{background:var(--sand)}.training-qa-source-chevron{font-size:.65rem;color:var(--clay);margin-left:auto;flex-shrink:0}.training-qa-source-entry{display:flex;flex-direction:column}.training-qa-source-excerpt{background:var(--card);border:1px solid #e2e8f0;border-radius:6px;padding:12px;margin:4px 0 8px 28px;animation:training-qa-expand .2s ease-out}@keyframes training-qa-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:400px}}.training-qa-excerpt-category{display:inline-block;font-size:.72rem;background:var(--sand);color:var(--clay);padding:2px 8px;border-radius:4px;margin-bottom:8px}.training-qa-excerpt-text{font-size:.85rem;line-height:1.65;color:var(--ink);max-height:200px;overflow-y:auto;white-space:pre-wrap;padding:8px;background:var(--sand);border-radius:4px}.training-qa-excerpt-actions{display:flex;justify-content:flex-end;margin-top:8px}.training-qa-excerpt-viewfull{font-size:.8rem;color:var(--sky)}.training-qa-source-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-qa-source-score{font-size:.72rem;color:var(--clay);flex-shrink:0}.training-qa-feedback{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.training-qa-feedback small{color:var(--clay);margin-right:4px}.training-qa-typing{display:flex;gap:4px;padding:12px 20px}.training-qa-dot{width:8px;height:8px;border-radius:50%;background:var(--clay);animation:training-qa-bounce 1.4s infinite ease-in-out both}.training-qa-dot:nth-child(1){animation-delay:-.32s}.training-qa-dot:nth-child(2){animation-delay:-.16s}@keyframes training-qa-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.training-qa-input-form{display:flex;gap:8px;align-items:center}.training-qa-lang-toggle{display:flex;border:1px solid var(--clay);border-radius:var(--radius, 8px);overflow:hidden;flex-shrink:0}.training-qa-lang-btn{padding:8px 10px;border:none;background:var(--card);color:var(--ink);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;line-height:1}.training-qa-lang-btn:first-child{border-right:1px solid var(--clay)}.training-qa-lang-btn.active{background:var(--ink);color:var(--card)}.training-qa-lang-btn:hover:not(.active){background:var(--clay)}.training-qa-input-wrapper{position:relative;flex:1}.training-qa-input{width:100%;padding:12px 36px 12px 16px;border:1px solid var(--clay);border-radius:var(--radius, 8px);font-size:.95rem;background:var(--card);color:var(--ink);box-sizing:border-box}.training-qa-input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #3b82f626}.training-qa-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:var(--clay);cursor:pointer;padding:4px 8px;line-height:1}.training-qa-submit{white-space:nowrap;min-width:100px}.training-results-heading{font-size:.95rem;font-weight:600;color:var(--ink);margin:0 0 12px}.training-ai-answer{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius, 8px);padding:16px;margin-bottom:20px}.training-ai-answer-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#1d4ed8}.training-ai-answer-text{margin:0 0 8px;color:var(--ink);line-height:1.6}.training-ai-answer-sources{color:var(--clay);margin-bottom:8px}.training-ai-answer-feedback{display:flex;align-items:center;gap:4px}.training-ai-answer-feedback small{color:var(--clay);margin-right:4px}.training-star-button{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--clay);padding:2px;line-height:1;min-width:28px;min-height:28px}.training-star-button.active{color:#f59e0b}.training-feedback-saved{color:#16a34a;margin-left:8px;font-weight:500}.training-category-tree{background:var(--card);border-radius:var(--radius, 8px);box-shadow:var(--shadow);padding:16px 0;max-height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:80px}.training-category-heading{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--clay);padding:0 16px 12px;margin:0}.training-category-item{display:block;width:100%;text-align:left;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--ink);transition:background .15s;min-height:44px;display:flex;align-items:center}.training-category-item:hover{background:var(--sand)}.training-category-item.active{background:var(--sky);color:#fff;font-weight:500}.training-category-division{font-weight:600;font-size:.85rem;gap:8px;border-top:1px solid var(--sand);margin-top:4px;padding-top:10px}.training-category-division:first-of-type{border-top:none;margin-top:0}.training-category-code{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;background:var(--clay);color:var(--card, #fff);font-size:.72rem;font-weight:700;border-radius:4px;flex-shrink:0;margin-right:8px}.training-category-division.active .training-category-code{background:#ffffff4d;color:#fff}.training-category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-category-mobile{margin-bottom:16px}.training-category-select{width:100%;padding:10px 12px;border:1px solid var(--clay);border-radius:var(--radius, 8px);font-size:.95rem;background:var(--card);color:var(--ink);min-height:44px}.training-category-select optgroup{font-weight:600;color:var(--ink);font-size:.9rem}.training-category-select option{font-weight:400;padding:4px 8px}.training-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 959px){.training-resource-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 479px){.training-resource-grid{grid-template-columns:1fr}}.training-resource-card{cursor:pointer;transition:box-shadow .2s,transform .15s;display:flex;flex-direction:column;overflow:hidden}.training-resource-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.training-card-thumbnail{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#f1f5f9}.training-card-thumbnail img{width:100%;height:100%;object-fit:cover}.training-card-body{padding:12px 16px 16px;flex:1;display:flex;flex-direction:column}.training-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.training-card-type-icon{font-size:1.2rem}.training-card-title{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-card-description{margin:0 0 8px;font-size:.82rem;color:var(--clay);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.training-card-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.78rem;color:var(--clay);margin-top:auto}.training-card-category{background:var(--sand);padding:2px 8px;border-radius:4px}.training-card-actions{display:flex;gap:8px;margin-top:8px}.training-card-delete{color:#dc2626!important;font-size:.82rem}.training-card-retry{color:var(--sky)!important;font-size:.82rem}.training-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--clay);text-align:center;gap:12px}.training-skeleton{padding:20px 16px;display:flex;flex-direction:column;gap:12px}.training-skeleton-bar{background:linear-gradient(90deg,var(--sand) 25%,#e2e8f0 50%,var(--sand) 75%);background-size:200% 100%;animation:training-shimmer 1.5s infinite;border-radius:4px}@keyframes training-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.training-upload-form{padding:20px;margin-bottom:20px}.training-upload-heading{font-size:1rem;font-weight:600;margin:0 0 16px;color:var(--ink)}.training-upload-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--sand);border-radius:var(--radius, 8px);padding:4px}.training-upload-tab{flex:1;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:calc(var(--radius, 8px) - 2px);font-size:.85rem;font-weight:500;color:var(--clay);transition:background .15s,color .15s;min-height:44px}.training-upload-tab.active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0000001a}.training-file-info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--ink, #2d2a26);color:var(--card, #fff);font-size:.7rem;font-weight:700;font-style:italic;cursor:pointer;vertical-align:middle;transition:opacity .15s}.training-file-info-icon:hover{opacity:.75}.training-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.training-modal-content{background:var(--card, #fff);border-radius:var(--radius, 8px);padding:24px;max-width:380px;width:90%;box-shadow:0 8px 32px #0003}.training-modal-content h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--ink)}.training-file-types-table{width:100%;border-collapse:collapse;margin-bottom:12px}.training-file-types-table th{text-align:left;font-size:.8rem;color:var(--clay);padding:4px 8px;border-bottom:1px solid var(--sand, #eee)}.training-file-types-table td{padding:6px 8px;font-size:.85rem;color:var(--ink)}.training-file-types-table code{background:var(--sand, #f5f5f5);padding:2px 6px;border-radius:4px;font-size:.8rem}.training-file-types-note{font-size:.8rem;color:var(--clay);margin:0}.training-drop-zone{border:2px dashed var(--clay);border-radius:var(--radius, 8px);padding:32px 16px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:12px;color:var(--clay);min-height:44px}.training-drop-zone:hover,.training-drop-zone.active{border-color:var(--sky);background:#eff6ff}.training-drop-zone.has-file{border-style:solid;border-color:var(--sky);background:#f0fdf4}.training-input{display:block;width:100%;padding:10px 12px;border:1px solid var(--clay);border-radius:var(--radius, 8px);font-size:.9rem;background:var(--card);color:var(--ink);margin-bottom:12px;box-sizing:border-box;min-height:44px}.training-input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 2px #3b82f626}.training-textarea{resize:vertical;min-height:60px}.training-upload-error{color:#dc2626;font-size:.85rem;margin:0 0 8px}.training-upload-submit{width:100%}.training-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px}.training-detail-modal{background:var(--card);border-radius:var(--radius, 8px);box-shadow:0 8px 32px #0003;max-width:720px;width:100%;max-height:85vh;overflow-y:auto;padding:24px}@media (max-width: 479px){.training-detail-overlay{align-items:flex-end;padding:0}.training-detail-modal{border-radius:var(--radius, 8px) var(--radius, 8px) 0 0;max-height:90vh;width:100%;max-width:100%}}.training-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.training-detail-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink)}.training-detail-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--clay);padding:4px 8px;line-height:1;flex-shrink:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.training-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.training-detail-type,.training-detail-category{background:var(--sand);padding:4px 10px;border-radius:4px;font-size:.82rem;color:var(--ink)}.training-detail-description{color:var(--ink);line-height:1.6;margin:0 0 16px}.training-detail-info{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--clay);margin-bottom:16px}.training-detail-link{color:var(--sky);text-decoration:none}.training-detail-link:hover{text-decoration:underline}.training-detail-video{margin-bottom:16px}.training-detail-video iframe{width:100%;aspect-ratio:16 / 9;border:none;border-radius:var(--radius, 8px)}.training-detail-content{margin-bottom:16px}.training-detail-content h3{font-size:.9rem;font-weight:600;color:var(--ink);margin:0 0 8px}.training-detail-content-body{background:var(--sand);padding:16px;border-radius:var(--radius, 8px);font-size:.9rem;line-height:1.6;max-height:300px;overflow-y:auto;white-space:pre-wrap}.training-detail-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius, 8px);padding:16px;margin-bottom:16px;color:#dc2626}.training-detail-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--sand)}.training-detail-doc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;padding:12px 16px;background:var(--sand);border-radius:var(--radius, 8px)}.training-doc-button{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;text-decoration:none;padding:8px 16px;min-height:40px}.training-doc-loading{font-size:.85rem;color:var(--clay);font-style:italic}.training-doc-unavailable{font-size:.85rem;color:var(--clay)}.training-detail-pdf-viewer{margin-bottom:16px;border:1px solid var(--clay);border-radius:var(--radius, 8px);overflow:hidden}.training-pdf-iframe{width:100%;height:500px;border:none}@media (max-width: 479px){.training-pdf-iframe{height:350px}}.status-pill.danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.training-storage-usage{display:flex;align-items:center;gap:10px;flex-shrink:0}.training-storage-bar-container{width:120px;height:10px;background:var(--sand, #e8e0d4);border:1px solid var(--clay, #8a7e72);border-radius:5px;overflow:hidden}.training-storage-bar-fill{height:100%;background:var(--accent, #b47a4e);border-radius:4px;transition:width .3s ease}.training-storage-bar-fill.warning{background:#f59e0b}.training-storage-bar-fill.danger{background:#dc2626}.training-storage-label{font-size:.82rem;color:var(--ink, #2d2a26);font-weight:500;white-space:nowrap}.training-upload-heading-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;position:relative}.training-upload-heading-row .training-upload-heading{margin:0}.training-info-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--ink, #2d2a26);color:var(--card, #fff);font-size:.75rem;font-weight:700;font-style:italic;cursor:pointer;transition:opacity .15s;flex-shrink:0}.training-info-icon:hover{opacity:.75}.training-info-tooltip{position:absolute;top:32px;left:0;z-index:50;background:var(--card, #fff);border:1px solid var(--sand, #e8e0d4);border-radius:var(--radius, 8px);padding:16px;box-shadow:0 4px 16px #0000001f;width:320px;font-size:.85rem;color:var(--ink, #2d2a26);line-height:1.5}.training-info-tooltip p{margin:0 0 8px}.training-info-tooltip p:last-of-type{margin-bottom:0}.training-transcript-section{margin-bottom:12px}.training-transcript-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap;gap:4px}.training-transcript-label{font-size:.85rem;font-weight:500;color:var(--ink, #2d2a26);display:flex;align-items:center;gap:6px}.training-transcript-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:var(--sand, #e8e0d4);color:var(--clay, #8a7e72)}.training-transcript-help-toggle{font-size:.78rem;padding:4px 8px;min-height:auto}.training-transcript-steps{font-size:.82rem;color:var(--ink, #2d2a26);line-height:1.6;margin:0 0 8px;background:var(--sand, #e8e0d4);border-radius:var(--radius, 8px);padding:12px 12px 12px 32px}.training-transcript-steps li{margin-bottom:4px}.training-transcript-steps li:last-child{margin-bottom:0}.training-transcript-textarea{min-height:48px;transition:min-height .2s ease}.training-transcript-note{font-size:.78rem;color:var(--clay, #8a7e72);margin:4px 0 0;font-style:italic}.training-purpose-section{margin:12px 0}.training-purpose-label-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;position:relative}.training-purpose-label{font-size:.82rem;font-weight:600;color:var(--ink, #2d2a26)}.training-ai-tooltip{top:24px;left:0;right:auto;max-width:280px}.training-purpose-toggle{display:flex;gap:4px;border-radius:var(--radius, 8px);background:var(--sand, #e8e0d4);padding:3px}.training-purpose-btn{flex:1;padding:6px 10px;font-size:.8rem;font-weight:400;border:none;border-radius:6px;cursor:pointer;background:transparent;color:var(--clay, #8a7e72);transition:all .15s ease;white-space:nowrap}.training-purpose-btn.active{background:#fff;color:var(--ink, #2d2a26);font-weight:600;box-shadow:0 1px 3px #0000001f}.training-purpose-btn--ai.active{background:#0d9488;color:#fff}.training-also-human-label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--ink, #2d2a26);margin-top:6px;cursor:pointer}.training-category-required{margin:0}.training-category-hint{font-size:.78rem;color:#0f766e;margin:0 0 4px;font-style:italic}.training-input--required{border-color:#0d9488!important}.training-ai-classification{background:#f0fdfa;border:1px solid #99f6e4;border-radius:var(--radius, 8px);padding:12px;margin:8px 0}.training-ai-classification-heading{font-size:.8rem;font-weight:700;color:#0f766e;margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}.training-field-label{display:block;font-size:.8rem;font-weight:600;color:var(--ink, #2d2a26);margin:8px 0 4px}.training-field-hint{font-weight:400;color:var(--clay, #8a7e72)}.training-required-star{color:#ef4444;margin-left:2px}.training-verdict-group{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}.training-verdict-option{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink, #2d2a26);cursor:pointer}.training-tag-input-row{display:flex;gap:6px;align-items:center}.training-tag-input{flex:1}.training-tag-add-btn{white-space:nowrap;font-size:.8rem;padding:6px 10px}.training-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.training-tag{display:inline-flex;align-items:center;gap:4px;background:#ccfbf1;color:#0f766e;border-radius:999px;padding:2px 10px 2px 8px;font-size:.78rem;font-weight:500}.training-tag-remove{background:none;border:none;cursor:pointer;color:#0d9488;font-size:1rem;line-height:1;padding:0;display:flex;align-items:center}.training-tag-remove:hover{color:#ef4444}.training-ai-ref-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:.7rem;font-weight:600;white-space:nowrap}.training-ai-ref-badge--correct{background:#ccfbf1;color:#0f766e}.training-ai-ref-badge--deficiency{background:#fef9c3;color:#854d0e}.training-ai-ref-badge--safety_concern{background:#fee2e2;color:#991b1b}:root{color-scheme:light;--ink: #1f2426;--steel: #4c5457;--sand: #f4efe6;--clay: #dfd2c1;--rust: #b45a3c;--sage: #5d7b6a;--sky: #416c86;--sun: #e1b452;--danger: #b74232;--warning: #c7882b;--success: #3f7b59;--info: #3a6c8e;--muted: #8a8f92;--card: #fdfbf7;--shadow: 0 14px 32px rgba(41, 36, 30, .12);--radius: 18px;--accent-color: #b45a3c;--accent-color-hover: #9a4a30;--header-bg: #fdfbf7;--badge-color: #5d7b6a}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}body{margin:0;font-family:Work Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 10%,#fbf5eb 0%,var(--sand) 45%,#efe4d2 100%);min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{overflow-x:hidden;max-width:100vw}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(180,90,60,.07) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}.app-shell{padding:24px}@media (max-width: 959px){.app-shell{padding:12px}}.page{display:flex;flex-direction:column;gap:24px}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.logo-mark{display:flex;align-items:center;gap:16px}.logo-chip{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--rust),#d98b67);color:#fffaf2;font-family:Bebas Neue,Impact,sans-serif;font-size:22px;letter-spacing:1px}.header-logo-image{width:56px;height:56px;border-radius:16px;object-fit:contain;background-color:#fff}.header-logo-image.full-logo{width:auto;max-width:min(300px,40vw);height:48px;border-radius:8px;background-color:transparent}.logo-edit-indicator{margin-left:8px;display:flex;align-items:center}.tenant-name{margin:0;font-family:Bebas Neue,Impact,sans-serif;font-size:32px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.edit-indicator{opacity:0;transition:opacity .2s ease;color:var(--muted)}.logo-mark.editable:hover .edit-indicator{opacity:1}.logo-mark.editable:hover{background:#b45a3c14;border-radius:12px;margin:-8px;padding:8px}.eyebrow{margin:0 0 4px;text-transform:uppercase;font-size:12px;letter-spacing:2px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px}.user-menu{display:flex;align-items:center;gap:10px;padding-left:12px;border-left:1px solid rgba(255,255,255,.2);margin-left:8px}.user-name{font-size:14px;font-weight:500;color:#ffffffe6;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#1a1a2e}.logout-button{display:inline-flex;align-items:center;justify-content:center;padding:8px;min-height:36px;min-width:36px;border-radius:50%;background:#ffffff1a;color:#fffc;border:none;cursor:pointer;transition:background .2s,color .2s}.logout-button:hover{background:#fff3;color:#fff}.sso-prompt{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#4f46e5;border:1px solid #4338ca;color:#fff;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.sso-prompt:hover{background:#4338ca;border-color:#3730a3;color:#fff}.sso-prompt svg{flex-shrink:0}.sso-prompt-text{line-height:1}.sso-prompt-dismiss{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:2px;border:none;border-radius:50%;background:#ffffff1a;color:#fff9;font-size:14px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.sso-prompt-dismiss:hover{background:#fff3;color:#fff}@media (max-width: 959px){.sso-prompt{display:none}}@media (max-width: 959px){.app-shell,.page{max-width:100%;overflow-x:hidden}.job-list{min-width:0;max-width:100%}.page.dashboard{padding-bottom:80px}.header{padding:12px 16px;gap:6px;flex-wrap:wrap;justify-content:center}.logo-mark{gap:10px;min-width:0;flex:1 1 100%;overflow:hidden;justify-content:center}.sso-prompt{display:none}.logo-chip{width:44px;height:44px;font-size:18px;flex-shrink:0}.tenant-name{font-size:18px;word-break:break-word}.eyebrow{font-size:10px;letter-spacing:1px}.header-actions{gap:8px;flex-wrap:nowrap;align-items:center;flex-direction:row;justify-content:center;flex:1 1 100%}.header-actions .ghost-button,.header-actions .primary-button,.settings-link,.logout-button{min-height:44px;min-width:44px;touch-action:manipulation}.header-actions .primary-button{padding:10px 14px;font-size:13px}.user-menu .user-name{display:none}.user-menu{gap:8px;padding-left:8px;margin-left:4px}}@media (max-width: 599px){.settings-link{display:none}.header-actions .primary-button{padding:8px 12px;font-size:12px}.user-menu{border-left:none;padding-left:6px;margin-left:2px}}@media (max-width: 479px){.header{padding:10px 12px}.logo-chip{width:40px;height:40px;font-size:16px;border-radius:12px}.tenant-name{font-size:16px}.eyebrow{display:none}.header-actions{gap:4px}.header-actions .primary-button{padding:8px 10px;font-size:12px}.settings-link{display:none}.user-menu{gap:6px;padding-left:6px;margin-left:2px;border-left:none}.logout-button{min-width:40px;min-height:40px;padding:6px}.user-role-badge{padding:3px 8px;font-size:10px}}.settings-link{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:var(--radius);color:var(--steel);transition:color .15s,background .15s}.settings-link:hover{color:var(--rust);background:var(--rust-subtle)}.primary-button,.ghost-button,.danger-button{border:none;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;min-height:44px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;touch-action:manipulation}.primary-button{background:var(--rust);color:#fffaf2;box-shadow:0 10px 20px #b45a3c3d}.primary-button:hover,.ghost-button:hover,.danger-button:hover{transform:translateY(-1px)}.ghost-button{background:transparent;color:var(--steel);border:1px solid #c5b9a8}.danger-button{background:#f4d6d1;color:var(--danger);border:1px solid #e3b0a8}.button-with-info{position:relative;display:inline-block}.takeoff-info-icon{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--sky, #3b82f6);color:#fff;border:2px solid white;font-size:12px;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;z-index:10;animation:pulse-info 2s ease-in-out infinite}@keyframes pulse-info{0%,to{transform:scale(1);box-shadow:0 2px 4px #0003}50%{transform:scale(1.5);box-shadow:0 4px 12px #3b82f666}}.takeoff-info-icon:hover{animation:none;transform:scale(1.5);box-shadow:0 4px 12px #3b82f666}.takeoff-info-icon:focus{outline:2px solid var(--sky, #3b82f6);outline-offset:2px}.takeoff-info-popover{position:absolute;top:calc(100% + 12px);right:0;min-width:320px;max-width:400px;background:var(--card, white);border:1px solid var(--clay, #e5e7eb);border-radius:var(--radius, 8px);box-shadow:0 8px 24px #00000026;z-index:200;animation:tooltip-fade-in .15s ease-out}.takeoff-info-popover:before{content:"";position:absolute;top:-8px;right:16px;border:8px solid transparent;border-bottom-color:var(--card, white);border-top:0}.takeoff-info-popover:after{content:"";position:absolute;top:-9px;right:15px;border:9px solid transparent;border-bottom-color:var(--clay, #e5e7eb);border-top:0;z-index:-1}.takeoff-info-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--clay, #e5e7eb);background:#3b82f60d;border-radius:var(--radius, 8px) var(--radius, 8px) 0 0}.takeoff-info-header strong{color:var(--sky, #3b82f6);font-size:15px}.takeoff-info-close{background:transparent;border:none;font-size:20px;color:var(--muted, #6b7280);cursor:pointer;padding:4px 8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:4px}.takeoff-info-close:hover{background:#0000000d;color:var(--ink, #1f2937)}.takeoff-info-steps{margin:0;padding:16px 16px 16px 36px;list-style-type:decimal;font-size:14px;line-height:1.6;color:var(--ink, #1f2937)}.takeoff-info-steps li{margin-bottom:8px;padding-left:4px}.takeoff-info-steps li:last-child{margin-bottom:0}.takeoff-info-steps strong{color:var(--sky, #3b82f6)}@media (max-width: 959px){.takeoff-info-popover{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);min-width:min(320px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.takeoff-info-popover:before,.takeoff-info-popover:after{display:none}}.section-card{background:var(--card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);max-width:100%;box-sizing:border-box}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-title{margin:0;font-size:20px}.section-subtitle{margin:8px 0 0;color:var(--muted)}@media (max-width: 959px){.section-card{padding:16px;border-radius:14px}.section-header{flex-wrap:wrap;gap:12px}.section-header>div:first-child{flex:1 1 100%}.section-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.section-title{font-size:18px}.section-subtitle{font-size:13px}}@media (max-width: 479px){.section-card{padding:12px;border-radius:12px}.section-title{font-size:16px}.section-header-actions{width:100%;justify-content:flex-start}}.status-pill{background:#e8f1f4;color:var(--info);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.warning{background:#fef3e0;color:var(--warning)}.scope-status-wrapper{display:inline-block;position:relative}.scope-status-btn{border:none;text-transform:capitalize;transition:filter .15s}.scope-status-btn:not(.locked):hover{filter:brightness(.92)}.pill-caret{margin-left:4px;font-size:10px;opacity:.6}.scope-status-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.scope-status-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:101;min-width:130px;padding:4px 0}.scope-status-option{display:block;width:100%;padding:8px 14px;border:none;background:none;text-align:left;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;position:relative;z-index:102}.scope-status-option:hover{background:#f3f4f6}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:20px}.kpi-grid-2{grid-template-columns:repeat(2,1fr);max-width:500px}.kpi-grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-grid-5{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi-grid-7{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.kpi-grid-6,.kpi-grid-5{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (max-width: 599px){.kpi-grid,.kpi-grid-4,.kpi-grid-5,.kpi-grid-6,.kpi-grid-7{grid-template-columns:repeat(2,1fr);gap:12px}.kpi-grid-2{max-width:100%}}.kpi-card{padding:16px;border-radius:16px;background:#f8f2e9;border:1px solid #efe3d3;min-height:110px;display:flex;flex-direction:column}@media (max-width: 599px){.kpi-card{padding:12px;min-height:90px}.kpi-value{font-size:20px}.kpi-label{font-size:11px}}.kpi-card[data-tone=danger]{border-color:#b7423266;background:#f9e7e3}.kpi-card[data-tone=warning]{border-color:#c7882b66;background:#fbefe0}.kpi-card[data-tone=success]{border-color:#3f7b5966;background:#e8f2ec}.kpi-card[data-tone=info]{border-color:#3a6c8e66;background:#e6eef3}.kpi-card[data-tone=muted]{border-color:#8a8f9266;background:#f1f1f1}.kpi-label{margin:0 0 6px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:1px}.kpi-value{margin:0;font-size:24px;font-weight:600}.kpi-helper{margin:6px 0 0;color:var(--muted);font-size:12px}.kpi-sublabel{margin:8px 0 2px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.kpi-subvalue{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.kpi-card--has-tooltip{cursor:help;border-bottom:2px solid var(--sky)}.kpi-card--has-tooltip .kpi-label{color:var(--sky);text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:2px}.kpi-card--has-tooltip .kpi-value{color:var(--sky)}.kpi-card--skeleton{pointer-events:none}.skeleton-text{display:inline-block;background:linear-gradient(90deg,#e8e0d5 25%,#f0e8dd,#e8e0d5 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.skeleton-label{width:80px;height:13px}.skeleton-value{width:70px;height:24px}.skeleton-helper{width:100px;height:12px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.split-grid{display:grid;gap:24px;transition:grid-template-columns .3s ease}.split-panel{transition:opacity .3s ease,transform .3s ease;min-width:0;overflow:hidden}.split-panel-header{display:flex;justify-content:flex-end;margin-bottom:8px;min-height:28px}.expand-button{padding:4px 10px!important;font-size:12px!important;min-height:28px!important;opacity:.5;transition:opacity .2s ease;letter-spacing:-1px}.expand-button:hover{opacity:1}.split-panel--hidden{display:none}.split-panel--chat{display:flex;flex-direction:column}.split-panel--chat .chat-panel{flex:1}.overhead-control{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px;margin-bottom:12px;background:linear-gradient(135deg,#f8f5f0,#f0ebe3);border:1px solid #e0d6c8;border-radius:8px}.overhead-label{display:flex;align-items:center;gap:12px;cursor:pointer}.overhead-text{font-size:.875rem;color:#5c4a32;white-space:nowrap}.overhead-text strong{color:#3a2d1f;font-weight:600;min-width:32px;display:inline-block}.overhead-slider{width:120px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#d4c9b8;border-radius:3px;outline:none;cursor:pointer}.overhead-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#8b7355;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003;transition:background .2s,transform .2s}.overhead-slider::-webkit-slider-thumb:hover{background:#6b5842;transform:scale(1.1)}.overhead-slider::-moz-range-thumb{width:18px;height:18px;background:#8b7355;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.overhead-indicator{font-size:.75rem;color:#8b7355;font-style:italic;background:#8b73551a;padding:4px 8px;border-radius:4px}@media (max-width: 600px){.overhead-control{flex-direction:column;align-items:flex-start;gap:8px}.overhead-slider{width:100%}}.job-list-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.job-list-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.job-search-wrapper{position:relative;display:flex;align-items:center}.job-search-input{width:170px;padding:5px 28px 5px 10px;border:1px solid var(--border-light, #d4c8b8);border-radius:6px;font-size:.82rem;background:var(--color-surface, #fff);color:var(--text-color, #1a1a1a);outline:none;transition:border-color .2s,width .2s}.job-search-input:focus{border-color:var(--accent-color, #b8860b);width:220px}.job-search-input::placeholder{color:var(--text-muted, #6b7280)}.job-search-clear{position:absolute;right:4px;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-muted, #6b7280);padding:2px 6px;line-height:1;border-radius:50%}.job-search-clear:hover{color:var(--text-color, #1a1a1a);background:var(--border-light, #f0ece4)}.job-status-badge{display:inline-block;font-size:.68rem;font-weight:600;text-transform:capitalize;background:var(--border-light, #f0ece4);color:var(--text-muted, #6b7280);padding:1px 6px;border-radius:3px;letter-spacing:.02em}@media (max-width: 959px){.job-list-header{flex-direction:column;align-items:flex-start;gap:8px}.job-list-header-actions{width:100%;gap:8px;justify-content:flex-start}.job-list-header-actions .view-toggle-buttons{order:-1}.job-search-input{width:140px}.job-search-input:focus{width:180px}}.job-cards{display:grid;gap:16px}.job-card{text-align:left;border:1px solid #eadfcd;border-radius:16px;background:#fffaf2;padding:16px;cursor:pointer;min-height:120px}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.job-card h3{margin-bottom:4px}.job-name-overdue{color:#b63a3a;font-weight:700}.job-alert-icon{margin-right:6px;font-size:.95em;vertical-align:1px}.job-card-metric{text-align:right}.job-subline{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin-top:0}.job-card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px}.job-card-footer{margin-top:12px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.detail-label{display:block;color:var(--muted);font-size:12px}.detail-value{font-weight:600}@media (max-width: 959px){.job-cards{gap:10px}.job-card{padding:10px 12px;min-height:unset;border-radius:12px}.job-card-header{gap:8px}.job-card h3{font-size:15px;margin-bottom:1px}.job-subline{gap:8px;font-size:11px}.job-card-metric .detail-label{font-size:10px}.job-card-metric .detail-value{font-size:13px}.job-card-metric .detail-label+.detail-value+.detail-label{margin-top:4px}.job-card-details{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:6px;align-items:flex-start}.job-card-details>div:nth-child(2){margin-left:auto;text-align:right}.job-card-footer{margin-top:6px}}.job-table{display:grid;gap:8px}.job-table-row{display:grid;grid-template-columns:2.4fr 1fr 28px .5fr 1fr .8fr 1fr 1fr;gap:12px;align-items:center;padding:12px;border-radius:14px}.job-table-weekly .job-table-row{grid-template-columns:1fr 1fr repeat(7,.7fr) .8fr 1.2fr}.job-table-head{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.job-table-body{background:#fffaf2;border:1px solid #eadfcd;cursor:pointer;text-align:left}.job-table-body small{display:block;color:var(--muted)}.missing-material-warning{position:relative}.missing-material-triangle{position:absolute;top:-2px;right:-2px;font-size:12px;color:var(--warning);cursor:help;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.missing-material-triangle.clickable{cursor:pointer;transition:transform .15s ease,filter .15s ease}.missing-material-triangle.clickable:hover{transform:scale(1.3);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.job-table-body .missing-material-warning{background:#c7882b26;border-radius:3px;padding:2px 4px;margin:-2px -4px}.job-table-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.job-table-row>span:has(.tooltip-container),.job-table-row .data-cell-with-indicators,.job-table-row .tooltip-container{overflow:visible!important}.job-table-row .tooltip-container{position:relative}.job-table-row>span:first-child{white-space:normal;word-break:break-word;line-height:1.3}.job-table-wrapper{overflow-x:auto;overflow-y:visible;margin:0 -16px;padding:0 16px}.job-table--expanded .job-table-row{grid-template-columns:2fr .8fr 28px .5fr 1fr 1fr 1fr 1fr 1fr 1fr .9fr .9fr .8fr;min-width:1300px;gap:8px;font-size:13px}.job-table--expanded .job-table-head{font-size:11px;padding:8px 12px}.job-table--expanded .job-table-body{padding:10px 12px}.job-table--foreman .job-table-row{grid-template-columns:2.5fr 1fr .8fr 1fr}.mob-col-header{display:flex;align-items:center;justify-content:center;color:var(--muted)}.mob-col-cell{display:flex;align-items:center;justify-content:center;overflow:visible!important}.mob-calendar-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:color .15s,background .15s}.mob-calendar-btn:hover{color:var(--rust);background:#0000000d}.mob-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:1000;background:var(--card);border:1px solid var(--border, #eadfcd);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:320px;max-width:520px;max-height:400px;overflow-y:auto;padding:8px;margin-top:4px}.mob-dropdown-loading,.mob-dropdown-empty{padding:12px 16px;font-size:.8em;color:var(--muted);text-align:center;white-space:nowrap}.mob-dropdown-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;border-radius:6px;text-align:left;font-size:.95em;transition:background .1s}.mob-dropdown-row:hover{background:#0000000a}.mob-dropdown-date{font-weight:600;white-space:nowrap;color:var(--rust);min-width:80px}.mob-dropdown-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-dropdown-badge{background:var(--rust, #b45309);color:#fff;padding:1px 5px;border-radius:3px;font-size:.72em;font-weight:600;white-space:nowrap;flex-shrink:0}.mob-dropdown-row--co{border-left:3px solid var(--rust, #b45309)}.mob-dropdown-row--mob-period{border-left:3px solid var(--teal, #0d9488);background:#0d94880a}.mob-dropdown-status{font-size:.68em;font-weight:600;padding:1px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.02em}.mob-dropdown-status--planned{background:#3b82f61f;color:#2563eb}.mob-dropdown-status--confirmed{background:#10b9811f;color:#059669}.mob-dropdown-status--in_progress{background:#f59e0b26;color:#b45309}.mob-dropdown-status--completed{background:#6b72801f;color:#4b5563}.mob-dropdown-duration{font-size:.85em;color:var(--text-muted, #666);white-space:nowrap;flex-shrink:0}.mob-dropdown-row--labor-only{border-left:3px solid var(--muted, #8a8f92);background:#8a8f920d}.mob-dropdown-row--labor{padding-left:20px;padding-right:12px;font-size:.9em;border-left:2px solid var(--sky, #416c86);margin-left:12px;border-radius:0;background:#416c860d;display:flex;justify-content:space-between;align-items:center;gap:16px}.mob-dropdown-row--labor .mob-dropdown-date{font-weight:500;color:var(--text-muted, #666);flex-shrink:0}.mob-dropdown-row--labor .mob-dropdown-hours{flex-shrink:0;font-weight:600;font-size:.95em;color:var(--sky, #416c86);background:#416c861f;padding:2px 8px;border-radius:4px}.mob-dropdown-hours-remaining{margin-left:auto;font-size:.95em;font-weight:600;color:var(--rust, #b45309);white-space:nowrap;background:#b453091a;padding:2px 8px;border-radius:4px}.mob-dropdown-hours{margin-left:auto;font-size:.9em;font-weight:500;color:var(--sky, #416c86);white-space:nowrap}.job-table-row .align-right{text-align:right}.job-table-row .align-center{text-align:center}.job-table-summary{background:var(--rust);color:#fffaf2;font-weight:600;border:none}.job-table-summary small{color:#fffaf2b3}.job-table-summary .avg-value{font-size:11px;font-weight:500}.job-table-summary--top{border-bottom:2px solid rgba(255,250,242,.3)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;text-transform:capitalize}.status-active{background:#e3f0ea;color:var(--success)}.status-on-hold{background:#fff3cd;color:#856404}.status-completed{background:#e6eef3;color:var(--info)}.status-cancelled{background:#f8d7da;color:var(--danger)}.status-archived{background:#f0f0f0;color:var(--muted)}.open-pos-table{border-collapse:collapse}.open-pos-table th,.open-pos-table td{padding:10px 12px;text-align:left;vertical-align:middle}.open-pos-table-header{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted, #6b7280);border-bottom:2px solid var(--border-color, #eadfcd)}.open-pos-table-row{background:#fffaf2;border-bottom:1px solid #eadfcd;cursor:pointer;transition:background .15s ease}.open-pos-table-row:hover{background:#fdf3e0}.chat-panel{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.chat-embed{border:none;width:100%;height:800px;border-radius:16px;background:#f7f3ed}.chat-placeholder{padding:32px;text-align:center;border-radius:16px;border:1px dashed #d8cbb9;background:#f7f3ed;min-height:300px;display:flex;align-items:center;justify-content:center}.chat-placeholder-content{max-width:320px}.chat-placeholder-icon{font-size:48px;margin-bottom:16px}.chat-placeholder h3{margin:0 0 8px;font-size:18px}.chat-features-list{text-align:left;margin:24px 0;padding:16px;background:#fffaf2;border-radius:12px}.chat-features-list h4{margin:0 0 12px;font-size:13px;color:var(--steel);text-transform:uppercase;letter-spacing:.5px}.chat-features-list ul{list-style:none;padding:0;margin:0}.chat-features-list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px}.feature-icon{font-size:16px}.chat-setup-hint{margin-top:20px;padding:12px;background:#e8f1f4;border-radius:8px;font-size:13px}.chat-setup-hint code{display:block;margin:8px 0;padding:8px;background:var(--ink);color:#fffaf2;border-radius:4px;font-size:11px;word-break:break-all}.chat-header-actions{display:flex;align-items:center;gap:8px}.chat-header-actions .expand-button{margin-left:4px}.quick-actions-dropdown{position:relative}.quick-actions-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--card);border:1px solid #d8cbb9;border-radius:12px;box-shadow:var(--shadow);min-width:200px;z-index:100;overflow:hidden}.quick-action-item{display:block;width:100%;padding:12px 16px;border:none;background:transparent;text-align:left;font-size:14px;cursor:pointer;transition:background .15s ease}.quick-action-item:hover{background:#f7f3ed}.quick-action-item:not(:last-child){border-bottom:1px solid #eee5d8}.chat-messages-container{height:800px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f7f3ed;border-radius:16px}.chat-message{display:flex;gap:8px;max-width:95%;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{align-self:flex-end;flex-direction:row-reverse}.chat-message--assistant{align-self:flex-start}.chat-message--failed{opacity:.7}.chat-message-avatar{width:36px;height:36px;border-radius:50%;background:var(--clay);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--steel)}.chat-message--user .chat-message-avatar{background:var(--rust);color:#fffaf2}.chat-message-content{background:var(--card);padding:10px 14px;border-radius:14px;box-shadow:0 2px 8px #0000000d;flex:1;min-width:0}.chat-message--user .chat-message-content{background:var(--rust);color:#fffaf2}.chat-message-text{white-space:pre-wrap;word-break:break-word;line-height:1.5}.chat-message-attachment{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:8px;opacity:.8}.chat-message-failed-badge{margin-top:8px;font-size:12px;color:var(--danger)}.chat-welcome{text-align:center;padding:48px 24px;color:var(--steel)}.chat-welcome-icon{font-size:48px;margin-bottom:16px}.chat-welcome h3{margin:0 0 8px;font-size:20px;color:var(--ink)}.quick-action-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:center}.qa-dropdown{position:relative}.qa-dropdown-trigger{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--clay);border-radius:999px;padding:8px 16px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;transition:all .2s ease}.qa-dropdown-trigger:hover:not(:disabled){background:var(--rust);color:#fffaf2;border-color:var(--rust)}.qa-dropdown-trigger--open{background:var(--rust);color:#fffaf2;border-color:var(--rust)}.qa-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.qa-dropdown-icon{font-size:14px}.qa-dropdown-label{font-weight:500}.qa-dropdown-arrow{font-size:10px;transition:transform .2s ease;margin-left:2px}.qa-dropdown-arrow--open{transform:rotate(180deg)}.qa-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--card);border:1px solid var(--clay);border-radius:12px;box-shadow:var(--shadow);min-width:220px;z-index:100;animation:qa-menu-in .15s ease}.qa-dropdown-menu>:first-child,.qa-dropdown-menu>:first-child>.qa-dropdown-item{border-radius:12px 12px 0 0}.qa-dropdown-menu>:last-child,.qa-dropdown-menu>:last-child>.qa-dropdown-item{border-radius:0 0 12px 12px}@keyframes qa-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.qa-dropdown-item{display:block;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;transition:background .15s ease}.qa-dropdown-item:hover{background:var(--sand);color:var(--rust)}.qa-dropdown-item:not(:last-child){border-bottom:1px solid #eee5d8}.chat-quick-actions-inline{padding:8px 0}.chat-quick-actions-inline .quick-action-chips{justify-content:flex-start;margin-top:0}.chat-quick-actions-inline .qa-dropdown-trigger{padding:6px 12px;font-size:12px}.chat-quick-actions-inline .qa-dropdown-menu{min-width:200px}.chat-quick-actions-inline .qa-dropdown-item{padding:8px 14px;font-size:12px}.qa-submenu-wrapper{position:relative}.qa-submenu-trigger{display:flex;justify-content:space-between;align-items:center;font-weight:500}.qa-submenu-trigger--open{background:var(--sand);color:var(--rust)}.qa-submenu-arrow{font-size:10px;margin-left:8px;opacity:.6}.qa-submenu-menu{position:absolute;left:100%;top:-1px;background:var(--card);border:1px solid var(--clay);border-radius:12px;box-shadow:var(--shadow);min-width:240px;z-index:101;overflow:hidden;animation:qa-submenu-in .15s ease}@keyframes qa-submenu-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.chat-quick-actions-inline .qa-submenu-menu{min-width:220px}.chat-quick-actions-pinned{padding:6px 0 2px;border-top:1px solid var(--clay)}.chat-quick-actions-pinned .quick-action-chips{justify-content:center;margin-top:0;gap:6px}.chat-quick-actions-pinned .qa-dropdown-trigger{padding:5px 10px;font-size:11px;opacity:.85;transition:opacity .2s ease,background .2s ease}.chat-quick-actions-pinned .qa-dropdown-trigger:hover:not(:disabled){opacity:1}.chat-quick-actions-pinned .qa-dropdown{position:relative}.chat-quick-actions-pinned .qa-dropdown-menu{min-width:200px;bottom:calc(100% + 4px);top:auto}.chat-quick-actions-pinned .qa-dropdown-item{padding:8px 14px;font-size:12px}.chat-quick-actions-pinned .qa-submenu-menu{min-width:220px;bottom:-1px;top:auto}.tool-execution-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tool-card{background:#e8f1f4;border-radius:8px;font-size:12px;overflow:hidden}.tool-card.success{border-left:3px solid var(--success)}.tool-card.error{border-left:3px solid var(--danger)}.tool-card-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-size:12px}.tool-card-header:hover{background:#00000008}.tool-icon{font-size:12px}.tool-name{flex:1}.expand-icon{font-size:10px;opacity:.5}.tool-details{padding:8px 10px;background:#00000008;font-family:monospace;font-size:11px;max-height:150px;overflow-y:auto}.tool-details pre{margin:0;white-space:pre-wrap;word-break:break-word}.chat-input-container{margin-top:16px;border-top:1px solid var(--clay);padding-top:16px}.chat-input-row{display:flex;gap:8px;align-items:flex-end}.chat-textarea{flex:1;resize:none;border:1px solid var(--clay);border-radius:12px;padding:12px;font-family:inherit;font-size:14px;min-height:44px;max-height:150px;line-height:1.4}.chat-textarea:focus{outline:none;border-color:var(--rust)}.chat-action-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:18px}.chat-action-btn.listening{background:var(--danger);color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.chat-send-btn{min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center}.chat-send-btn svg{width:20px;height:20px}.sending-indicator{font-size:18px;letter-spacing:2px}.attachment-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e8f1f4;border-radius:8px;margin-bottom:8px;font-size:13px}.attachment-icon{font-size:16px}.attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:var(--muted);font-size:12px}.attachment-preview .remove-btn{background:transparent;border:none;cursor:pointer;color:var(--danger);font-size:16px;padding:0 4px}.chat-error{background:#f9e7e3;padding:12px 16px;border-radius:12px;color:var(--danger);display:flex;align-items:center;gap:12px;font-size:14px}.chat-error .error-text{flex:1}.chat-error.rate-limited{background:#fff4e5;color:#663c00;border:1px solid #ffc107}.chat-error.rate-limited .error-icon{animation:pulse 1.5s infinite}.voice-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.voice-modal{background:var(--card);border-radius:20px;padding:32px;text-align:center;min-width:300px;max-width:90%;box-shadow:0 20px 60px #0000004d}.voice-status{font-size:14px;color:var(--muted);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.voice-transcript{font-size:20px;min-height:60px;padding:16px;background:#f7f3ed;border-radius:12px;margin-bottom:24px}.voice-transcript.interim{color:var(--muted)}.voice-actions{display:flex;gap:12px;justify-content:center}.tab-row{display:flex;flex-wrap:wrap;gap:8px}.tab-button{border:1px solid #cdbfae;background:transparent;padding:10px 16px;border-radius:999px;font-size:13px;cursor:pointer;min-height:44px}.tab-button.active{background:var(--ink);color:#fffaf2;border-color:var(--ink)}@media (max-width: 959px){.tab-row{flex-wrap:wrap;gap:6px}.tab-button{white-space:nowrap;touch-action:manipulation;padding:6px 10px;font-size:12px;min-height:36px}}.tab-content{margin-top:16px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--steel)}.form-field input,.form-field select,.form-field textarea{padding:12px;border-radius:12px;border:1px solid #d6c7b4;min-height:44px;font-family:inherit}.form-field textarea{min-height:96px}.form-field.full-width{grid-column:1 / -1}@media (max-width: 959px){.form-field input,.form-field select,.form-field textarea{font-size:16px}}.line-item-edit-card{background:var(--card);border:1px solid var(--clay);border-radius:12px;padding:16px;margin-bottom:12px}.line-item-edit-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;margin-bottom:12px}.line-item-edit-grid .form-field{min-width:100px}.line-item-edit-grid .form-field.form-field-wide{grid-column:1 / -1}.form-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--steel);margin-bottom:4px}.form-field-value{font-size:14px;font-weight:500;color:var(--ink);padding:12px 0}.line-item-edit-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--clay)}.line-items-list{display:flex;flex-direction:column;gap:12px}.tab-panel .ghost-button{min-height:44px;padding:10px 16px;font-size:14px;white-space:nowrap}.line-item-view-card{background:var(--card);border:1px solid var(--clay);border-radius:12px;padding:16px}.line-item-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:12px}.line-item-view-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--clay)}.line-items-table-wrapper{overflow-x:auto;margin:0 -8px;padding:0 8px}.line-items-table{width:100%;border-collapse:collapse;font-size:13px}.line-items-table th,.line-items-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--clay);vertical-align:middle}.line-items-table th{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--steel);background:var(--sand);position:sticky;top:0}.line-items-table tbody tr:hover{background:#b45a3c0a}.line-items-table .description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-items-table .number-cell{text-align:right;font-variant-numeric:tabular-nums}.line-items-table .notes-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--steel);font-size:12px}.line-items-table .actions-cell{white-space:nowrap;text-align:right}.line-items-table .actions-cell .ghost-button{padding:4px 8px;font-size:12px;min-height:unset}.line-items-table .line-item-edit-row input,.line-items-table .line-item-edit-row select{padding:6px 8px;font-size:13px;border:1px solid var(--clay);border-radius:6px;width:100%;min-width:60px}.line-items-table .line-item-edit-row{background:#b45a3c0f}.collapsible-form{background:var(--mist);border:1px solid var(--clay);border-radius:12px;padding:16px}.template-item-accordion{border:1px solid var(--clay);border-radius:8px;margin-bottom:12px;overflow:hidden}.template-item-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--mist);cursor:pointer;transition:background .2s}.template-item-header:hover{background:var(--card)}.template-item-header h4{margin:0;font-size:14px;font-weight:600}.template-item-kpi{font-size:12px;color:var(--steel)}.template-item-content{padding:16px;border-top:1px solid var(--clay);background:var(--card)}.line-item-view-card .edit-actions{opacity:0;transition:opacity .2s ease}.line-item-view-card:hover .edit-actions{opacity:1}.template-locked{color:var(--steel);font-size:13px;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--mist);border-radius:6px;margin-bottom:12px}.template-editor-info{background:var(--mist);border-radius:8px;padding:16px;margin-bottom:16px}.template-editor-info h3{margin:0 0 8px;font-size:18px}.template-editor-info p{margin:0;color:var(--steel);font-size:14px}.done-button{background:var(--success);color:#fff}.done-button:hover{background:#0d9669}.checkbox-field{flex-direction:row;align-items:center}.checkbox-field input{width:20px;height:20px}.form-actions{display:flex;justify-content:flex-end;gap:12px}.form-errors{background:#f9e7e3;padding:12px;border-radius:12px;color:var(--danger)}.form-warning{background:#fdf3e3;padding:12px;border-radius:12px;color:var(--warning);border-left:4px solid var(--warning)}.form-warning strong{display:block;margin-bottom:4px}.form-warning p{margin:4px 0 0}.status-banner{padding:10px 12px;border-radius:12px;margin-top:12px;font-size:13px}.status-banner.success{background:#e8f2ec;color:var(--success)}.status-banner.warning{background:#fbefe0;color:var(--warning)}.slide-panel{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.slide-panel.is-open{pointer-events:auto}.slide-panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#17191a73;opacity:0;transition:opacity .3s ease}.slide-panel.is-open .slide-panel-backdrop{opacity:1}.slide-panel-body{position:absolute;right:0;top:0;height:100%;width:100%;background:#fffdf9;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:24px;gap:16px;overflow:hidden}.slide-panel-body>.tab-content{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;padding-bottom:40px}@media (min-width: 768px){.slide-panel-body{width:min(600px,100%)}.slide-panel-body.materials-wide{width:min(970px,100%)}}.slide-panel.is-open .slide-panel-body{transform:translate(0)}.slide-panel-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 959px){.slide-panel-body{padding:16px;gap:12px}.slide-panel-body .tab-row{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:4px;min-height:44px}.slide-panel-body .tab-row::-webkit-scrollbar{display:none}.slide-panel-body .tab-button{flex-shrink:0;white-space:nowrap;min-height:44px;padding:8px 14px;font-size:13px;touch-action:manipulation}.slide-panel-header h2{font-size:20px}}@media (max-width: 479px){.slide-panel-body{padding:12px}.slide-panel-body .tab-button{padding:8px 12px;font-size:12px}}.dashboard-switcher{display:flex;gap:8px;margin:0 0 16px;padding:0}.dashboard-switcher-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--clay);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--steel);cursor:pointer;transition:all .2s ease;min-height:40px}.dashboard-switcher-btn:hover{background:#b45a3c14;border-color:var(--rust);color:var(--rust)}.dashboard-switcher-btn.active{background:var(--rust);border-color:var(--rust);color:#fff}.dashboard-switcher-btn.active svg{stroke:#fff}.dashboard-switcher-label{font-weight:500}@media (max-width: 959px){.dashboard-switcher-btn{min-height:44px;touch-action:manipulation}}@media (max-width: 479px){.dashboard-switcher-label{display:none}.dashboard-switcher-btn{padding:8px;min-width:44px;justify-content:center}}.mobile-nav{position:fixed;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;gap:12px;background:#fffdf9;border:1px solid #e6d9c8;border-radius:999px;padding:8px 12px;box-shadow:var(--shadow)}.mobile-nav button{background:none;border:none;font-size:13px;color:var(--steel);min-height:44px;min-width:44px;padding:0 12px;touch-action:manipulation}.mobile-nav .primary-button{padding:0 16px}.mobile-chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--card);display:flex;flex-direction:column;padding:0}.mobile-chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--clay);background:var(--card)}.mobile-chat-header h3{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.mobile-chat-header .ghost-button{font-size:20px;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center}.mobile-chat-overlay .chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;border-radius:0;box-shadow:none;padding:0}.mobile-chat-overlay .chat-panel .section-header{display:none}.mobile-chat-overlay .chat-panel .chat-input-form{order:-2;border-bottom:1px solid var(--clay);border-top:none;padding:12px;background:var(--sand)}.mobile-chat-overlay .chat-panel .chat-quick-actions-inline{order:-1;padding:8px 12px;border-bottom:1px solid var(--clay);background:var(--card)}.mobile-chat-overlay .chat-panel .chat-quick-actions-pinned{padding:6px 12px;border-top:1px solid var(--clay);background:var(--card)}.mobile-chat-overlay .chat-panel .chat-messages-container{flex:1;order:0;padding:12px;overflow-y:auto}.mobile-chat-overlay .chat-welcome{padding:16px}.mobile-chat-overlay .chat-welcome h3{font-size:18px}.job-detail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.job-detail-actions{display:flex;gap:12px;align-items:center}.teams-tab-link{color:#6264a7!important;text-decoration:none;border-bottom:2px solid transparent}.teams-tab-link:hover{background:#6264a71a;color:#4b4d8f!important;border-bottom-color:#6264a7}.teams-pm-only{border-bottom-style:dashed}.cost-grid-section{margin-bottom:24px}.cost-grid-header{display:flex;justify-content:flex-start;margin-bottom:12px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--steel)}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--rust);cursor:pointer}.overhead-note{font-size:.85em;color:var(--rust);font-style:italic}.cost-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.cost-grid{grid-template-columns:1fr}}.progress-container{position:relative;padding-top:24px}.progress-amount-label{position:absolute;top:-2px;transform:translate(-50%);font-size:13px;font-weight:600;color:var(--steel);white-space:nowrap}.progress-wrapper{position:relative}.progress{background:#efe3d3;border-radius:999px;height:10px;margin:0 0 6px;overflow:hidden;position:relative}.progress-bar{height:100%;border-radius:999px;max-width:100%}.progress-bar.success{background:var(--success)}.progress-bar.warning{background:var(--warning)}.progress-bar.danger{background:var(--danger)}.progress-wrapper .tooltip-container{position:absolute;top:0;height:100%}.progress-target-marker{position:relative;top:-4px;width:3px;height:18px;background:#416c86;border-radius:2px;cursor:help;z-index:10;transition:background-color .2s ease}.progress-target-marker:hover{background:#3a6c8e}.progress-current-indicator{position:absolute;top:-10px;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #4c5457;z-index:11;pointer-events:none}.progress-text{font-size:12px;color:var(--muted)}.tooltip-container{position:relative;display:inline-block}.kpi-grid .tooltip-container{display:flex;height:100%}.kpi-grid .tooltip-container>.kpi-card{flex:1}.tooltip-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2426;color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:400;line-height:1.6;white-space:pre-wrap;z-index:1000;min-width:200px;max-width:320px;box-shadow:0 4px 16px #00000040;animation:tooltip-fade-in .15s ease-out}.tooltip-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2426}.tooltip-content{word-wrap:break-word;color:#fff}.tooltip-close{position:absolute;top:4px;right:4px;background:#ffffff1a;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px 8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s ease}.tooltip-close:hover{background:#fff3;color:#fff}.tooltip-wide .tooltip-popup{min-width:380px;max-width:420px}.tooltip-below .tooltip-popup{bottom:auto;top:calc(100% + 8px)}.tooltip-below .tooltip-popup:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#1f2426}@media (max-width: 959px){.tooltip-popup{position:fixed;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100vw - 32px);min-width:min(280px,calc(100vw - 32px))}.tooltip-popup:after{display:none}.progress-target-marker{min-width:44px;min-height:44px;width:44px;height:44px;background:transparent;top:50%;transform:translate(-50%,-50%)}.progress-target-marker:before{display:none}.progress-target-marker:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:18px;background:var(--sky);border-radius:2px}}.table-wrap{display:grid;gap:8px}.tab-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tab-panel-header-left{display:flex;align-items:center;gap:12px}.billing-percent-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--sky-light, #e6eef3);color:var(--sky, #3a6c8e);border:1px solid var(--sky, #3a6c8e)}.billing-alert-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;background:#f7e7e7;color:#a64040;border:1px solid #e3a7a7}.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mini-card{border:1px solid #eadfcd;border-radius:16px;padding:16px;background:#fffaf2}.notes-list{display:grid;gap:12px}.note-card{border:1px solid #eadfcd;border-radius:16px;padding:16px;display:flex;justify-content:space-between;align-items:center;background:#fffaf2}.note-card.pinned{border-color:var(--sun);background:#fff4da}.note-date{font-size:12px;color:var(--muted);margin-bottom:6px}.danger-zone{display:flex;justify-content:flex-end}.muted{color:var(--muted)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffdf9d9;display:flex;justify-content:center;align-items:center;z-index:10;border-radius:var(--radius)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:12px}.spinner{border:3px solid #efe3d3;border-top-color:var(--rust);border-radius:50%;animation:spin .8s linear infinite}.spinner-small .spinner{width:24px;height:24px}.spinner-medium .spinner{width:40px;height:40px}.spinner-large .spinner{width:56px;height:56px}.spinner-message{margin:0;color:var(--steel);font-size:14px}.error-message{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.error-icon{width:48px;height:48px;border-radius:50%;background:#f9e7e3;color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.error-text{margin:0;color:var(--danger)}.status-banner.error{background:#f9e7e3;color:var(--danger)}.tab-content{position:relative;margin-top:16px}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{background:#f4f0ea}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#17191a8c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:24px}.modal-content{background:#fffdf9;border-radius:var(--radius);width:100%;max-width:800px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 48px #29241e33}.modal-content.modal-narrow{max-width:520px}.modal-content.modal-small{max-width:480px}.modal-content.modal-medium{max-width:640px}.modal-content.modal-large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #efe3d3}.modal-header h2{margin:0;font-size:18px}.modal-header-extra{margin-left:auto;margin-right:12px;flex-shrink:0}.modal-close{padding:8px 12px;min-height:36px}.modal-body{padding:24px;position:relative}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #efe3d3;background:#faf8f4;border-radius:0 0 var(--radius) var(--radius)}@media (max-width: 959px){.modal-overlay{padding:8px;overflow-x:hidden}.modal-content{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:12px;box-sizing:border-box;overflow-x:hidden}.modal-header{padding:12px 16px;box-sizing:border-box}.modal-header h2{font-size:15px;line-height:1.3;word-wrap:break-word}.modal-body{padding:12px;box-sizing:border-box;overflow-x:hidden}.modal-footer{padding:12px}}.branding-modal{max-width:480px}.branding-preview{margin-bottom:24px;padding:16px;background:var(--card);border-radius:12px;border:1px solid #efe3d3}.branding-preview label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.preview-header{display:flex;align-items:center;gap:12px}.preview-logo-chip{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--rust),#d98b67);color:#fffaf2;font-family:Bebas Neue,Impact,sans-serif;font-size:18px;letter-spacing:1px}.preview-business-name{font-family:Bebas Neue,Impact,sans-serif;font-size:24px;letter-spacing:1px;color:var(--text)}.preview-logo-image{width:48px;height:48px;border-radius:12px;object-fit:contain;background-color:#fff}.preview-logo-image.full-logo{width:auto;max-width:200px;height:40px;border-radius:6px;background-color:transparent}.logo-upload-section{display:flex;gap:12px;align-items:center;margin-bottom:8px}.upload-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card);border:2px dashed #efe3d3;border-radius:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-button:hover:not(:disabled){border-color:var(--rust);background:#fffdf9}.upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-button svg{color:var(--rust)}.remove-logo-button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid #e3b0a8;border-radius:8px;color:var(--danger);font-size:13px;cursor:pointer;transition:all .2s ease}.remove-logo-button:hover{background:#f9e7e3}.url-fallback{margin-top:12px}.url-fallback summary{font-size:13px;color:var(--muted);cursor:pointer;margin-bottom:8px}.url-fallback summary:hover{color:var(--text)}.url-fallback[open] summary{margin-bottom:8px}.info-text{color:var(--info, #2563eb)}.spinner{width:16px;height:16px;border:2px solid #efe3d3;border-top-color:var(--rust);border-radius:50%;animation:spin .8s linear infinite}.logo-includes-text-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px;background:#f9f7f4;border-radius:8px;cursor:pointer}.logo-includes-text-toggle input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;accent-color:var(--rust);cursor:pointer;flex-shrink:0}.logo-includes-text-toggle .checkbox-text{font-size:14px;font-weight:500;color:var(--text);line-height:1.4}.logo-includes-text-toggle .checkbox-hint{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:2px}.branding-modal .form-group{margin-bottom:20px}.branding-modal .form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}.branding-modal .form-group input{width:100%;padding:12px;border:1px solid #efe3d3;border-radius:8px;font-size:16px;background:#fffdf9;transition:border-color .2s ease,box-shadow .2s ease}.branding-modal .form-group input:focus{outline:none;border-color:var(--rust);box-shadow:0 0 0 3px #b45a3c26}.branding-modal .char-count{display:block;text-align:right;font-size:12px;color:var(--muted);margin-top:4px}.branding-modal .help-text{display:block;font-size:12px;color:var(--muted);margin-top:4px}.branding-modal .error-message{display:flex;align-items:center;gap:8px;padding:12px;background:#dc26261a;border-radius:8px;color:var(--danger);font-size:14px;margin-top:16px}.close-button{background:none;border:none;padding:8px;cursor:pointer;color:var(--muted);border-radius:8px;transition:background .2s ease}.close-button:hover{background:#0000000d;color:var(--text)}.action-buttons{display:flex;gap:8px;justify-content:flex-end}.ghost-button.small,.primary-button.small{padding:6px 10px;min-height:32px;font-size:12px}.ghost-button.danger{color:var(--danger);border-color:#e3b0a8}.ghost-button.danger:hover{background:#f9e7e3}.mini-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.mini-card-header h4{margin:0}.note-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.helper-text{display:block;font-size:11px;color:var(--muted);margin-top:4px}.notification-container{position:fixed;top:24px;right:24px;z-index:100;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--card);border-radius:14px;box-shadow:0 8px 24px #29241e26;border-left:4px solid var(--info);pointer-events:auto;animation:slideIn .3s ease}.notification-success{border-left-color:var(--success)}.notification-warning{border-left-color:var(--warning)}.notification-error{border-left-color:var(--danger)}.notification-info{border-left-color:var(--info)}.notification-icon{flex-shrink:0;width:20px;height:20px}.notification-icon svg{width:100%;height:100%}.notification-success .notification-icon{color:var(--success)}.notification-warning .notification-icon{color:var(--warning)}.notification-error .notification-icon{color:var(--danger)}.notification-info .notification-icon{color:var(--info)}.notification-message{flex:1;font-size:14px;line-height:1.4;color:var(--ink)}.notification-action{flex-shrink:0;padding:.25rem .75rem;border:1px solid rgba(255,255,255,.4);background:#ffffff26;color:inherit;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease}.notification-action:hover{background:#ffffff4d}.notification-close{flex-shrink:0;width:24px;height:24px;padding:4px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;transition:background .15s ease,color .15s ease}.notification-close:hover{background:#0000000d;color:var(--ink)}.notification-close svg{width:100%;height:100%}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.signalr-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.signalr-status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.signalr-status-dot.connected{background:var(--success)}.signalr-status-dot.connecting,.signalr-status-dot.reconnecting{background:var(--warning);animation:pulse 1.5s ease infinite}.signalr-status-dot.error{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 480px){.notification-container{top:16px;right:16px;left:16px;max-width:none}}.desktop-only{display:none}.reveal{opacity:0;transform:translateY(12px);animation:floatIn .6s ease forwards;animation-delay:var(--delay)}@keyframes floatIn{to{opacity:1;transform:translateY(0)}}@media (min-width: 900px){.split-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.split-grid.split-grid--jobs-expanded,.split-grid.split-grid--chat-expanded{grid-template-columns:minmax(0,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-only{display:grid}.mobile-only,.mobile-nav{display:none}.expand-button.desktop-only{display:inline-flex}}@media (max-width: 959px){.expand-button.desktop-only,.split-panel-header{display:none}.split-grid{grid-template-columns:minmax(0,1fr);gap:16px}.split-grid .section-card{max-width:100%;width:100%;box-sizing:border-box}.split-panel--chat{display:none}}@media (max-width: 959px){.job-table-row:not(.job-table-weekly .job-table-row):not(.scope-row-10col):not(.scope-row-11col):not(.scope-row-11col-v2):not(.scope-row-12col-v2){grid-template-columns:repeat(3,minmax(0,1fr))}.job-table-row:not(.job-table-weekly .job-table-row):not(.scope-row-10col):not(.scope-row-11col):not(.scope-row-11col-v2):not(.scope-row-12col-v2) span:nth-child(n+4){display:none}.job-table-weekly{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.job-table-weekly .job-table-row{min-width:900px}.scope-performance-dashboard .table-wrap{overflow-x:visible;padding-bottom:0}.scope-performance-dashboard .job-table-head{display:none!important}.scope-performance-dashboard .job-table-row.job-table-body{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay);margin-bottom:12px;min-width:0!important;max-width:100%;box-sizing:border-box}.scope-performance-dashboard .job-table-body>span:nth-child(1){grid-column:1 / -1;font-weight:600;font-size:.95rem;display:block!important}.scope-performance-dashboard .job-table-body>span:nth-child(2){grid-column:1 / -1;display:flex!important;flex-direction:column;font-size:.85rem;padding-top:8px}.scope-performance-dashboard .job-table-body>span:nth-child(2):before{content:"Material Usage";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-performance-dashboard .job-table-body>span[data-label="Pass Rate"]{grid-column:1 / -1;display:flex!important;flex-direction:column;font-size:.85rem;padding-top:8px}.scope-performance-dashboard .job-table-body>span[data-label="Pass Rate"]:before{content:"Inspection Pass Rate";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-performance-dashboard .job-table-body>span[data-label="Org Benchmark"]{grid-column:1;display:flex!important;flex-direction:column;font-size:.85rem;padding-top:8px}.scope-performance-dashboard .job-table-body>span[data-label="Org Benchmark"]:before{content:"Org Benchmark";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-performance-dashboard .job-table-body>span[data-label=Trend]{grid-column:1;display:flex!important;flex-direction:column;align-items:flex-start;font-size:.85rem;padding-top:8px}.scope-performance-dashboard .job-table-body>span[data-label=Trend]:before{content:"Trend";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-performance-dashboard .job-table-body>span[data-label=Status]{grid-column:2;display:flex!important;flex-direction:column;align-items:flex-start;font-size:.85rem;padding-top:8px}.scope-performance-dashboard .job-table-body>span[data-label=Status]:before{content:"Status";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-performance-dashboard .job-table-row span:nth-child(n+4){display:initial}}.realtime-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#3f7b591a;border:1px solid rgba(63,123,89,.3);border-radius:12px;font-size:12px;font-weight:500;color:var(--success)}.realtime-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s infinite}.realtime-dot.refreshing{animation:pulse .3s infinite}.data-quality-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#8a8f921a;border:1px solid rgba(138,143,146,.3);border-radius:12px;font-size:12px;font-weight:500;color:var(--muted);cursor:help;transition:all .2s ease}.data-quality-indicator:hover{background:#8a8f9226}.data-quality-indicator--excellent{background:#3f7b591a;border-color:#3f7b594d;color:var(--success)}.data-quality-indicator--excellent:hover{background:#3f7b5926}.data-quality-indicator--good{background:#c7882b1a;border-color:#c7882b4d;color:var(--warning)}.data-quality-indicator--good:hover{background:#c7882b26}.data-quality-indicator--limited{background:#e67e221a;border-color:#e67e224d;color:#e67e22}.data-quality-indicator--limited:hover{background:#e67e2226}.data-quality-indicator--insufficient{background:#b742321a;border-color:#b742324d;color:var(--danger)}.data-quality-indicator--insufficient:hover{background:#b7423226}.data-quality-dot{font-size:14px;line-height:1}.data-quality-label{font-weight:600}.data-quality-indicator--loading{opacity:.6}.data-quality-indicator--loading .data-quality-dot{width:8px;height:8px;background:var(--muted);border-radius:50%;animation:pulse 1s infinite}@media (max-width: 959px){.data-quality-indicator{padding:4px 8px;min-height:44px;min-width:44px}@media (max-width: 480px){.data-quality-indicator .data-quality-label{display:none}}}.job-data-quality{display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:help}.job-card-quality{display:flex;flex-direction:column;align-items:flex-start}.job-card-quality .job-data-quality{font-size:16px}.scope-exceeds-budget-icon{display:inline-flex;align-items:center;margin-left:6px;cursor:help;vertical-align:middle}.stop-sign{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#c00;color:#fff;font-size:7px;font-weight:800;letter-spacing:.5px;line-height:1;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0;transition:transform .15s ease}.stop-sign:hover{transform:scale(1.15)}.data-cell-with-indicators .scope-exceeds-budget-icon{margin-left:2px}.data-cell-with-indicators .stop-sign{width:20px;height:20px;font-size:5.5px}.data-cell-with-indicators{display:flex;flex-direction:column;align-items:center;gap:2px;overflow:visible}.data-cell-with-indicators .tooltip-container{position:relative;overflow:visible}.data-cell-with-indicators .tooltip-container .tooltip-popup{z-index:9999}.data-col-header{display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap}.data-scope-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:2px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:#333;transition:all .15s ease;flex-shrink:0}.data-scope-toggle-btn:hover{background:var(--bg-hover);color:#000}.data-scope-toggle-btn.active{color:var(--accent);background:var(--accent-light, rgba(59, 130, 246, .1))}.data-scope-toggle-btn:focus{outline:2px solid var(--accent);outline-offset:1px}.scope-data-bubbles{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;align-items:center;max-width:60px}.scope-data-bubble{display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;cursor:help;transition:transform .15s ease}.scope-data-bubble:hover{transform:scale(1.2)}.scope-data-bubble--excellent,.scope-data-bubble--good,.scope-data-bubble--limited,.scope-data-bubble--insufficient{background:transparent}.scope-data-bubbles--mobile{max-width:100%;gap:4px}.scope-data-bubbles--mobile .scope-data-bubble{font-size:12px}.job-card-quality-with-indicators{display:flex;flex-direction:row;align-items:center;gap:6px}.pending-approval-indicators{display:flex;gap:2px;align-items:center;justify-content:center}.pending-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;cursor:help;padding:1px;border-radius:3px;transition:transform .15s ease}.pending-indicator:hover{transform:scale(1.2)}@keyframes pending-pulse{0%,to{opacity:1}50%{opacity:.7}}.pending-indicator--labor,.pending-indicator--delivery,.pending-indicator--invoice{animation:pending-pulse 2s ease-in-out infinite}.pending-indicator:hover{animation:none}.job-card-quality-with-indicators .pending-approval-indicators{flex-direction:row}.job-card-quality-with-indicators .pending-indicator{font-size:14px;padding:2px}.pending-approval-indicators .tooltip-popup{min-width:280px;max-width:400px;font-size:12px;line-height:1.5;text-align:left}.pending-approval-indicators .tooltip-content{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace}.pending-approval-indicators .tooltip-container{position:relative;overflow:visible}.pending-approval-indicators .tooltip-container .tooltip-popup{z-index:9999}.scope-data-quality{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:help;padding:4px;border-radius:4px;transition:all .2s ease}.scope-data-quality:hover{transform:scale(1.1)}.scope-data-quality-dot{font-size:16px;line-height:1}.scope-data-quality--excellent,.scope-data-quality--good,.scope-data-quality--limited,.scope-data-quality--insufficient,.scope-data-quality--excellent:hover,.scope-data-quality--good:hover,.scope-data-quality--limited:hover,.scope-data-quality--insufficient:hover{background:transparent}.scope-row-10col .tooltip-container{position:relative;overflow:visible}.scope-row-10col .tooltip-container .tooltip-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;z-index:9999;min-width:280px;max-width:350px;white-space:normal}.scope-row-10col .tooltip-container .tooltip-popup:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:var(--ink)}.job-detail-actions .ghost-button:disabled{opacity:.5;cursor:not-allowed}.section-header-actions{display:flex;align-items:center;gap:8px}.section-header-actions .ghost-button.small{padding:4px 8px;font-size:14px;min-width:32px}.section-header-actions .ghost-button:disabled{opacity:.5;cursor:not-allowed}.job-table-row.budget-critical{background:#fdf2f1}.job-table-row.budget-warning{background:#fef9ed}.job-table-row.budget-ok{background:#f2f8f4}.job-table-row.job-table-body.budget-critical:hover{background:#fce8e6}.job-table-row.job-table-body.budget-warning:hover{background:#fdf3dc}.job-table-row.job-table-body.budget-ok:hover{background:#e8f3eb}.job-card.budget-critical{border-left:4px solid var(--danger);background:#fdf2f1}.job-card.budget-warning{border-left:4px solid var(--warning);background:#fef9ed}.job-card.budget-ok{border-left:4px solid var(--success);background:#f2f8f4}.budget-critical-text{color:var(--danger);font-weight:600}.budget-warning-text{color:#b87300;font-weight:500}.budget-ok-text{color:var(--success)}.money-negative{color:var(--danger)}.money-positive{color:var(--success)}.budget-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;padding:12px 16px;background:#f7f3ed;border-radius:12px;font-size:13px}.legend-title{font-weight:600;color:var(--steel)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.budget-critical-badge{background:#f8d7da;color:var(--danger)}.budget-warning-badge{background:#fff3cd;color:#856404}.budget-ok-badge{background:#d1e7dd;color:var(--success)}.legend-desc{color:var(--muted);font-size:12px}.context-menu{position:fixed;z-index:1000;min-width:180px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.context-menu-header{padding:10px 14px;background:#f7f3ed;font-size:12px;font-weight:600;color:var(--steel);border-bottom:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.context-menu-item{display:block;width:100%;padding:10px 14px;background:none;border:none;text-align:left;font-size:14px;cursor:pointer;transition:background .15s}.context-menu-item:hover{background:#f0ebe3}.context-menu-item:not(:last-child){border-bottom:1px solid #f0f0f0}.context-menu-item--alert{color:var(--rust);font-weight:500}.context-menu-item--alert:hover{background:#fff5f5}.context-menu-divider{height:1px;background:#e0e0e0;margin:4px 0}.context-menu-subheader{padding:6px 14px 4px;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.invoice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f242699;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.invoice-modal{background:var(--card);border-radius:var(--radius);box-shadow:0 24px 48px #1f242633;width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.invoice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--clay)}.invoice-modal-header h2{margin:0;font-family:Bebas Neue,Impact,sans-serif;font-size:24px;letter-spacing:.5px}.invoice-modal-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--steel);padding:4px 8px;border-radius:6px;transition:all .2s ease}.invoice-modal-header .close-btn:hover{background:var(--clay);color:var(--ink)}.invoice-modal-content{padding:24px;overflow-y:auto;flex:1}.invoice-step{display:flex;flex-direction:column;gap:16px}.invoice-step h3{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.step-description{margin:0;color:var(--steel);font-size:14px}.capture-area{width:100%;aspect-ratio:4 / 3;background:var(--sand);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px dashed var(--clay)}.camera-preview{width:100%;height:100%;object-fit:cover}.captured-preview{width:100%;height:100%;object-fit:contain;background:#111}.camera-fallback{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--steel)}.fallback-icon{font-size:48px;opacity:.5}.capture-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 480px){.form-grid{grid-template-columns:1fr}}.confidence-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;text-align:center}.confidence-badge.high{background:#d1e7dd;color:var(--success)}.confidence-badge.medium{background:#fff3cd;color:#856404}.confidence-badge.low{background:#f8d7da;color:var(--danger)}.line-items-section{margin-top:8px}.line-items-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--ink)}.line-items-list{display:flex;flex-direction:column;gap:8px}.line-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--sand);border-radius:8px;font-size:13px}.item-desc{flex:1;color:var(--ink)}.item-qty{color:var(--steel);min-width:60px;text-align:right}.item-total{font-weight:600;color:var(--ink);min-width:70px;text-align:right}.invoice-step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--clay)}.invoice-result{text-align:center;padding:24px 0}.result-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px}.result-icon.success{background:#d1e7dd;color:var(--success)}.invoice-result h3{margin:0 0 8px;font-size:22px}.invoice-result p{margin:0;color:var(--steel)}.variance-alert{margin-top:20px;padding:16px;background:#fff3cd;border-radius:12px;text-align:left}.variance-alert h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#856404}.variance-alert p{margin:0;font-size:14px;color:#664d03}.variance-action{margin-top:8px!important;font-style:italic}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.feedback-buttons{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--clay);margin-top:8px}.feedback-buttons.submitted{opacity:.8}.feedback-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;opacity:.6}.feedback-btn:hover:not(:disabled){opacity:1;transform:scale(1.15)}.feedback-btn.positive:hover{background:#3f7b591a}.feedback-btn.negative:hover{background:#b742321a}.feedback-btn:disabled{cursor:not-allowed;opacity:.4}.feedback-btn.selected{opacity:1;transform:scale(1.1)}.feedback-btn.dimmed{opacity:.2}.feedback-thanks{font-size:12px;color:var(--success);margin-left:4px}.feedback-loading{font-size:12px;color:var(--muted);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.feedback-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f242699;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.feedback-modal{background:var(--card);border-radius:var(--radius);box-shadow:0 24px 48px #1f242633;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--clay)}.feedback-modal-header h3{margin:0;font-size:18px;font-weight:600}.feedback-modal-header .close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:var(--steel);padding:4px 8px;border-radius:6px;transition:all .2s ease}.feedback-modal-header .close-btn:hover{background:var(--clay);color:var(--ink)}.feedback-modal-content{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.feedback-context{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-tool-badge{display:inline-block;padding:4px 10px;background:var(--sand);border-radius:12px;font-size:12px;font-weight:600;color:var(--steel)}.feedback-prompt-count{font-size:12px;color:var(--muted)}.feedback-confidence{display:flex;flex-direction:column;gap:6px}.confidence-bar{height:6px;background:var(--clay);border-radius:3px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,var(--warning) 0%,var(--success) 100%);border-radius:3px;transition:width .3s ease}.confidence-label{font-size:12px;color:var(--steel)}.feedback-category{font-size:13px;color:var(--steel);padding:8px 12px;background:var(--sand);border-radius:8px}.feedback-category strong{color:var(--ink);text-transform:capitalize}.feedback-prompt{font-size:15px;color:var(--ink);line-height:1.5;padding:12px;background:linear-gradient(135deg,#5d7b6a14,#416c8614);border-radius:10px;border-left:3px solid var(--sage)}.feedback-textarea{width:100%;padding:12px;border:1px solid var(--clay);border-radius:10px;font-family:inherit;font-size:14px;resize:vertical;min-height:80px;transition:border-color .2s ease}.feedback-textarea:focus{outline:none;border-color:var(--sage)}.feedback-textarea:disabled{background:var(--sand);opacity:.7}.feedback-modal-actions{display:flex;justify-content:space-between;gap:12px}.feedback-info{font-size:11px;color:var(--muted);text-align:center;padding-top:8px;border-top:1px solid var(--clay)}.markdown-content{line-height:1.6}.markdown-content .md-p{margin:0 0 .5em}.markdown-content .md-p:last-child{margin-bottom:0}.markdown-content .md-h1,.markdown-content .md-h2,.markdown-content .md-h3,.markdown-content .md-h4{margin:.8em 0 .4em;font-weight:600;line-height:1.3}.markdown-content .md-h1:first-child,.markdown-content .md-h2:first-child,.markdown-content .md-h3:first-child,.markdown-content .md-h4:first-child{margin-top:0}.markdown-content .md-h1{font-size:1.4em}.markdown-content .md-h2{font-size:1.25em}.markdown-content .md-h3{font-size:1.1em}.markdown-content .md-h4{font-size:1em}.markdown-content .md-list{margin:.5em 0;padding-left:1.5em}.markdown-content .md-list li{margin:.25em 0}.markdown-content .md-inline-code{background:#0000000f;padding:.15em .4em;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.9em}.chat-message--user .markdown-content .md-inline-code{background:#fff3}.markdown-content .md-code-block{background:#1e1e1e;color:#d4d4d4;padding:12px 14px;border-radius:8px;overflow-x:auto;margin:.5em 0;font-family:Consolas,Monaco,monospace;font-size:.85em;line-height:1.4}.markdown-content .md-code-block code{background:none;padding:0}.markdown-content .md-link{color:var(--sky);text-decoration:underline}.markdown-content .domain-tooltip-container{position:relative;display:inline-flex;align-items:baseline;vertical-align:baseline}.markdown-content .domain-tooltip-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#d4a03729;color:inherit;cursor:help;padding:0 2px;margin:0;border-radius:3px;border-bottom:1px dotted #d4a037;font:inherit;line-height:inherit;position:relative}.markdown-content .domain-tooltip-trigger:before{content:"";position:absolute;top:-12px;right:-6px;bottom:-12px;left:-6px}.markdown-content .domain-tooltip-trigger:hover,.markdown-content .domain-tooltip-container:focus-within .domain-tooltip-trigger{background:#d4a03742}.markdown-content .domain-tooltip-trigger:focus-visible{outline:2px solid #d4a037;outline-offset:2px}.markdown-content .domain-tooltip-popup--inline{position:fixed;z-index:9999;display:none;width:max-content;min-width:220px;max-width:320px;white-space:normal;background:#1e293b;color:#f1f5f9;border-radius:6px;padding:10px 14px;font-size:.8125rem;line-height:1.5;box-shadow:0 4px 16px #00000040;pointer-events:auto}.markdown-content .domain-tooltip-popup--inline.domain-tooltip-visible{display:block}.markdown-content .domain-tooltip-popup--inline:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b;border-bottom:none}.markdown-content .domain-tooltip-popup--inline.domain-tooltip-popup--below:after{bottom:auto;top:-6px;border-top-color:transparent;border-bottom:6px solid #1e293b}.markdown-content .domain-tooltip-popup-copy{display:block;padding-right:0}.chat-message--user .markdown-content .md-link{color:#fffaf2}.markdown-content strong{font-weight:600}.markdown-content em{font-style:italic}.markdown-content .md-table-wrapper{overflow-x:auto;margin:.75em 0;border-radius:8px;border:1px solid #e0d9d0}.markdown-content .md-table{width:100%;border-collapse:collapse;font-size:.9em;background:#fff;min-width:300px}.markdown-content .md-table thead{background:#f0ebe3}.markdown-content .md-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--steel);font-size:.85em;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #d8cbb9;white-space:nowrap}.markdown-content .md-table td{padding:10px 12px;border-bottom:1px solid #f0ebe3;color:var(--ink)}.markdown-content .md-table tbody tr:last-child td{border-bottom:none}.markdown-content .md-table tbody tr:hover{background:#faf8f5}.markdown-content .md-table .align-right{text-align:right;font-variant-numeric:tabular-nums}.markdown-content .md-table tbody tr.md-row-highlight{background:#fff3cd}.markdown-content .md-table tbody tr.md-row-highlight:hover{background:#ffe69c}.chat-message--user .markdown-content .md-table-wrapper{border-color:#fff3}.chat-message--user .markdown-content .md-table{background:#ffffff1a}.chat-message--user .markdown-content .md-table thead{background:#ffffff26}.chat-message--user .markdown-content .md-table th{color:#fffaf2e6;border-bottom-color:#fff3}.chat-message--user .markdown-content .md-table td{color:#fffaf2;border-bottom-color:#ffffff1a}.chat-message--user .markdown-content .md-table tbody tr:hover{background:#ffffff1a}@media (max-width: 600px){.markdown-content .md-table-wrapper{margin-left:-8px;margin-right:-8px;border-radius:0;border-left:none;border-right:none}.markdown-content .md-table th,.markdown-content .md-table td{padding:8px 10px;font-size:.85em}}.tool-categories-container{position:relative}.tool-categories-collapsed{display:flex;align-items:center}.tool-categories-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;min-height:44px;background:var(--card);border:1px solid var(--clay);border-radius:999px;font-size:13px;font-weight:500;color:var(--steel);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.tool-categories-toggle:hover:not(:disabled){background:#f7f3ed;border-color:var(--rust);color:var(--ink)}.tool-categories-toggle:disabled{opacity:.5;cursor:not-allowed}.tool-categories-toggle .toggle-icon{font-size:16px}.tool-categories-toggle .toggle-label{display:none}@media (min-width: 600px){.tool-categories-toggle .toggle-label{display:inline}}.tool-categories-toggle .tool-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--rust);color:#fff;border-radius:999px;font-size:11px;font-weight:600}.tool-categories-loading,.tool-categories-error{font-size:12px;color:var(--muted);padding:6px 12px}.tool-categories-error{color:var(--danger)}.tool-categories-expanded{position:absolute;top:100%;right:0;margin-top:8px;width:320px;max-height:480px;overflow-y:auto;background:var(--card);border:1px solid var(--clay);border-radius:16px;box-shadow:var(--shadow);z-index:1000;animation:dropdownSlide .2s cubic-bezier(.4,0,.2,1)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tool-categories-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--clay);background:#f7f3ed;border-radius:16px 16px 0 0}.tool-categories-header .header-title{font-weight:600;font-size:14px;color:var(--ink);flex:1}.tool-categories-header .header-count{font-size:12px;color:var(--muted)}.tool-categories-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:50%;font-size:18px;color:var(--steel);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.tool-categories-close:hover{background:var(--clay);color:var(--ink)}.tool-categories-list{padding:8px}.tool-category{margin-bottom:4px}.tool-category-header{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;background:transparent;border:none;border-radius:10px;font-size:14px;color:var(--ink);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1);text-align:left;touch-action:manipulation}.tool-category-header:hover:not(:disabled){background:#f7f3ed}.tool-category-header:disabled{opacity:.5;cursor:not-allowed}.tool-category-header .category-icon{font-size:18px;flex-shrink:0}.tool-category-header .category-label{flex:1;font-weight:500}.tool-category-header .category-count{font-size:12px;color:var(--muted);background:var(--sand);padding:2px 8px;border-radius:999px}.tool-category-header .category-chevron{font-size:10px;color:var(--muted);transition:transform .15s ease}.tool-category.expanded .tool-category-header{background:#f7f3ed}.tool-category.expanded .tool-category-header .category-chevron{transform:rotate(0)}.tool-category-tools{padding:8px 12px 12px 44px;animation:fadeIn .15s ease}.tool-category-tools .category-description{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.4}.tool-item{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:13px;color:var(--ink);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);text-align:left;margin-bottom:4px;touch-action:manipulation}.tool-item:hover:not(:disabled){background:var(--sand);border-color:var(--clay)}.tool-item:disabled{opacity:.5;cursor:not-allowed}.tool-item .tool-item-content{flex:1;display:flex;flex-direction:column;gap:2px}.tool-item .tool-name{text-transform:capitalize}.tool-item .tool-example{font-size:11px;color:#1e40af;font-style:italic}.tool-item .tool-badges{display:flex;gap:4px}.tool-item .tool-badge{font-size:11px;opacity:.7}.tool-item .tool-badge.state-changing{color:var(--warning)}.tool-item .tool-badge.requires-job{color:var(--sky)}.chat-tip{margin-top:12px;font-size:12px}@media (max-width: 959px){.tool-categories-expanded{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:70vh;border-radius:16px 16px 0 0;margin-top:0;animation:slideUp .2s cubic-bezier(.4,0,.2,1)}.tool-categories-header{border-radius:16px 16px 0 0}.tool-item{min-height:48px;padding:12px 10px}.tool-category-header{min-height:48px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.scope-row-9col{grid-template-columns:2fr .8fr .9fr .9fr .8fr .6fr .8fr 2fr .4fr!important}.scope-row-10col{grid-template-columns:2fr .5fr .8fr .9fr .9fr .8fr .6fr .8fr 2fr .4fr!important}.scope-row-11col{grid-template-columns:2fr .5fr .9fr .8fr .9fr .9fr .8fr .6fr .8fr 2fr .4fr!important}.scope-row-11col-v2{grid-template-columns:2fr .5fr .8fr .9fr .9fr .8fr .6fr .7fr 1fr 1.6fr .4fr!important}.scope-row-12col-v2{grid-template-columns:2fr .5fr .9fr .8fr .9fr .9fr .8fr .6fr .7fr 1fr 1.6fr .4fr!important}.scope-row-11col-v2>span:first-child,.scope-row-11col-v2>div:first-child,.scope-row-12col-v2>span:first-child,.scope-row-12col-v2>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.scope-row-11col-v2>span:nth-child(2),.scope-row-12col-v2>span:nth-child(2){display:flex;align-items:center;justify-content:center}.scope-row-12col-v2>span:nth-child(3){display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-row-11col-v2>span:nth-child(3),.scope-row-11col-v2>span:nth-child(4),.scope-row-11col-v2>span:nth-child(5),.scope-row-11col-v2>span:nth-child(6),.scope-row-11col-v2>span:nth-child(7),.scope-row-11col-v2>span:nth-child(8),.scope-row-11col-v2>span:nth-child(9),.scope-row-12col-v2>span:nth-child(4),.scope-row-12col-v2>span:nth-child(5),.scope-row-12col-v2>span:nth-child(6),.scope-row-12col-v2>span:nth-child(7),.scope-row-12col-v2>span:nth-child(8),.scope-row-12col-v2>span:nth-child(9),.scope-row-12col-v2>span:nth-child(10){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-row-11col-v2>span.action-buttons,.scope-row-12col-v2>span.action-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.scope-row-11col-v2 .scope-notes-checklist,.scope-row-12col-v2 .scope-notes-checklist{position:relative;overflow:visible}.scope-row-11col>span:first-child,.scope-row-11col>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.scope-row-11col>span:nth-child(2){display:flex;align-items:center;justify-content:center}.scope-row-11col>span:nth-child(3),.scope-row-11col>span:nth-child(4),.scope-row-11col>span:nth-child(5),.scope-row-11col>span:nth-child(6),.scope-row-11col>span:nth-child(7),.scope-row-11col>span:nth-child(8){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-row-11col>span.action-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.add-contract-value-btn{background:none;border:1px dashed var(--muted, #999);border-radius:4px;color:var(--muted, #999);cursor:pointer;font-size:.75em;padding:2px 8px;transition:all .15s ease}.add-contract-value-btn:hover{border-color:var(--accent, #b45309);color:var(--accent, #b45309);background:#b453090d}.scope-row-10col>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.scope-row-10col>span:nth-child(2){display:flex;align-items:center;justify-content:center}.scope-row-10col>span:nth-child(3),.scope-row-10col>span:nth-child(4),.scope-row-10col>span:nth-child(5),.scope-row-10col>span:nth-child(6),.scope-row-10col>span:nth-child(7){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-row-10col>span.action-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.scope-row-9col>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.scope-row-9col>span:nth-child(2),.scope-row-9col>span:nth-child(3),.scope-row-9col>span:nth-child(4),.scope-row-9col>span:nth-child(5),.scope-row-9col>span:nth-child(6){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-row-9col>span.action-buttons{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.line-items-btn .btn-text-short{display:none}.line-items-btn .btn-text-full{display:inline}.scope-row-container{display:contents}.expand-toggle{display:flex;align-items:center;justify-content:center}.expand-btn{padding:4px 8px!important;color:var(--terracotta)}.expand-btn:hover{background:#b86b4c1a}.scope-row-expanded{background:#f7f3ed!important;border-bottom:none}.scope-expanded-detail{grid-column:1 / -1;background:#faf8f5;border-left:3px solid var(--terracotta);margin:0 0 8px;padding:12px 16px;border-radius:0 0 8px 8px;animation:slideDown .2s cubic-bezier(.4,0,.2,1);max-height:400px;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c4b5a0 #f5f0e8;max-width:100%;box-sizing:border-box}.scope-expanded-detail::-webkit-scrollbar{width:8px;height:8px}.scope-expanded-detail::-webkit-scrollbar-track{background:#f5f0e8;border-radius:4px}.scope-expanded-detail::-webkit-scrollbar-thumb{background:#c4b5a0;border-radius:4px;border:2px solid #f5f0e8}.scope-expanded-detail::-webkit-scrollbar-thumb:hover{background:#a89880}.expand-btn svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.scope-detail-loading{display:flex;align-items:center;gap:8px;color:var(--muted);padding:16px;font-size:14px}.scope-detail-error{padding:12px 16px;color:var(--danger);background:#fdf2f1;border-radius:6px;font-size:14px}.scope-detail-section{margin-bottom:16px}.scope-detail-section:last-child{margin-bottom:0}.scope-detail-heading{font-size:13px;font-weight:600;color:var(--steel);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.scope-detail-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.scope-detail-table thead{background:#f0ebe3}.scope-detail-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--steel);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0d9d0}.scope-detail-table td{padding:10px 12px;border-bottom:1px solid #f0ebe3;color:var(--ink)}.scope-detail-table tbody tr:last-child td{border-bottom:none}.scope-detail-table tbody tr:hover{background:#faf8f5}.scope-detail-table .align-right{text-align:right}.scope-detail-table .notes-col{width:200px;min-width:150px;max-width:250px}.scope-detail-table .notes-wrap{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;color:var(--muted);font-size:12px}.scope-detail-table .actions-col{width:120px;min-width:100px;white-space:nowrap;text-align:center}.inline-action-btn{padding:4px 8px;font-size:11px;font-weight:500;border:1px solid var(--clay);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;transition:all .15s ease;margin-right:4px}.inline-action-btn:hover{background:var(--mist);border-color:var(--steel)}.inline-action-btn.danger{color:#c53030;border-color:#fed7d7}.inline-action-btn.danger:hover{background:#fff5f5;border-color:#fc8181;color:#9b2c2c}.mob-date-input:focus{outline:none;border-color:var(--clay);box-shadow:none}.mob-date-input:focus-visible{outline:none;border-color:var(--clay)}@media (max-width: 1100px){.scope-row-9col{grid-template-columns:1.8fr .7fr .8fr .8fr .7fr .5fr .7fr 1.6fr .4fr!important}.scope-row-10col{grid-template-columns:1.6fr .4fr .7fr .8fr .8fr .7fr .5fr .7fr 1.6fr .4fr!important}.scope-detail-table{font-size:12px}.scope-detail-table th,.scope-detail-table td{padding:8px 10px}.scope-detail-table .notes-col{width:150px;min-width:100px;max-width:180px}}@media (max-width: 959px){.job-table-weekly{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px;margin:0 -12px;padding-left:12px;padding-right:12px}.job-table-weekly .job-table-row{min-width:950px}.tab-panel-header{flex-direction:column;align-items:stretch;gap:12px}.tab-panel-header h3{margin:0}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.action-buttons .primary-button,.action-buttons .ghost-button{width:100%;justify-content:center;white-space:nowrap;font-size:13px;padding:10px 12px}.scope-row-container{display:block!important;margin-bottom:12px}.scope-row-9col{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay)}.scope-row-9col span:nth-child(1){grid-column:1 / -1;grid-row:1;font-weight:600;font-size:.95rem;color:var(--ink);padding-bottom:8px;border-bottom:1px solid var(--clay);margin-bottom:4px}.scope-row-9col span:nth-child(2),.scope-row-9col span:nth-child(3),.scope-row-9col span:nth-child(4),.scope-row-9col span:nth-child(5){display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500}.scope-row-9col span:nth-child(2){grid-column:1;grid-row:2}.scope-row-9col span:nth-child(3){grid-column:2;grid-row:2}.scope-row-9col span:nth-child(4){grid-column:1;grid-row:3}.scope-row-9col span:nth-child(5){grid-column:2;grid-row:3}.scope-row-9col span:nth-child(2):before{content:"Labor";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-9col span:nth-child(3):before{content:"Materials";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-9col span:nth-child(4):before{content:"Total";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-9col span:nth-child(5):before{content:"Spent";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-9col span:nth-child(6),.scope-row-9col span:nth-child(7){display:none!important}.scope-row-9col span:nth-child(8){grid-column:1;grid-row:4;display:flex!important;justify-content:flex-start;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-9col span:nth-child(8).action-buttons .ghost-button.small{font-size:12px;padding:8px 12px}.scope-row-9col span:nth-child(8).action-buttons .ghost-button.danger{display:inline-flex}.line-items-btn .btn-text-full{display:none}.line-items-btn .btn-text-short{display:inline}.scope-row-9col .expand-toggle{grid-column:2;grid-row:4;display:flex!important;justify-content:flex-end;align-items:center;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-9col .expand-toggle .expand-btn{padding:6px 10px;min-width:36px;min-height:36px;border-radius:6px;border:1px solid var(--clay);background:var(--card)}.scope-expanded-detail{padding:10px 12px}.scope-detail-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.scope-detail-table .notes-col{width:120px;min-width:80px;max-width:150px}.scope-table-expandable>.job-table-head{display:none!important}.scope-row-10col{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto auto auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay);max-width:100%;overflow:hidden;box-sizing:border-box}.scope-row-container{max-width:100%;overflow:hidden}.scope-row-10col>span:nth-child(1){grid-column:1;grid-row:1;font-weight:600;font-size:.95rem;color:var(--ink);display:flex!important;flex-wrap:wrap;align-items:center;gap:4px}.scope-row-10col>span:nth-child(2){grid-column:2;grid-row:1;display:flex!important;align-items:center;justify-content:flex-end;padding-bottom:0}.scope-row-10col>span:nth-child(3),.scope-row-10col>span:nth-child(4),.scope-row-10col>span:nth-child(5),.scope-row-10col>span:nth-child(6){display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px}.scope-row-10col>span:nth-child(3){grid-column:1;grid-row:2}.scope-row-10col>span:nth-child(4){grid-column:2;grid-row:2}.scope-row-10col>span:nth-child(5){grid-column:1;grid-row:3}.scope-row-10col>span:nth-child(6){grid-column:2;grid-row:3}.scope-row-10col>span:nth-child(3):before{content:"Labor";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-10col>span:nth-child(4):before{content:"Materials";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-10col>span:nth-child(5):before{content:"Total";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-10col>span:nth-child(6):before{content:"Spent";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-10col>span:nth-child(7),.scope-row-10col>span:nth-child(8){display:none!important}.scope-row-10col>span:nth-child(9){grid-column:1 / -1;grid-row:4;display:flex!important;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-10col>span:nth-child(9).action-buttons .ghost-button.small{font-size:12px;padding:8px 12px}.scope-row-10col>span:nth-child(9).action-buttons .line-items-btn{flex:3;text-align:center}.scope-row-10col>span:nth-child(9).action-buttons .ghost-button.danger{flex:1;text-align:center}.scope-row-10col>span:nth-child(10){grid-column:1 / -1;grid-row:5;display:flex!important;justify-content:flex-end;align-items:center;margin-top:2px}.scope-row-10col>span:nth-child(10) .expand-btn{padding:6px 10px;min-width:36px;min-height:36px;border-radius:6px;border:1px solid var(--clay);background:var(--card)}.scope-row-10col .tooltip-container .tooltip-popup{position:fixed;top:auto;bottom:20px;left:50%;transform:translate(-50%);min-width:90vw;max-width:95vw}.scope-row-10col .tooltip-container .tooltip-popup:after{display:none}.scope-row-11col{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto auto auto auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay);max-width:100%;overflow:hidden;box-sizing:border-box;position:relative}.scope-row-11col>span:nth-child(1),.scope-row-11col>div:nth-child(1){grid-column:1 / -1;grid-row:1;font-weight:600;font-size:.95rem}.scope-row-11col>span:nth-child(2){position:absolute;right:12px;top:12px}.scope-row-11col>span:nth-child(3){grid-column:1 / -1;grid-row:2;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500}.scope-row-11col>span:nth-child(3):before{content:"Contract Value";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col>span:nth-child(4),.scope-row-11col>span:nth-child(5),.scope-row-11col>span:nth-child(6),.scope-row-11col>span:nth-child(7){display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px}.scope-row-11col>span:nth-child(4){grid-column:1;grid-row:3}.scope-row-11col>span:nth-child(5){grid-column:2;grid-row:3}.scope-row-11col>span:nth-child(6){grid-column:1;grid-row:4}.scope-row-11col>span:nth-child(7){grid-column:2;grid-row:4}.scope-row-11col>span:nth-child(4):before{content:"Labor";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col>span:nth-child(5):before{content:"Materials";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col>span:nth-child(6):before{content:"Total";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col>span:nth-child(7):before{content:"Spent";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col>span:nth-child(8),.scope-row-11col>span:nth-child(9){display:none!important}.scope-row-11col>span:nth-child(10){grid-column:1 / -1;grid-row:5;display:flex!important;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-11col>span:nth-child(10).action-buttons .ghost-button.small{font-size:12px;padding:8px 12px}.scope-row-11col>span:nth-child(10).action-buttons .line-items-btn{flex:3;text-align:center}.scope-row-11col>span:nth-child(10).action-buttons .ghost-button.danger{flex:1;text-align:center}.scope-row-11col>span:nth-child(11){grid-column:1 / -1;grid-row:6;display:flex!important;justify-content:flex-end;align-items:center;margin-top:2px}.scope-row-11col>span:nth-child(11) .expand-btn{padding:6px 10px;min-width:36px;min-height:36px;border-radius:6px;border:1px solid var(--clay);background:var(--card)}.scope-row-11col .tooltip-container .tooltip-popup{position:fixed;top:auto;bottom:20px;left:50%;transform:translate(-50%);min-width:90vw;max-width:95vw}.scope-row-11col .tooltip-container .tooltip-popup:after{display:none}.scope-row-11col-v2{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto auto auto auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay);max-width:100%;overflow:hidden;box-sizing:border-box;position:relative}.scope-row-11col-v2>span:nth-child(1),.scope-row-11col-v2>div:nth-child(1){grid-column:1 / -1;grid-row:1;font-weight:600;font-size:.95rem;color:var(--ink);display:flex!important;flex-wrap:wrap;align-items:center;gap:4px}.scope-row-11col-v2>span:nth-child(2){position:absolute;right:12px;top:12px}.scope-row-11col-v2>span:nth-child(3),.scope-row-11col-v2>span:nth-child(4),.scope-row-11col-v2>span:nth-child(5),.scope-row-11col-v2>span:nth-child(6){display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible;text-overflow:unset}.scope-row-11col-v2>span:nth-child(3){grid-column:1;grid-row:2}.scope-row-11col-v2>span:nth-child(4){grid-column:2;grid-row:2}.scope-row-11col-v2>span:nth-child(5){grid-column:1;grid-row:3}.scope-row-11col-v2>span:nth-child(6){grid-column:2;grid-row:3}.scope-row-11col-v2>span:nth-child(3):before{content:"Labor";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(4):before{content:"Materials";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(5):before{content:"Total";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(6):before{content:"Spent";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(7){grid-column:1;grid-row:4;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible}.scope-row-11col-v2>span:nth-child(7):before{content:"Items";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(8){grid-column:2;grid-row:4;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible}.scope-row-11col-v2>span:nth-child(8):before{content:"PM Est %";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-11col-v2>span:nth-child(9){grid-column:1 / -1;grid-row:5;display:flex!important;align-items:center;gap:8px;padding-top:8px;overflow:visible}.scope-row-11col-v2>span:nth-child(10){grid-column:1 / -1;grid-row:6;display:flex!important;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-11col-v2>span:nth-child(10).action-buttons .ghost-button.small{font-size:12px;padding:8px 12px}.scope-row-11col-v2>span:nth-child(10).action-buttons .line-items-btn{flex:3;text-align:center}.scope-row-11col-v2>span:nth-child(10).action-buttons .ghost-button.danger{flex:1;text-align:center}.scope-row-11col-v2>span:nth-child(11){grid-column:1 / -1;grid-row:7;display:flex!important;justify-content:flex-end;align-items:center;margin-top:2px}.scope-row-11col-v2>span:nth-child(11) .expand-btn{padding:6px 10px;min-width:36px;min-height:36px;border-radius:6px;border:1px solid var(--clay);background:var(--card)}.scope-row-11col-v2 .tooltip-container .tooltip-popup{position:fixed;top:auto;bottom:20px;left:50%;transform:translate(-50%);min-width:90vw;max-width:95vw}.scope-row-11col-v2 .tooltip-container .tooltip-popup:after{display:none}.scope-row-12col-v2{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto auto auto auto auto;gap:8px 12px;padding:12px!important;background:var(--card);border-radius:8px;border:1px solid var(--clay);max-width:100%;overflow:hidden;box-sizing:border-box;position:relative}.scope-row-12col-v2>span:nth-child(1),.scope-row-12col-v2>div:nth-child(1){grid-column:1 / -1;grid-row:1;font-weight:600;font-size:.95rem;color:var(--ink);display:flex!important;flex-wrap:wrap;align-items:center;gap:4px}.scope-row-12col-v2>span:nth-child(2){position:absolute;right:12px;top:12px}.scope-row-12col-v2>span:nth-child(3){grid-column:1 / -1;grid-row:2;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;white-space:normal;overflow:visible;text-overflow:unset}.scope-row-12col-v2>span:nth-child(3):before{content:"Contract Value";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(4),.scope-row-12col-v2>span:nth-child(5),.scope-row-12col-v2>span:nth-child(6),.scope-row-12col-v2>span:nth-child(7){display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible;text-overflow:unset}.scope-row-12col-v2>span:nth-child(4){grid-column:1;grid-row:3}.scope-row-12col-v2>span:nth-child(5){grid-column:2;grid-row:3}.scope-row-12col-v2>span:nth-child(6){grid-column:1;grid-row:4}.scope-row-12col-v2>span:nth-child(7){grid-column:2;grid-row:4}.scope-row-12col-v2>span:nth-child(4):before{content:"Labor";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(5):before{content:"Materials";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(6):before{content:"Total";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(7):before{content:"Spent";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(8){grid-column:1;grid-row:5;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible}.scope-row-12col-v2>span:nth-child(8):before{content:"Items";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(9){grid-column:2;grid-row:5;display:flex!important;flex-direction:column;font-size:.85rem;font-weight:500;padding-top:8px;white-space:normal;overflow:visible}.scope-row-12col-v2>span:nth-child(9):before{content:"PM Est %";font-size:.65rem;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scope-row-12col-v2>span:nth-child(10){grid-column:1 / -1;grid-row:6;display:flex!important;align-items:center;gap:8px;padding-top:8px;overflow:visible}.scope-row-12col-v2>span:nth-child(11){grid-column:1 / -1;grid-row:7;display:flex!important;align-items:center;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--clay)}.scope-row-12col-v2>span:nth-child(11).action-buttons .ghost-button.small{font-size:12px;padding:8px 12px}.scope-row-12col-v2>span:nth-child(11).action-buttons .line-items-btn{flex:3;text-align:center}.scope-row-12col-v2>span:nth-child(11).action-buttons .ghost-button.danger{flex:1;text-align:center}.scope-row-12col-v2>span:nth-child(12){grid-column:1 / -1;grid-row:8;display:flex!important;justify-content:flex-end;align-items:center;margin-top:2px}.scope-row-12col-v2>span:nth-child(12) .expand-btn{padding:6px 10px;min-width:36px;min-height:36px;border-radius:6px;border:1px solid var(--clay);background:var(--card)}.scope-row-12col-v2 .tooltip-container .tooltip-popup{position:fixed;top:auto;bottom:20px;left:50%;transform:translate(-50%);min-width:90vw;max-width:95vw}.scope-row-12col-v2 .tooltip-container .tooltip-popup:after{display:none}}.analytics-modal-content{max-height:70vh;overflow-y:auto;padding-bottom:8px}.time-range-selector{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.time-range-btn{padding:10px 20px;min-height:44px;border:1px solid var(--clay);background:transparent;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);color:var(--steel)}.time-range-btn:hover:not(.active):not(:disabled){background:#f7f3ed;border-color:var(--clay)}.time-range-btn.active{background:var(--rust);color:#fffaf2;border-color:var(--rust)}.time-range-btn:disabled{opacity:.6;cursor:not-allowed}.analytics-summary{display:flex;gap:16px;align-items:center;justify-content:center;margin-bottom:20px;padding:16px;background:#f7f3ed;border-radius:12px}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:28px;font-weight:700;color:var(--ink);font-family:Bebas Neue,Impact,sans-serif;letter-spacing:1px}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.summary-period{margin-left:auto}.period-label{font-size:12px;color:var(--muted)}.analytics-agents{display:flex;flex-direction:column;gap:12px}.agent-section{border:1px solid var(--clay);border-radius:12px;overflow:hidden;transition:box-shadow .15s ease}.agent-section:hover{box-shadow:0 2px 8px #1f242614}.agent-section-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f7f3ed;cursor:pointer;min-height:52px;border:none;width:100%;text-align:left;font-family:inherit;transition:background .15s ease}.agent-section-header:hover{background:#f0ebe3}.agent-icon{font-size:22px;line-height:1}.agent-name{flex:1;font-weight:600;font-size:15px;color:var(--ink)}.agent-badges{display:flex;align-items:center;margin-left:auto}.agent-badges .badge.customized{font-size:12px;padding:3px 8px;background:var(--sand, #f5f0e8);border:1px solid var(--border, #e5e0d8);border-radius:4px;color:var(--ink, #2d2d2d);white-space:nowrap}.agent-count{font-size:13px;color:var(--steel);padding:4px 12px;background:var(--card);border-radius:999px;font-weight:500}.agent-chevron{font-size:12px;color:var(--muted);transition:transform .2s ease}.agent-section.expanded .agent-chevron{transform:rotate(90deg)}.agent-tools-content{border-top:1px solid var(--clay);background:var(--card)}.tool-bar-chart{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.tool-bar-header{display:flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--clay);margin-bottom:4px}.tool-bar-header-label{width:150px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tool-bar-header-usage{flex:1;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;min-width:80px}.tool-bar-header-count{min-width:36px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:right}.tool-bar-header-accuracy{min-width:40px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:right;cursor:help;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.tool-bar-row{display:flex;align-items:center;gap:10px}.tool-bar-label{display:flex;align-items:center;gap:6px;width:150px;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;flex-shrink:0}.tool-bar-container{flex:1;height:20px;background:var(--clay);border-radius:4px;overflow:hidden;min-width:80px}.tool-bar-fill{height:100%;border-radius:4px;transition:width .3s ease;min-width:4px}.tool-bar-fill.success-high{background:var(--success)}.tool-bar-fill.success-medium{background:var(--warning)}.tool-bar-fill.success-low{background:var(--danger)}.tool-bar-count{min-width:36px;font-size:13px;font-weight:600;text-align:right;color:var(--ink)}.tool-bar-success{min-width:40px;font-size:12px;text-align:right;font-weight:500}.tool-bar-success.success-high{color:var(--success)}.tool-bar-success.success-medium{color:var(--warning)}.tool-bar-success.success-low{color:var(--danger)}.graph-brain-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:14px;transition:background .15s ease,transform .15s ease;flex-shrink:0}.graph-brain-icon:hover{background:#c66c431f;transform:scale(1.1)}.graph-brain-icon:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.graph-relationships-modal .modal-content{max-width:600px}.graph-modal-title{display:flex;align-items:center;gap:8px}.graph-modal-icon{font-size:20px}.graph-modal-content{padding:4px 0}.graph-modal-loading,.graph-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;gap:12px}.graph-modal-loading p,.graph-modal-error p{margin:0;color:var(--muted);font-size:14px}.graph-modal-error{color:var(--danger)}.graph-modal-error .error-icon{font-size:28px}.graph-modal-stats{display:flex;gap:16px;padding:12px 16px;background:#faf8f5;border-radius:8px;margin-bottom:16px}.graph-stat{display:flex;flex-direction:column;align-items:center;flex:1}.graph-stat-value{font-size:24px;font-weight:700;color:var(--ink);line-height:1.2}.graph-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.graph-modal-description{padding:0 4px;font-size:14px;line-height:1.6;color:var(--ink)}.graph-modal-description h1,.graph-modal-description h2,.graph-modal-description h3{margin-top:16px;margin-bottom:8px;color:var(--ink)}.graph-modal-description h1:first-child,.graph-modal-description h2:first-child,.graph-modal-description h3:first-child{margin-top:0}.graph-modal-description p{margin:0 0 12px}.graph-modal-description strong{color:var(--rust)}.graph-modal-calls{margin-top:20px;border-top:1px solid var(--clay);padding-top:12px}.graph-modal-calls summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);padding:8px 0;list-style:none;display:flex;align-items:center;gap:6px}.graph-modal-calls summary:before{content:"▶";font-size:10px;color:var(--muted);transition:transform .2s ease}.graph-modal-calls[open] summary:before{transform:rotate(90deg)}.graph-calls-list{display:flex;flex-direction:column;gap:10px;padding-top:8px}.graph-call-item{padding:10px 12px;background:#faf8f5;border-radius:8px}.graph-call-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.graph-call-date{font-size:12px;color:var(--muted)}.graph-call-insights{font-size:12px;font-weight:500;color:var(--rust)}.graph-call-entities{display:flex;flex-wrap:wrap;gap:4px}.entity-chip{display:inline-flex;padding:2px 8px;background:#fff;border:1px solid var(--clay);border-radius:4px;font-size:11px;color:var(--steel);text-transform:capitalize}.graph-modal-details{margin-top:16px;border:1px solid var(--clay);border-radius:8px;overflow:hidden}.graph-modal-details summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);padding:12px 16px;background:#faf8f5;list-style:none;display:flex;align-items:center;gap:8px;transition:background .15s ease}.graph-modal-details summary:hover{background:#f5f0e8}.graph-modal-details summary:before{content:"▶";font-size:10px;color:var(--muted);transition:transform .2s ease}.graph-modal-details[open] summary:before{transform:rotate(90deg)}.graph-details-content{padding:12px 16px;display:flex;flex-direction:column;gap:16px}.graph-rel-group{display:flex;flex-direction:column;gap:8px}.graph-rel-type{font-size:13px;font-weight:600;color:var(--rust);margin:0;padding-bottom:6px;border-bottom:1px solid var(--clay)}.graph-rel-list{display:flex;flex-direction:column;gap:8px}.graph-rel-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#faf8f5;border-radius:6px;gap:12px}.graph-rel-edge{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.graph-rel-source,.graph-rel-target{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-rel-arrow{font-size:12px;color:var(--muted);flex-shrink:0}.graph-rel-metrics{display:flex;gap:12px;flex-shrink:0}.graph-rel-strength,.graph-rel-confidence{font-size:12px;font-weight:500;white-space:nowrap}.graph-rel-strength{color:var(--ink)}.graph-rel-confidence{color:var(--muted)}.graph-rel-more,.graph-entity-more{font-size:12px;color:var(--muted);font-style:italic;margin:4px 0 0}.graph-entity-group{display:flex;flex-direction:column;gap:8px}.graph-entity-type{font-size:13px;font-weight:600;color:var(--steel);margin:0;padding-bottom:6px;border-bottom:1px solid var(--clay)}.graph-entity-list{display:flex;flex-direction:column;gap:6px}.graph-entity-item{padding:8px 12px;background:#faf8f5;border-radius:6px}.graph-entity-name{font-size:13px;font-weight:500;color:var(--ink);display:block}.graph-entity-props{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.graph-entity-prop{font-size:11px;color:var(--muted);background:#fff;padding:2px 8px;border-radius:4px;border:1px solid var(--clay)}.uncalled-section{margin-top:16px;border:1px dashed var(--clay);border-radius:12px;overflow:hidden}.uncalled-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;min-height:48px;border:none;background:transparent;width:100%;text-align:left;font-family:inherit;transition:background .15s ease}.uncalled-header:hover{background:#faf8f5}.uncalled-icon{font-size:18px}.uncalled-title{flex:1;font-size:14px;color:var(--muted);font-weight:500}.uncalled-chevron{font-size:12px;color:var(--muted);transition:transform .2s ease}.uncalled-section:has(.uncalled-header[aria-expanded=true]) .uncalled-chevron{transform:rotate(90deg)}.uncalled-content{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.uncalled-agent-group{display:flex;flex-direction:column;gap:6px}.uncalled-agent-name{font-size:12px;font-weight:600;color:var(--steel);text-transform:uppercase;letter-spacing:.5px}.uncalled-tools-list{display:flex;flex-wrap:wrap;gap:6px}.uncalled-tool{display:inline-flex;align-items:center;padding:4px 10px;background:#f7f3ed;border-radius:6px;font-size:12px;color:var(--steel);text-transform:capitalize}.analytics-loading,.analytics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.analytics-loading p,.analytics-error p{margin:0;color:var(--muted);font-size:14px}.analytics-error{color:var(--danger)}.analytics-error .error-icon{font-size:32px}.analytics-empty{padding:32px 16px;text-align:center;color:var(--muted);font-size:14px}.analytics-empty p{margin:0}.chat-header-actions .analytics-btn{font-size:16px;padding:6px 10px}.health-guide-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;margin-left:6px;font-size:16px;vertical-align:middle;border-radius:50%;transition:all .2s ease}.health-guide-btn:hover{background:#c7882b26;transform:scale(1.1)}.health-guide-content{max-height:70vh;overflow-y:auto;padding-right:8px}.health-guide-content .guide-intro{font-size:15px;color:var(--text);margin-bottom:20px;line-height:1.6}.health-guide-content .guide-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e1d6}.health-guide-content .guide-section:last-child{border-bottom:none}.health-guide-content h3{font-size:16px;font-weight:600;color:var(--primary);margin-bottom:12px}.health-guide-content h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.guide-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}.guide-table th,.guide-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e8e1d6}.guide-table th{background:#f7f3ed;font-weight:600;color:var(--muted)}.guide-table.compact td{padding:6px 8px}.health-guide-content .status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.health-guide-content .status-badge.success{background:#3f7b5926;color:var(--success)}.health-guide-content .status-badge.warning{background:#c7882b26;color:var(--warning)}.health-guide-content .status-badge.danger{background:#b7423226;color:var(--danger)}.guide-examples{display:grid;grid-template-columns:1fr 1fr;gap:16px}.example-group ul{list-style:none;padding:0;margin:0}.example-group li{padding:6px 0;font-size:13px;color:var(--text);border-bottom:1px dashed #e8e1d6}.example-group li:last-child{border-bottom:none}.guide-tips{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tip-card{padding:12px;border-radius:8px;font-size:13px}.tip-card.warning{background:#c7882b1a;border-left:3px solid var(--warning)}.tip-card.danger{background:#b742321a;border-left:3px solid var(--danger)}.tip-card h4{margin:0 0 8px}.tip-card ol{margin:0;padding-left:18px}.tip-card li{margin-bottom:4px}.quick-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-ref-item{display:flex;flex-direction:column;padding:8px;background:#f7f3ed;border-radius:6px;font-size:12px;text-align:center}.quick-ref-item strong{margin-bottom:4px}.quick-ref-item .success{color:var(--success)}.quick-ref-item .warning{color:var(--warning)}.quick-ref-item .danger{color:var(--danger)}.guide-tip{background:#c7882b1a;padding:10px 12px;border-radius:6px;font-size:13px;margin-top:12px}.modal-content:has(.health-guide-content){max-width:680px}.health-guide-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e8e1d6}.health-guide-tab{padding:8px 16px;border:1px solid #cdbfae;background:transparent;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--steel)}.health-guide-tab:hover{background:#b45a3c14;border-color:var(--rust)}.health-guide-tab.active{background:var(--ink);color:#fffaf2;border-color:var(--ink)}.health-guide-content .status-badge.info{background:#3a6c8e26;color:var(--info)}.health-guide-content .tip-card.info{background:#3a6c8e14;border-left:3px solid var(--info);padding:12px 16px;border-radius:0 8px 8px 0}.health-guide-content .tip-card.info h4{color:var(--info);margin-bottom:8px}.health-guide-content .tip-card.info p{margin:0 0 12px;font-size:14px;line-height:1.5}.health-guide-content .tip-card.info ol{margin:0;padding-left:20px}.health-guide-content .tip-card.info li{margin-bottom:4px;font-size:13px}.guide-example-scenario{background:#5d7b6a0f;border-radius:8px;padding:16px;margin-bottom:12px}.guide-example-scenario>p{margin:0 0 12px;font-size:14px;line-height:1.5}@media (max-width: 959px){.guide-examples,.guide-tips{grid-template-columns:1fr}.quick-ref-grid{grid-template-columns:repeat(2,1fr)}.modal-content:has(.health-guide-content){max-width:100%;margin:0 12px}.health-guide-content{max-height:65vh}.health-guide-btn{min-width:44px;min-height:44px}}.modal-content:has(.analytics-modal-content){max-width:720px}@media (max-width: 959px){.analytics-modal-content{max-height:65vh}.modal-content:has(.analytics-modal-content){max-width:100%;margin:0 12px}.tool-bar-header{display:none}.tool-bar-label{width:110px;font-size:12px}.agent-section-header,.tool-bar-chart{padding:12px 14px}.analytics-summary{flex-wrap:wrap;gap:12px}.summary-period{margin-left:0;width:100%;text-align:center}.stat-value{font-size:24px}.time-range-btn{padding:8px 14px;font-size:13px}.graph-modal-stats{flex-wrap:wrap;gap:12px}.graph-stat{min-width:70px}.graph-brain-icon{width:32px;height:32px;font-size:16px}.graph-rel-item{flex-direction:column;align-items:flex-start;gap:8px}.graph-rel-edge{flex-wrap:wrap}.graph-rel-source,.graph-rel-target{font-size:12px}.graph-rel-metrics{width:100%;justify-content:flex-start}.graph-entity-props{flex-direction:column;gap:4px}}.wizard-overlay{background:#fff;display:flex;flex-direction:column;min-height:300px;box-sizing:border-box;width:100%}.wizard-container{flex:1;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.material-system-import-wizard .wizard-step{display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.material-system-import-wizard .system-list{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto}.material-system-import-wizard .job-systems-scroll{max-height:400px;overflow-y:auto;padding-right:8px;display:flex;flex-direction:column;gap:8px}.material-system-import-wizard .system-card-wrapper{display:flex;flex-direction:column}.material-system-import-wizard .system-card{padding:12px 16px;border:1px solid var(--border, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .15s ease;background:#fff}.material-system-import-wizard .system-card:hover{border-color:var(--sky, #416c86);box-shadow:0 2px 8px #00000014}.material-system-import-wizard .system-card.selected{border-color:var(--sky, #416c86);background:#416c860d}.material-system-import-wizard .system-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.material-system-import-wizard .system-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted, #666)}.material-system-import-wizard .source-doc-tag{font-size:11px;padding:2px 8px;background:var(--clay, #e8ddd0);border-radius:4px;color:var(--text, #333)}.material-system-import-wizard .system-details-panel{padding:16px;background:var(--mist, #f7f4f0);border:1px solid var(--border, #e0e0e0);border-top:none;border-radius:0 0 8px 8px;margin-top:-1px}.material-system-import-wizard .system-details-panel .component-list{margin-top:12px}.material-system-import-wizard .system-details-panel .component-list ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.material-system-import-wizard .system-details-panel .component-list li{display:flex;justify-content:space-between;padding:6px 10px;background:#fff;border-radius:4px;font-size:13px}.material-system-import-wizard .source-document-link{margin-top:16px;padding-top:12px;border-top:1px solid var(--border, #e0e0e0)}.material-system-import-wizard .view-source-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--sky, #416c86);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.material-system-import-wizard .view-source-button:hover{background:#365a70}.material-system-import-wizard .collapsible-section{border:1px solid var(--border, #e0e0e0);border-radius:8px;overflow:hidden}.material-system-import-wizard .collapsible-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--mist, #f7f4f0);border:none;cursor:pointer;font-size:14px;font-weight:500;text-align:left}.material-system-import-wizard .collapsible-toggle:hover{background:#ebe6e0}.material-system-import-wizard .collapsible-content{padding:12px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.material-system-import-wizard .section-count{color:var(--muted, #666);font-weight:400}.material-system-import-wizard .details-toggle{font-size:12px;padding:4px 8px;background:transparent;border:1px solid var(--border, #e0e0e0);border-radius:4px;cursor:pointer;color:var(--sky, #416c86)}.material-system-import-wizard .details-toggle:hover{background:#416c861a}.crew-panel{display:flex;flex-direction:column;gap:1rem}.crew-panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 959px){.crew-panel-columns{grid-template-columns:1fr}}.scope-assignments-list{display:flex;flex-direction:column;gap:8px}.scope-assignment-card{border:1px solid var(--border, #e5e0d8);border-radius:10px;padding:10px 12px;background:var(--surface, #fff);transition:box-shadow .15s}.scope-assignment-card:hover{box-shadow:0 1px 4px #0000000f}.scope-assignment-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.scope-assignment-card-names{display:flex;align-items:center;gap:6px;flex:1;min-width:0;font-size:.85rem;font-weight:500}.scope-assignment-crew{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%;color:var(--ink, #1a1a2e)}.scope-assignment-arrow{color:var(--muted, #6b7280);flex-shrink:0;font-size:.8rem}.scope-assignment-scope{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:var(--rust, #b45a3c)}.scope-assignment-card-actions-row{display:flex;align-items:center;gap:4px;flex-shrink:0}.scope-assignment-card-actions-row .ghost-button.small{padding:2px 6px;font-size:.8rem;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.scope-assignment-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:.75rem;color:var(--muted, #6b7280)}.scope-assignment-card-meta .role-badge{font-size:.68rem!important;padding:1px 6px!important}.scope-assignment-card .scope-assign-status{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:500;white-space:nowrap;text-transform:capitalize}.scope-assign-status.active,.scope-assign-status.scheduled{background:#fef3c7;color:#92400e}.scope-assign-status.completed{background:#d1fae5;color:#065f46}.scope-assign-status.cancelled{background:#fee2e2;color:#991b1b}.scope-assign-status.pending{background:#e0f2fe;color:#0369a1}.scope-assignment-card .scope-assign-role{display:inline-block;padding:2px 6px;border-radius:10px;background:#7c8a78;color:#fff;font-size:.68rem;white-space:nowrap}.scope-assignment-card .scope-assign-delete{color:#b91c1c}@media (max-width: 479px){.scope-assignment-card-names{flex-wrap:wrap}.scope-assignment-crew{max-width:100%}}.labor-gantt-wrapper{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c4b5a0 #f5f0e8}.labor-gantt-wrapper::-webkit-scrollbar{height:10px}.labor-gantt-wrapper::-webkit-scrollbar-track{background:#f5f0e8;border-radius:5px}.labor-gantt-wrapper::-webkit-scrollbar-thumb{background:#c4b5a0;border-radius:5px;border:2px solid #f5f0e8}.labor-gantt-wrapper::-webkit-scrollbar-thumb:hover{background:#a89880}.labor-gantt-container{border:1px solid var(--border, #e5e0d8);border-radius:.5rem;overflow:hidden;background:var(--surface, #fff);min-width:600px}.labor-gantt-timeline-header{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--border, #e5e0d8);background:var(--surface-alt, #f9f7f4)}.labor-gantt-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--border-light, #f0ece4);min-height:48px}@media (max-width: 959px){.labor-gantt-timeline-header,.labor-gantt-row{grid-template-columns:130px 1fr}}.crew-list{display:flex;flex-direction:column;gap:.75rem}.crew-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.crew-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;cursor:pointer;transition:background .15s ease}.crew-header:hover{background:#00000005}.crew-info{display:flex;align-items:baseline;gap:.5rem;min-width:0}.crew-info h4{margin:0;font-size:1rem;font-weight:600;flex-shrink:0}.crew-actions{display:flex;align-items:center;gap:.75rem}@media (max-width: 959px){.crew-header{flex-wrap:wrap;gap:6px;padding:.5rem .75rem}.crew-info{flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}.crew-info h4{font-size:.95rem}.crew-info .muted{font-size:.78rem}.crew-actions{gap:.5rem;flex-wrap:wrap}.crew-actions .primary-button.small{font-size:.75rem;padding:4px 10px}.crew-actions .ghost-button.small{font-size:.75rem;padding:4px 8px}}.expand-icon{color:var(--muted);font-size:.75rem}.crew-members{border-top:1px solid var(--clay);padding:1rem 1.25rem;background:#00000003}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.member-item{display:flex;flex-direction:column;align-items:flex-start;padding:.5rem .75rem;background:#fff;border-radius:8px;border:1px solid var(--clay)}.member-item .member-info{display:flex;flex-direction:column;width:100%}.member-name{font-weight:500}.member-contact{font-size:.85rem}.member-skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.empty-state{text-align:center;padding:2rem;color:var(--steel)}.empty-state p{margin:.5rem 0}.skill-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin:2px;border-radius:14px;font-size:12px;font-weight:500;white-space:nowrap}.skill-badge .skill-rating{display:flex;gap:2px}.skill-badge .skill-rating-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4}.skill-badge .skill-rating-dot.filled{opacity:1}.skill-badge.rating-1{background:#f8d7da;color:var(--danger)}.skill-badge.rating-2{background:#fff3cd;color:#856404}.skill-badge.rating-3{background:#e0f0ff;color:var(--sky)}.skill-badge.rating-4{background:#d4edda;color:var(--sage)}.skill-badge.rating-5{background:#c8e6c9;color:var(--success)}.people-list{display:flex;flex-direction:column;gap:.5rem}.people-list-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.people-list-filter{width:100%;height:44px;padding:0 .75rem;border:1px solid var(--border, #e5e0d8);border-radius:var(--radius, 8px);font-size:.85rem;background:var(--surface, #fff);color:var(--ink, #1a1a2e)}.people-list-filter:focus{outline:none;border-color:var(--primary, #5b7458);box-shadow:0 0 0 2px #5b745826}.people-list-cards{display:flex;flex-direction:column;gap:6px}.person-card{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--border, #e5e0d8);border-radius:var(--radius, 8px);background:var(--surface, #fff);transition:box-shadow .15s,opacity .3s}.person-card:hover{box-shadow:0 1px 4px #0000000f}.person-card--removing{opacity:.5;pointer-events:none}.person-card-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.person-card-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.person-card-name{font-weight:600;font-size:.9rem;color:var(--ink, #1a1a2e)}.person-card-role-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap}.person-card-access{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;color:var(--muted, #6b7280)}.person-card-access-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.person-card-access-dot--green{background:var(--success, #2e7d32)}.person-card-access-dot--gray{background:var(--muted, #9ca3af)}.person-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.78rem}.person-card-crew-pill{display:inline-block;padding:1px 8px;border-radius:10px;background:var(--clay, #d4c5b2);color:var(--ink, #1a1a2e);font-size:.72rem;font-weight:500;white-space:nowrap}.person-card-multijob-badge{display:inline-block;padding:1px 6px;border-radius:8px;background:#fff3cd;color:#856404;font-size:.7rem;font-weight:500;white-space:nowrap}.person-card-contact{color:var(--muted, #6b7280);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.person-card-scopes{display:flex;gap:4px;flex-wrap:wrap}.person-card-scope-badge{display:inline-block;padding:1px 6px;border-radius:6px;font-size:.68rem;font-weight:500;background:#e8f0e8;color:var(--primary, #5b7458);white-space:nowrap}.person-card-scope-dates{opacity:.7;font-size:.65rem}.person-card-skills{display:flex;gap:4px;flex-wrap:wrap}.person-card-actions{display:flex;gap:4px;flex-shrink:0;align-items:flex-start}.person-card-action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border:none;border-radius:var(--radius, 8px);background:transparent;color:var(--muted, #6b7280);cursor:pointer;font-size:.85rem;transition:background .15s,color .15s}.person-card-action-btn:hover:not(:disabled){background:var(--hover-bg, #f5f0eb);color:var(--ink, #1a1a2e)}.person-card-action-btn--remove:hover:not(:disabled){background:#fce4e4;color:var(--danger, #dc3545)}.person-card-action-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 959px){.person-card{flex-direction:column}.person-card-actions{align-self:flex-end}.person-card-contact{max-width:100%}}.add-person-wizard{padding:.5rem 0;min-height:350px;display:flex;flex-direction:column}.add-person-wizard .progress-indicator{margin-bottom:1.25rem}.wizard-step-content{flex:1;animation:wizardFadeIn .2s ease-out}@keyframes wizardFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.wizard-step{display:flex;flex-direction:column;gap:1rem}.wizard-toggle-row{display:flex;gap:.5rem;margin-bottom:.25rem}.wizard-toggle-btn{padding:.5rem 1rem;border:1px solid var(--border, #d1d5db);border-radius:var(--radius, 6px);background:var(--bg, #fff);color:var(--text-secondary, #6b7280);cursor:pointer;font-size:.875rem;min-height:44px;transition:all .15s ease}.wizard-toggle-btn:hover{border-color:var(--accent, #5b7458);color:var(--text, #1f2937)}.wizard-toggle-btn.active{background:var(--accent, #5b7458);color:#fff;border-color:var(--accent, #5b7458)}.wizard-field-group{display:flex;flex-direction:column;gap:.375rem}.wizard-field-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #6b7280)}.wizard-field-group select,.wizard-field-group input{padding:.5rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:var(--radius, 6px);font-size:.875rem;min-height:44px;background:var(--bg, #fff);color:var(--text, #1f2937)}.wizard-field-group select:focus,.wizard-field-group input:focus{outline:none;border-color:var(--accent, #5b7458);box-shadow:0 0 0 2px #5b745826}.wizard-hint{font-size:.75rem;color:var(--text-tertiary, #9ca3af);margin-top:-.25rem}.wizard-field-row{display:flex;gap:.75rem}.wizard-field-row>.wizard-field-group{flex:1}.wizard-inline-crew-form{background:var(--bg-muted, #f9fafb);border:1px solid var(--border, #d1d5db);border-radius:var(--radius, 6px);padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.wizard-skip-button{display:flex;justify-content:flex-end;margin-bottom:.5rem}.wizard-skip-button button{padding:.375rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:var(--radius, 6px);background:var(--bg, #fff);color:var(--text-secondary, #6b7280);cursor:pointer;font-size:.8125rem;min-height:36px;transition:all .15s ease}.wizard-skip-button button:hover{border-color:var(--accent, #5b7458);color:var(--text, #1f2937)}.wizard-duration-calc{background:var(--bg-muted, #f9fafb);border:1px solid var(--border, #d1d5db);border-radius:var(--radius, 6px);padding:.75rem;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.wizard-duration-info{font-size:.8125rem;color:var(--text-secondary, #6b7280);line-height:1.4}.wizard-duration-result{font-size:.875rem;font-weight:600;color:var(--accent, #5b7458);padding:.5rem .75rem;background:#5b745814;border-radius:var(--radius, 6px)}.wizard-date-warning{font-size:.8125rem;color:var(--warning, #f59e0b);padding:.375rem .625rem;background:#fffbeb;border-radius:var(--radius, 6px);border-left:3px solid var(--warning, #f59e0b)}.wizard-conflicts{font-size:.8125rem;color:var(--danger, #dc3545);padding:.375rem .625rem;background:#fef2f2;border-radius:var(--radius, 6px);border-left:3px solid var(--danger, #dc3545)}.wizard-conflicts label{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;cursor:pointer}.wizard-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border, #d1d5db);padding-top:1rem;margin-top:1rem}.wizard-footer button{padding:.5rem 1.25rem;border-radius:var(--radius, 6px);font-size:.875rem;min-height:44px;cursor:pointer;transition:all .15s ease}.wizard-footer .wizard-btn-back{border:1px solid var(--border, #d1d5db);background:var(--bg, #fff);color:var(--text-secondary, #6b7280)}.wizard-footer .wizard-btn-back:hover{border-color:var(--accent, #5b7458);color:var(--text, #1f2937)}.wizard-footer .wizard-btn-next{border:none;background:var(--accent, #5b7458);color:#fff}.wizard-footer .wizard-btn-next:hover:not(:disabled){background:var(--accent-hover, #4a6347)}.wizard-footer .wizard-btn-next:disabled{opacity:.5;cursor:not-allowed}.wizard-error{color:var(--danger, #dc3545);font-size:.8125rem;padding:.5rem .75rem;background:#fef2f2;border-radius:var(--radius, 6px)}.wizard-smart-badge{display:inline-block;font-size:.6875rem;padding:.125rem .375rem;background:#5b74581f;color:var(--accent, #5b7458);border-radius:3px;margin-left:.25rem;font-weight:500}@media (max-width: 959px){.wizard-field-row,.wizard-toggle-row{flex-direction:column}.wizard-footer{flex-direction:column-reverse;gap:.5rem}.wizard-footer button{width:100%}}.status-badge.status-active{background:#d1e7dd;color:var(--success)}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-pending_deactivation{background:#f8d7da;color:var(--danger)}.status-badge.status-inactive{background:#e2e3e5;color:var(--muted)}.status-badge.status-suspended{background:#f8d7da;color:var(--danger);font-weight:600}.employee-form{max-width:100%}.employee-list{width:100%;overflow-x:auto}.employee-table{width:100%;min-width:900px}.employee-table th,.employee-table td{padding:12px 16px;white-space:nowrap}.employee-table td:nth-child(6){white-space:normal;min-width:200px}.employee-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.employee-table .inactive-row{opacity:.6;background:#f5f5f5}.employee-table .inactive-row td{color:var(--muted)}.phone-cell{min-width:150px}.phone-editable{cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;color:var(--sky);text-decoration:underline;font-size:13px}.phone-editable:hover{background:var(--clay);color:var(--rust)}.phone-edit-inline{display:flex;align-items:center;gap:4px}.phone-input{width:130px;padding:6px 10px;border:1px solid var(--sky);border-radius:6px;font-size:13px}.phone-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #416c8626}.icon-button.success{color:var(--success)}.icon-button.success:hover{background:#e8f5e9}.skill-modal{padding:28px 32px}.skill-modal h4{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--ink)}.skill-modal .form-stack{gap:20px}.skill-modal .form-field{margin-bottom:0}.skill-modal .form-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--clay)}.role-select{padding:6px 10px;border:1px solid var(--clay);border-radius:8px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;min-width:130px;transition:border-color .2s,box-shadow .2s}.role-select:hover{border-color:var(--sky)}.role-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #416c8626}.role-select.role-admin{border-color:var(--rust);background:#fef3f0}.role-select.role-pm{border-color:var(--sage);background:#f0f5f2}.role-select.role-estimator{border-color:var(--sky);background:#f0f5f8}.role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.role-badge.role-admin{background:#fdeee9;color:var(--rust)}.role-badge.role-pm{background:#e8f1ec;color:var(--sage)}.role-badge.role-estimator{background:#e0f0ff;color:var(--sky)}.role-badge.role-crew_lead{background:#fff3cd;color:#856404}.role-badge.role-foreman{background:#e2e3e5;color:var(--steel)}.role-badge.role-viewer{background:#f0f0f0;color:var(--muted)}.invite-form-group{margin-bottom:16px}.invite-form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:13px}.invite-form-group .role-option{padding:12px;border:1px solid var(--clay);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .15s,border-color .15s}.invite-form-group .role-option:hover{background:#fafafa;border-color:var(--sky)}.invite-form-group .role-option.selected{background:#e8f4f8;border-color:var(--sky)}.invite-form-group .role-option-name{font-weight:600;margin-bottom:2px}.invite-form-group .role-option-desc{font-size:12px;color:var(--muted)}.auth-method-options{display:flex;gap:16px;margin-top:8px}.auth-method-option{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--clay);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.auth-method-option:hover{background:#fafafa}.auth-method-option.selected{background:#e8f4f8;border-color:var(--sky)}.auth-method-option input[type=checkbox]{margin:0;cursor:pointer}.temp-password-display{padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-top:12px}.temp-password-display .password-label{font-size:12px;color:#856404;margin-bottom:4px}.temp-password-display .password-value{font-family:Courier New,monospace;font-size:16px;font-weight:600;color:#664d03;-webkit-user-select:all;user-select:all}.view-toggle-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#3f7b5914,#c7882b14);border-radius:var(--radius);margin-bottom:1rem;flex-wrap:wrap}.view-toggle-label{font-size:.875rem;font-weight:500;color:var(--steel)}.view-toggle-buttons{display:flex;gap:0;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.view-toggle-btn{padding:.5rem 1rem;min-height:44px;font-size:.875rem;font-weight:500;border:1px solid var(--clay);background:var(--card);color:var(--steel);cursor:pointer;transition:all .15s ease}.view-toggle-btn:first-child{border-radius:6px 0 0 6px}.view-toggle-btn:not(:last-child){border-right:none}.view-toggle-btn:last-child{border-radius:0 6px 6px 0}.view-toggle-btn:hover:not(.active){background:var(--clay)}.view-toggle-btn.active{background:var(--sage);color:#fff;border-color:var(--sage)}.view-toggle-btn:focus-visible{outline:2px solid var(--sage);outline-offset:2px;z-index:1}.view-toggle-hint{font-size:.8rem;color:var(--warning);font-style:italic;margin-left:auto}@media (max-width: 599px){.view-toggle-bar{flex-direction:column;align-items:stretch;gap:.5rem}.view-toggle-buttons{width:100%}.view-toggle-btn{flex:1}.view-toggle-hint{margin-left:0;text-align:center}}.foreman-scope-panel{display:flex;flex-direction:column;gap:1rem}.foreman-scope-panel .panel-header{margin-bottom:.5rem;background:var(--sand, #f5f0e8);border:1px solid var(--clay, #e5e0d8);border-radius:var(--radius, 12px);padding:1rem 1.25rem}.foreman-scope-panel .panel-header h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--ink, #1a1a2e)}.foreman-scope-panel .panel-header p{margin:0;font-size:.875rem;color:var(--muted, #6b7280)}.foreman-scope-panel .scope-list{display:flex;flex-direction:column;gap:.75rem}.foreman-scope-panel .scope-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.foreman-scope-panel .scope-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:500;text-align:left;transition:background-color .2s}.foreman-scope-panel .scope-header:hover{background:#00000008}.foreman-scope-panel .scope-name{font-weight:600;color:var(--ink)}.foreman-scope-panel .scope-toggle{color:var(--muted);font-size:.75rem}.foreman-scope-panel .scope-content{padding:0 1.25rem 1.25rem;border-top:1px solid var(--clay)}.foreman-scope-panel .usage-section{margin-top:1rem}.foreman-scope-panel .usage-section h4{margin:0 0 .75rem;font-size:.9rem;color:var(--steel);text-transform:uppercase;letter-spacing:.05em}.foreman-scope-panel .usage-section .table-wrap{font-size:.875rem}.foreman-scope-panel .usage-section .job-table-row{grid-template-columns:2fr .5fr .75fr .75fr .75fr .75fr .75fr}.foreman-scope-panel .usage-section .job-table-row.job-table-head{font-size:.75rem;text-transform:uppercase;color:var(--steel);background:#00000005}.material-usage-logger .job-table-row{grid-template-columns:2.5fr .6fr 1fr 1fr 1fr .8fr}.material-usage-logger .job-table-row.job-table-head{font-size:.75rem;text-transform:uppercase;color:var(--steel);background:#00000005}.foreman-scope-panel .job-table-row.over-budget{background:#c7882b1a}.foreman-scope-panel .status-pill.warning{font-size:.7rem;padding:.15rem .4rem}@media (max-width: 959px){.foreman-scope-panel .scope-header{min-height:44px;padding:.75rem 1rem}.foreman-scope-panel .panel-header h3{font-size:1.4rem}.foreman-scope-panel .panel-header p{font-size:1rem}.foreman-scope-panel .scope-content{padding:0 .75rem 1rem}.foreman-scope-panel .usage-section .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.foreman-scope-panel .usage-section .job-table-row{grid-template-columns:1.5fr .5fr .5fr .5fr .5fr .5fr .5fr;gap:.25rem;font-size:.75rem;padding:.5rem .25rem}.foreman-scope-panel .usage-section .job-table-head span{font-size:.65rem;word-break:break-word}.foreman-scope-panel .ghost-button.small{min-height:44px;min-width:44px;padding:.5rem;font-size:.875rem}.foreman-scope-panel .form-field input,.foreman-scope-panel .form-field textarea{min-height:44px;font-size:1rem;padding:.75rem}.foreman-scope-panel .form-actions button{min-height:44px;padding:.75rem 1.25rem;font-size:1rem}.material-usage-logger .job-table-row.job-table-head{display:none}.material-usage-logger .job-table-row.job-table-body{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto auto;gap:4px 12px;padding:12px!important;background:var(--card);border-radius:var(--radius, 8px);border:1px solid var(--clay, #e5e0d8);margin-bottom:8px}.material-usage-logger .job-table-row.job-table-body span:nth-child(1){grid-column:1 / -1;font-weight:600;font-size:.95rem;padding-bottom:6px;border-bottom:1px solid var(--clay, #e5e0d8);display:flex!important;align-items:center;gap:6px}.material-usage-logger .job-table-row.job-table-body span:nth-child(2){grid-column:1;grid-row:2;display:flex!important;flex-direction:column}.material-usage-logger .job-table-row.job-table-body span:nth-child(5){grid-column:2;grid-row:2;display:flex!important;flex-direction:column}.material-usage-logger .job-table-row.job-table-body span:nth-child(3),.material-usage-logger .job-table-row.job-table-body span:nth-child(4){display:none!important}.material-usage-logger .job-table-row.job-table-body span:nth-child(6){grid-column:1 / -1;grid-row:3;display:flex!important;justify-content:center;margin-top:6px;padding-top:8px;border-top:1px solid var(--clay, #e5e0d8)}.material-usage-logger .job-table-row.job-table-body span:nth-child(6) .ghost-button{width:100%;min-height:44px;font-size:1rem;font-weight:600;justify-content:center}.material-usage-logger .job-table-row.job-table-body span:nth-child(2):before,.material-usage-logger .job-table-row.job-table-body span:nth-child(5):before{content:attr(data-label);font-size:.65rem;color:var(--muted, #6b7280);text-transform:uppercase;letter-spacing:.3px;font-weight:500;margin-bottom:2px}.material-usage-logger .job-table-row.job-table-body span:nth-child(1):before{display:none}}@media (max-width: 599px){.foreman-scope-panel .usage-section .job-table-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;border-bottom:1px solid var(--clay);background:var(--card);margin-bottom:.5rem;border-radius:var(--radius)}.foreman-scope-panel .usage-section .job-table-row.job-table-head{display:none}.foreman-scope-panel .usage-section .job-table-row.job-table-body span{flex:1 1 30%;min-width:80px}.foreman-scope-panel .usage-section .job-table-row.job-table-body span:first-child{flex:1 1 100%;font-weight:600;font-size:1rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--clay)}.foreman-scope-panel .usage-section .job-table-row.job-table-body span:last-child{flex:1 1 100%;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--clay);display:flex;justify-content:center}.foreman-scope-panel .usage-section .job-table-row.job-table-body span:before{content:attr(data-label);display:block;font-size:.7rem;color:var(--steel);text-transform:uppercase;margin-bottom:.25rem;font-weight:500}.foreman-scope-panel .usage-section .job-table-row.job-table-body span:first-child:before{display:none}.foreman-scope-panel .usage-section .job-table-row.job-table-body span:last-child:before{display:none}.foreman-scope-panel .usage-section .job-table-row.job-table-body .ghost-button.small{min-height:48px;min-width:120px;font-size:1rem;font-weight:500;background:var(--primary-light, rgba(106, 90, 72, .1));border:1px solid var(--primary, #6a5a48);color:var(--primary, #6a5a48)}.foreman-scope-panel .usage-section .icon-button.tiny{min-height:36px;min-width:36px;font-size:1.1rem}}.derived-cost-container{position:relative;display:inline-flex;align-items:center;cursor:pointer}.derived-cost-container:focus{outline:2px solid var(--primary, #3b82f6);outline-offset:2px;border-radius:4px}.derived-cost-value{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary, #3b82f6);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.derived-indicator{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;font-weight:600;color:#fff;background:var(--primary, #3b82f6);border-radius:50%;flex-shrink:0}.derived-cost-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:180;min-width:240px;max-width:320px;background:var(--card, white);border:1px solid var(--clay, #e5e7eb);border-radius:var(--radius, 8px);box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .15));padding:0;font-size:.875rem;animation:tooltip-fade-in .15s cubic-bezier(.4,0,.2,1)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.derived-cost-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--card, white)}.derived-cost-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:9px solid transparent;border-top-color:var(--clay, #e5e7eb)}.derived-cost-tooltip .tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--clay, #e5e7eb);background:#00000005;border-radius:var(--radius, 8px) var(--radius, 8px) 0 0}.derived-cost-tooltip .tooltip-header strong{font-size:.8rem;color:var(--ink, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.derived-cost-tooltip .tooltip-close{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-size:1rem;color:var(--muted, #6b7280);margin:-.75rem -1rem -.75rem 0}.derived-cost-tooltip .tooltip-body{padding:.75rem 1rem}.derived-cost-tooltip .source-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.8rem}.derived-cost-tooltip .source-label{color:var(--steel, #6b7280)}.derived-cost-tooltip .source-value{color:var(--ink, #1f2937);font-weight:500;text-align:right;max-width:150px;overflow:hidden;text-overflow:ellipsis}.derived-cost-tooltip .source-value.source-foreman_derived{color:var(--primary, #3b82f6)}.derived-cost-tooltip .source-value.source-hybrid{color:var(--warning, #f59e0b)}.derived-cost-tooltip .tooltip-actions{padding:.5rem 1rem .75rem;border-top:1px solid var(--clay, #e5e7eb)}.derived-cost-tooltip .tooltip-actions button{width:100%;min-height:44px}.derived-cost-tooltip .override-form{padding:.75rem 1rem;border-top:1px solid var(--clay, #e5e7eb)}.derived-cost-tooltip .override-form label{display:block;font-size:.8rem;color:var(--steel, #6b7280);margin-bottom:.5rem}.derived-cost-tooltip .override-form input{width:100%;padding:.5rem;border:1px solid var(--clay, #e5e7eb);border-radius:4px;font-size:.875rem;margin-top:.25rem;min-height:44px}.derived-cost-tooltip .override-actions{display:flex;gap:.5rem;margin-top:.75rem}.derived-cost-tooltip .override-actions button{flex:1;min-height:44px}@media (max-width: 959px){.derived-cost-tooltip{position:fixed;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%);min-width:280px;max-width:calc(100vw - 32px)}.derived-cost-tooltip:after,.derived-cost-tooltip:before{display:none}.derived-cost-container:before{content:"";display:none}.derived-cost-container[aria-expanded=true]:before{content:"";display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:170}}.landing-page{min-height:100vh;display:flex;flex-direction:column}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--card);border-bottom:1px solid var(--clay)}.landing-logo{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.25rem}.logo-icon{font-size:1.5rem}.landing-nav .btn-outline{min-height:44px;padding:.5rem 1.5rem}.landing-hero{flex:1;display:flex;align-items:center;justify-content:center;gap:4rem;padding:4rem 2rem;max-width:1200px;margin:0 auto}.hero-content{max-width:600px}.hero-content h1{font-family:Bebas Neue,sans-serif;font-size:3.5rem;line-height:1.1;margin:0 0 1rem;color:var(--ink)}.hero-subtitle{font-size:1.25rem;color:var(--steel);margin:0 0 2rem;line-height:1.6}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn-lg{padding:1rem 2rem;font-size:1.1rem;min-height:56px}.hero-image{flex-shrink:0}.hero-placeholder{width:300px;height:300px;background:var(--card);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:6rem;box-shadow:var(--shadow)}.landing-features{background:var(--card);padding:4rem 2rem}.landing-features h2{font-family:Bebas Neue,sans-serif;font-size:2rem;text-align:center;margin:0 0 3rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{background:var(--sand);border-radius:var(--radius);padding:2rem;text-align:center}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{margin:0 0 .5rem;font-size:1.25rem}.feature-card p{margin:0;color:var(--steel);line-height:1.6}.landing-footer{background:var(--ink);color:var(--sand);padding:2rem}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-brand{display:flex;align-items:center;gap:.5rem;font-weight:600}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--clay);text-decoration:none}.footer-links a:hover{color:var(--sand)}.footer-copyright{color:var(--muted);font-size:.875rem}@media (max-width: 768px){.landing-hero{flex-direction:column;text-align:center;gap:2rem;padding:2rem 1rem}.hero-content h1{font-size:2.5rem}.hero-cta{justify-content:center}.hero-placeholder{width:200px;height:200px;font-size:4rem}.footer-content{flex-direction:column;text-align:center}}.setup-page{min-height:100vh;padding:2rem;display:flex;flex-direction:column}.setup-header{margin-bottom:2rem}.back-link{color:var(--steel);text-decoration:none;font-weight:500}.back-link:hover{color:var(--ink)}.setup-content{flex:1;display:flex;justify-content:center;align-items:flex-start}.setup-card{background:var(--card);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow);width:100%;max-width:580px}.setup-card h1{font-family:Bebas Neue,sans-serif;font-size:2rem;margin:0 0 1.5rem;text-align:center}.setup-progress{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--clay)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.4;transition:opacity .2s}.progress-step.active{opacity:1}.progress-step.current .step-icon{transform:scale(1.2)}.step-icon{font-size:1.5rem;transition:transform .2s}.step-label{font-size:.75rem;font-weight:500;color:var(--steel)}.setup-step h2{font-size:1.25rem;margin:0 0 .5rem}.step-description{color:var(--steel);margin:0 0 1.5rem}.form-row{display:flex;gap:1rem}.form-group-sm{flex:0 0 80px}.form-group-checkbox label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.form-group-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--sage)}.help-text{font-size:.875rem;color:var(--steel);margin-top:1rem}.help-text a{color:var(--sky)}.form-error{background:#b742321a;color:var(--danger);padding:.75rem 1rem;border-radius:8px;margin:1rem 0;font-size:.875rem}.setup-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--clay)}.setup-actions .btn{min-width:120px;min-height:44px}@media (max-width: 480px){.setup-card{padding:1.5rem}.form-row{flex-direction:column}.form-group-sm{flex:1}}.api-key-step{text-align:center}.api-key-step .success-icon{font-size:3rem;margin-bottom:1rem}.api-key-step h2{color:var(--forest);margin-bottom:1.5rem}.api-key-warning{background:linear-gradient(135deg,#c7882b26,#c7882b14);border:2px solid var(--construction);border-radius:var(--radius);padding:1rem 1.5rem;margin-bottom:1.5rem}.api-key-warning .warning-icon{font-size:1.5rem;margin-right:.5rem}.api-key-warning strong{color:var(--construction);display:block;font-size:1.1rem;margin-bottom:.5rem}.api-key-warning p{margin:0;color:var(--slate)}.api-key-display{margin:1.5rem 0;text-align:left}.api-key-display label{display:block;font-weight:600;margin-bottom:.5rem}.api-key-box{display:flex;gap:.5rem;background:var(--card);border:1px solid var(--clay);border-radius:var(--radius);padding:.75rem}.api-key-value{flex:1;font-family:Courier New,monospace;font-size:.85rem;word-break:break-all;background:#3f7b590d;padding:.5rem;border-radius:4px}.btn-copy{min-width:90px;min-height:44px;background:var(--forest);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:500}.btn-copy:hover{background:var(--forest-dark)}.setup-summary{background:var(--card);border:1px solid var(--clay);border-radius:var(--radius);padding:1rem 1.5rem;margin:1.5rem 0;text-align:left}.setup-summary h3{margin:0 0 1rem;font-size:1rem;color:var(--slate)}.setup-summary dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.setup-summary dt{font-weight:600;color:var(--slate)}.setup-summary dd{margin:0;word-break:break-all}.setup-summary code{font-size:.75rem;background:#3f7b591a;padding:.25rem .5rem;border-radius:4px}.btn-large{padding:1rem 2rem;font-size:1.1rem}.foreman-dashboard{min-height:100vh;display:flex;flex-direction:column}.foreman-main{flex:1;padding:1.5rem;padding-bottom:80px;max-width:800px;margin:0 auto;width:100%}.foreman-header{margin-bottom:1.5rem}.foreman-header h1{font-family:Bebas Neue,sans-serif;font-size:2rem;margin:0 0 .25rem}.foreman-subtitle{color:var(--steel);margin:0 0 1rem}.refresh-btn{font-size:.875rem}.foreman-loading,.foreman-error,.foreman-empty{text-align:center;padding:3rem 1rem;background:var(--card);border-radius:var(--radius)}.loading-spinner{width:40px;height:40px;border:3px solid var(--clay);border-top-color:var(--sage);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.foreman-error{color:var(--danger)}.foreman-error .btn{margin-top:1rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.foreman-empty h3{margin:0 0 .5rem}.foreman-empty p{color:var(--steel);margin:0}.foreman-job-list{display:flex;flex-direction:column;gap:1rem}.foreman-job-card{background:var(--card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:1rem}.foreman-job-card:hover,.foreman-job-card:focus{transform:translateY(-2px);box-shadow:0 18px 40px #29241e29;outline:none}.foreman-job-card:focus-visible{box-shadow:0 0 0 3px var(--sage)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.job-card-title{margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.job-status-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.job-status-badge.active{background:#3f7b5926;color:var(--success)}.job-status-badge.on_hold{background:#c7882b26;color:var(--warning)}.job-card-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.metric{display:flex;flex-direction:column;gap:.125rem}.metric-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:.95rem;font-weight:600}.job-card-action{display:flex;justify-content:flex-end}.action-arrow{font-size:1.25rem;color:var(--muted);transition:transform .15s,color .15s}.foreman-job-card:hover .action-arrow{transform:translate(4px);color:var(--sage)}.foreman-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem;padding:1.5rem;background:var(--card);border-radius:var(--radius)}.stat{text-align:center}.stat-value{font-family:Bebas Neue,sans-serif;font-size:2rem;display:block}.stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase}@media (max-width: 600px){.job-card-metrics{grid-template-columns:repeat(2,1fr)}.foreman-stats{gap:2rem}}.foreman-labor-panel{padding:1rem 0}.foreman-labor-panel h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--ink)}.foreman-labor-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.foreman-labor-stat{background:#f8f5f0;border:1px solid var(--clay);border-radius:12px;padding:1rem;text-align:center}.foreman-labor-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}.foreman-labor-stat .stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.foreman-labor-stat.warning{border-color:var(--warning);background:#fef9ed}.foreman-labor-stat.warning .stat-value{color:var(--warning)}.foreman-labor-table{width:100%;border-collapse:collapse}.foreman-labor-table th,.foreman-labor-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--clay)}.foreman-labor-table th{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:#f8f5f0}.foreman-labor-table td{font-size:.875rem;color:var(--ink)}.foreman-labor-table .scope-name{font-weight:500;color:var(--steel)}.foreman-labor-table .status-over{color:var(--warning);font-weight:600}.foreman-labor-table .status-ok{color:var(--success)}.foreman-labor-empty{text-align:center;padding:2rem;color:var(--muted);font-style:italic}.foreman-materials-panel{padding:1rem 0}.foreman-materials-panel .panel-header{background:var(--sand, #f5f0e8);border:1px solid var(--clay, #e5e0d8);border-radius:var(--radius, 12px);padding:1rem 1.25rem;margin-bottom:1rem}.foreman-materials-panel .panel-header h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--ink, #1a1a2e)}.foreman-materials-panel .panel-header p{margin:0;font-size:.875rem;color:var(--muted, #6b7280)}.foreman-delivery-panel.panel .panel-header{background:var(--sand, #f5f0e8);border:1px solid var(--clay, #e5e0d8);border-radius:var(--radius, 12px);padding:1rem 1.25rem}.foreman-delivery-panel .panel-header .panel-title{color:var(--ink, #1a1a2e);text-shadow:none}.foreman-request-panel.panel .panel-header{background:var(--sand, #f5f0e8);border:1px solid var(--clay, #e5e0d8);border-radius:var(--radius, 12px);padding:1rem 1.25rem}.foreman-request-panel .panel-header .panel-title{color:var(--ink, #1a1a2e);text-shadow:none}.foreman-materials-panel h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--ink)}.foreman-materials-panel .job-table-row{grid-template-columns:1.5fr 2fr .6fr 1fr .8fr 1fr .8fr}.foreman-materials-panel .job-table-row.job-table-head{font-size:.75rem;text-transform:uppercase;color:var(--steel)}.foreman-materials-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.foreman-materials-stat{background:#f8f5f0;border:1px solid var(--clay);border-radius:12px;padding:1rem;text-align:center}.foreman-materials-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}.foreman-materials-stat .stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.foreman-materials-stat.warning{border-color:var(--warning);background:#fef9ed}.foreman-materials-stat.warning .stat-value{color:var(--warning)}.foreman-materials-table{width:100%;border-collapse:collapse}.foreman-materials-table th,.foreman-materials-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--clay)}.foreman-materials-table th{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:#f8f5f0}.foreman-materials-table td{font-size:.875rem;color:var(--ink)}.foreman-materials-table .scope-name{font-weight:500;color:var(--steel)}.foreman-materials-table .status-over{color:var(--warning);font-weight:600}.foreman-materials-table .status-ok{color:var(--success)}.foreman-materials-empty{text-align:center;padding:2rem;color:var(--muted);font-style:italic}@media (max-width: 768px){.foreman-labor-table,.foreman-materials-table{display:block;overflow-x:auto}.foreman-labor-summary,.foreman-materials-summary{grid-template-columns:repeat(2,1fr)}}.materials-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.materials-summary-stats .stat-card{background:#f8f5f0;border:1px solid var(--clay);border-radius:12px;padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.materials-summary-stats .stat-card .stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;order:1}.materials-summary-stats .stat-card .stat-value{font-size:1.25rem;font-weight:700;color:var(--ink);order:2}.materials-summary-stats .stat-card.over-budget{border-color:var(--warning);background:#fef9ed}.materials-summary-stats .stat-card.over-budget .stat-value{color:var(--warning)}@media (max-width: 959px) and (min-width: 600px){.foreman-materials-panel .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#c4b5a0 #f5f0e8}.foreman-materials-panel .job-table-row{min-width:640px;grid-template-columns:1.5fr 2fr .6fr 1fr .8fr 1fr .8fr}.foreman-materials-panel .job-table-row span:nth-child(n+4){display:initial!important}}@media (max-width: 599px){.foreman-materials-panel .table-wrap{display:flex;flex-direction:column;gap:.75rem}.foreman-materials-panel .job-table-row.job-table-head{display:none}.foreman-materials-panel .job-table-row.job-table-body{display:flex;flex-wrap:wrap;padding:1rem;background:var(--card);border-radius:var(--radius);border:1px solid var(--clay);gap:.5rem}.foreman-materials-panel .job-table-row.job-table-body span:nth-child(1),.foreman-materials-panel .job-table-row.job-table-body span:nth-child(2){flex:1 1 100%;font-weight:500}.foreman-materials-panel .job-table-row.job-table-body span:nth-child(1){font-size:.75rem;color:var(--steel);font-weight:400}.foreman-materials-panel .job-table-row.job-table-body span:nth-child(2){font-size:1rem;color:var(--ink);padding-bottom:.5rem;border-bottom:1px solid var(--clay);margin-bottom:.25rem}.foreman-materials-panel .job-table-row.job-table-body span:nth-child(n+3):nth-child(-n+6){flex:1 1 calc(50% - .5rem);display:flex;flex-direction:column;gap:.125rem;min-width:0}.foreman-materials-panel .job-table-row.job-table-body span:before{content:attr(data-label);font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.foreman-materials-panel .job-table-row.job-table-body span:nth-child(7){flex:1 1 100%;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--clay);display:flex;align-items:center;gap:.5rem}.materials-summary-stats{grid-template-columns:repeat(2,1fr)}}.usage-item-group{border-bottom:1px solid var(--clay)}.usage-item-group:last-child{border-bottom:none}.usage-item-row .expand-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s ease}.usage-item-row .expand-toggle.expanded{transform:rotate(90deg)}.usage-history{background:#faf8f5;border-left:3px solid var(--terracotta);margin:0 0 8px 1rem;padding:.75rem 1rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.usage-history .history-header{display:grid;grid-template-columns:1fr .75fr 1.5fr 1fr .5fr;gap:.5rem;font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;border-bottom:1px solid var(--clay);margin-bottom:.5rem}.usage-history .history-row{display:grid;grid-template-columns:1fr .75fr 1.5fr 1fr .5fr;gap:.5rem;padding:.5rem 0;font-size:.8rem;color:var(--ink);border-bottom:1px solid rgba(0,0,0,.05)}.usage-history .history-row:last-child{border-bottom:none}.usage-history .history-row:hover{background:#00000005}.usage-history .notes-cell{color:var(--steel);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-history .action-buttons{display:flex;gap:.25rem;justify-content:flex-end}.usage-history .icon-button{background:transparent;border:none;padding:.25rem .5rem;cursor:pointer;font-size:.9rem;opacity:.6;transition:opacity .15s ease,transform .15s ease}.usage-history .icon-button:hover{opacity:1;transform:scale(1.1)}.usage-history .icon-button.delete-btn:hover{color:var(--danger)}.override-active{position:relative;color:var(--primary, #3b82f6);font-weight:600}.override-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--primary, #3b82f6);margin-left:.25rem}.override-badge:before{content:"✎";font-size:.6rem}.delete-warning{background:#fef2f2;border:1px solid var(--danger);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;color:var(--danger);font-size:.9rem}.delete-warning strong{display:block;margin-bottom:.25rem}.danger-button{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.danger-button:hover{background:#b91c1c!important}.override-info{background:#f0f9ff;border:1px solid var(--primary, #3b82f6);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.85rem;color:var(--steel)}.override-info code{background:#0000000d;padding:.1rem .3rem;border-radius:3px;font-family:monospace}@media (max-width: 768px){.usage-history{margin-left:0;padding:.5rem .75rem}.usage-history .history-header,.usage-history .history-row{grid-template-columns:1fr .5fr 1fr .5fr;font-size:.75rem}.usage-history .notes-cell{display:none}.usage-history .action-buttons{gap:.125rem}.usage-history .icon-button{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}}.budget-status-card{font-family:var(--font-body, system-ui, sans-serif);font-size:12px;color:var(--steel)}.budget-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.budget-job-info{display:flex;align-items:baseline;gap:6px}.budget-job-name{font-weight:600;font-size:13px;color:var(--charcoal)}.budget-job-number{font-size:11px;color:var(--muted)}.budget-health-badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.budget-health-badge.on_track{background:var(--success-light, #d1fae5);color:var(--success, #16a34a)}.budget-health-badge.at_risk{background:var(--warning-light, #fef3c7);color:var(--warning, #d97706)}.budget-health-badge.critical{background:var(--danger-light, #fee2e2);color:var(--danger, #dc2626)}.budget-summary-row{display:flex;gap:12px;margin-bottom:12px}.budget-metric{flex:1;display:flex;flex-direction:column;gap:2px}.budget-metric-label{font-size:10px;color:var(--muted);text-transform:uppercase}.budget-metric-value{font-size:13px;font-weight:600;color:var(--charcoal)}.budget-metric-value.danger{color:var(--danger)}.budget-category-section{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.budget-category{display:flex;flex-direction:column;gap:4px}.budget-category-header{display:flex;justify-content:space-between;font-size:11px}.budget-category-header span:first-child{font-weight:500}.budget-category-header span:last-child{color:var(--muted)}.budget-bar-container{height:6px;background:#00000014;border-radius:3px;overflow:hidden}.budget-bar{height:100%;border-radius:3px;transition:width .3s ease}.budget-bar.success{background:var(--success, #16a34a)}.budget-bar.warning{background:var(--warning, #d97706)}.budget-bar.danger{background:var(--danger, #dc2626)}.budget-pct{font-size:10px;color:var(--muted);text-align:right}.budget-dual-perspective{background:#3b82f60f;border-radius:6px;padding:10px;margin-bottom:10px}.budget-dual-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:600;color:var(--steel)}.budget-cost-basis-badge{font-size:9px;padding:2px 6px;border-radius:8px;background:var(--primary-light, #dbeafe);color:var(--primary, #3b82f6);text-transform:uppercase}.budget-dual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.budget-dual-item{display:flex;flex-direction:column;gap:2px}.budget-dual-item.inventory{background:#fbbf2426;padding:4px 6px;border-radius:4px;margin:-4px -6px}.budget-dual-label{font-size:9px;color:var(--muted);text-transform:uppercase}.budget-dual-value{font-size:12px;font-weight:600;color:var(--charcoal)}.budget-velocity{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.1);font-size:10px}.budget-velocity-label{color:var(--muted)}.budget-velocity-value{font-weight:500;color:var(--steel)}.budget-risk-factors{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.budget-risk-item{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:4px;font-size:11px}.budget-risk-item.critical{background:var(--danger-light, #fee2e2);color:var(--danger, #dc2626)}.budget-risk-item.warning{background:var(--warning-light, #fef3c7);color:var(--warning-dark, #92400e)}.budget-risk-item.info{background:#3b82f61a;color:var(--steel)}.budget-risk-icon{flex-shrink:0;font-size:12px}.budget-risk-text{line-height:1.3}.budget-quality-notes{display:flex;flex-direction:column;gap:4px}.budget-quality-note{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:#fbbf241a;border-radius:4px;font-size:10px;color:var(--warning-dark, #92400e)}.budget-note-icon{flex-shrink:0}@media (max-width: 768px){.budget-summary-row{flex-wrap:wrap}.budget-metric{min-width:80px}.budget-dual-grid{grid-template-columns:repeat(2,1fr)}.budget-dual-item:nth-child(3){grid-column:span 2}}.material-entry-form{width:100%}.material-day-fields{display:flex;flex-direction:row;gap:1rem;align-items:flex-end}.material-field-amount{flex:0 0 120px;min-width:100px}.material-field-vendor{flex:2 1 180px;min-width:140px}.material-field-invoice{flex:1 1 140px;min-width:100px}.material-field-po{flex:1 1 160px;min-width:120px}.material-field-attachment{flex:0 0 130px;min-width:100px}.material-day-fields input,.material-day-fields select{width:100%;box-sizing:border-box}@media (max-width: 959px){.material-day-fields{flex-direction:column;gap:.75rem}.material-field-amount,.material-field-vendor,.material-field-invoice,.material-field-po,.material-field-attachment{flex:1 1 auto;width:100%;min-width:unset}.material-day-fields input,.material-day-fields select{min-height:44px;font-size:16px}.material-day-card .form-field span{font-size:.9rem}}@media (min-width: 600px) and (max-width: 959px){.material-day-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.material-field-vendor{grid-column:1 / -1;order:-1}.material-field-invoice{grid-column:1}.material-field-attachment{grid-column:2}}.scope-job-level-warning{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.scope-assign-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-warning-bg, #fff3cd);color:var(--color-warning-dark, #856404);font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;border:1px solid var(--color-warning, #ffc107);white-space:nowrap;cursor:pointer;transition:all .15s ease}.scope-assign-badge:hover{background:var(--color-warning, #ffc107);color:var(--color-warning-darker, #664d03);transform:scale(1.05)}@media (max-width: 599px){.scope-job-level-warning{flex-direction:column;align-items:flex-start;gap:.25rem}.scope-assign-badge{font-size:.65rem;padding:1px 4px}}.purchase-vs-consumption-panel{background:var(--bg-card, #fff);border-radius:8px;padding:1rem}.purchase-consumption-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.purchase-consumption-grid .summary-item{text-align:center;padding:.75rem;background:var(--bg-muted, #f5f5f5);border-radius:8px}.purchase-consumption-grid .summary-item .label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.purchase-consumption-grid .summary-item .value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.purchase-consumption-grid .summary-item .sublabel{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.purchase-consumption-grid .summary-item.highlight-info{background:var(--color-info-bg, #e0f2fe);border:1px solid var(--color-info, #0ea5e9)}.purchase-consumption-table th,.purchase-consumption-table td{padding:.75rem .5rem;vertical-align:top}.purchase-consumption-table th.text-right,.purchase-consumption-table td.text-right{text-align:right}.purchase-consumption-table th.text-center,.purchase-consumption-table td.text-center{text-align:center}.purchase-consumption-table .row-warning{background:var(--color-danger-bg, #fee2e2)}.purchase-consumption-table .text-danger{color:var(--color-danger, #dc2626);font-weight:600}.purchase-consumption-table .text-info{color:var(--color-info, #0ea5e9)}.column-info-tooltip{position:relative;display:inline-block;margin-left:4px;vertical-align:middle;cursor:help}.column-info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--sky, #3b82f6);color:#fff;font-size:10px;font-weight:700;font-style:italic;line-height:1;-webkit-user-select:none;user-select:none;position:relative;top:-4px}.column-info-text{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:220px;max-width:280px;padding:8px 12px;background:var(--bg-primary, #1f2937);color:#fff;font-size:.75rem;font-weight:400;font-style:normal;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0003;white-space:pre-line;text-align:left;z-index:50;pointer-events:none}.column-info-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-primary, #1f2937)}.column-info-tooltip:hover .column-info-text,.column-info-tooltip:focus-within .column-info-text{display:block}.purchase-consumption-table th:last-child .column-info-text{min-width:260px;max-width:320px;left:auto;right:0;transform:none}.purchase-consumption-table th:last-child .column-info-text:after{left:auto;right:12px;transform:none}.panel-legend{border-top:1px solid var(--border-color, #e5e7eb);padding-top:1rem}.panel-legend p{margin:.25rem 0}@media (max-width: 767px){.purchase-consumption-grid{grid-template-columns:repeat(2,1fr)}.purchase-vs-consumption-panel .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px 12px}.purchase-consumption-table{min-width:700px}.purchase-consumption-table th,.purchase-consumption-table td{white-space:nowrap;padding:.5rem;font-size:.8125rem}}@media (max-width: 479px){.purchase-consumption-grid{grid-template-columns:1fr}.purchase-consumption-grid .summary-item .value{font-size:1.1rem}.purchase-consumption-table th,.purchase-consumption-table td{padding:.5rem .25rem;font-size:.75rem}}.billing-summary-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.billing-summary-modal{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.billing-summary-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--clay)}.billing-summary-modal-header h2{margin:0;font-family:Bebas Neue,sans-serif;font-size:24px;letter-spacing:1px;color:var(--ink)}.billing-summary-modal-close{background:none;border:none;font-size:28px;color:var(--steel);cursor:pointer;padding:0;line-height:1;transition:color .2s}.billing-summary-modal-close:hover{color:var(--rust)}.billing-summary-modal-controls{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--sand);border-bottom:1px solid var(--clay)}.billing-summary-modal-controls label{font-weight:500;color:var(--steel)}.billing-period-select{padding:8px 12px;border:1px solid var(--clay);border-radius:8px;font-size:14px;background:var(--card);color:var(--ink);cursor:pointer}.billing-summary-modal-body{padding:24px;overflow-y:auto;flex:1}.billing-summary-loading,.billing-summary-error,.billing-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--steel)}.billing-summary-loading .spinner{width:32px;height:32px;border:3px solid var(--clay);border-top-color:var(--rust);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.billing-summary-error{color:var(--danger)}.billing-summary-error button{margin-top:12px;padding:8px 16px;background:var(--rust);color:#fff;border:none;border-radius:8px;cursor:pointer}.billing-summary-totals{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:var(--sand);border-radius:12px}.billing-total-item{display:flex;flex-direction:column;gap:4px}.billing-total-label{font-size:12px;color:var(--steel);text-transform:uppercase;letter-spacing:.5px}.billing-total-value{font-size:18px;font-weight:600;color:var(--ink)}.billing-status-legend{display:flex;gap:20px;margin-bottom:24px;flex-wrap:wrap}.billing-legend-item{display:flex;align-items:center;gap:8px}.billing-legend-color{width:16px;height:16px;border-radius:4px}.billing-legend-label{font-size:13px;color:var(--steel)}.billing-bar-chart{display:flex;gap:12px;align-items:flex-end;min-height:300px;padding:20px 0;overflow-x:auto}.billing-bar-column{display:flex;flex-direction:column;align-items:center;min-width:80px;max-width:120px;flex:1}.billing-bar-value{font-size:11px;font-weight:600;color:var(--ink);margin-bottom:8px;text-align:center;white-space:nowrap}.billing-bar-container{width:100%;height:200px;display:flex;align-items:flex-end;justify-content:center;background:var(--sand);border-radius:4px 4px 0 0}.billing-bar-fill{width:70%;border-radius:4px 4px 0 0;transition:height .3s ease;cursor:pointer}.billing-bar-fill:hover{opacity:.85}.billing-bar-label{font-size:11px;font-weight:500;color:var(--ink);margin-top:8px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-bar-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.billing-summary-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--clay);border-radius:6px;cursor:pointer;color:var(--steel);font-size:14px;transition:all .2s;margin-left:4px}.billing-summary-icon-btn:hover{background:var(--rust);border-color:var(--rust);color:#fff}.billing-summary-icon-btn:focus{outline:2px solid var(--rust);outline-offset:2px}@media (max-width: 767px){.billing-summary-modal{max-width:100%;max-height:100vh;border-radius:0}.billing-summary-totals{flex-direction:column;gap:12px}.billing-bar-chart{min-height:250px}.billing-bar-column{min-width:60px}.billing-bar-container{height:150px}}.start-date-with-reminder{display:inline-flex;align-items:center;gap:6px}.prejob-reminder-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:3px;background:#dc2626;border:none;border-radius:50%;cursor:pointer;color:#fff;transition:all .2s ease;animation:prejob-pulse 2s ease-in-out infinite}.prejob-reminder-icon-btn:hover{background:#b91c1c;transform:scale(1.15)}.prejob-reminder-icon-btn:focus{outline:2px solid var(--rust);outline-offset:2px}.prejob-reminder-icon-btn svg{width:14px;height:14px}@keyframes prejob-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.mob-reminder-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:3px;background:#d97706;border:none;border-radius:50%;cursor:pointer;color:#fff;transition:all .2s ease;animation:mob-pulse 2s ease-in-out infinite}.mob-reminder-icon-btn:hover{background:#b45309;transform:scale(1.15)}.mob-reminder-icon-btn:focus{outline:2px solid var(--rust);outline-offset:2px}.mob-reminder-icon-btn svg{width:14px;height:14px}@keyframes mob-pulse{0%,to{box-shadow:0 0 #d9770666}50%{box-shadow:0 0 0 6px #d9770600}}.mob-reminder-phone-icon{background:#d97706!important}.mob-reminder-scopes{display:flex;flex-direction:column;gap:12px}.mob-reminder-scopes h4{margin:0 0 4px;font-size:.95em;color:var(--charcoal, #333)}.mob-reminder-scope-card{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;background:#fafafa}.mob-reminder-scope-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.mob-reminder-date-info{display:flex;align-items:center;gap:8px}.mob-reminder-date{font-size:.9em;color:var(--muted, #666)}.mob-reminder-scope-card .prejob-reminder-checklist{margin-top:0}.mob-reminder-scope-card .prejob-reminder-checklist ul{gap:6px}.mob-reminder-scope-card .prejob-reminder-checklist-item p{font-size:.8em;margin:2px 0 0}.prejob-reminder-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.prejob-reminder-modal{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);max-width:520px;width:100%;max-height:90vh;overflow-y:auto}.prejob-reminder-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--clay);background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:var(--radius) var(--radius) 0 0}.prejob-reminder-header-content{display:flex;align-items:center;gap:12px}.prejob-reminder-phone-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#dc2626;border-radius:50%;color:#fff}.prejob-reminder-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink)}.prejob-reminder-modal-close{background:none;border:none;font-size:1.75rem;line-height:1;color:var(--steel);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.prejob-reminder-modal-close:hover{color:var(--ink)}.prejob-reminder-modal-body{padding:24px}.prejob-reminder-job-info{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--clay)}.prejob-reminder-job-info h3{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:var(--ink)}.prejob-reminder-job-number{font-size:.875rem;color:var(--steel);display:block;margin-bottom:12px}.prejob-reminder-start-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prejob-reminder-start-label{font-size:.875rem;color:var(--steel)}.prejob-reminder-start-date{font-weight:600;color:var(--ink)}.prejob-reminder-days-badge{display:inline-block;padding:3px 10px;font-size:.75rem;font-weight:600;border-radius:12px;background:var(--sage);color:#fff}.prejob-reminder-days-badge.soon{background:#f59e0b}.prejob-reminder-days-badge.urgent{background:#dc2626}.prejob-reminder-checklist h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--ink)}.prejob-reminder-checklist ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.prejob-reminder-checklist li{display:flex;gap:12px;padding:16px;background:var(--sand);border-radius:12px}.prejob-reminder-checklist-icon{flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;width:36px;height:36px;background:var(--sage);border-radius:50%;color:#fff;padding:8px}.prejob-reminder-checklist-item{flex:1}.prejob-reminder-checklist-item strong{display:block;font-weight:600;color:var(--ink);margin-bottom:4px}.prejob-reminder-checklist-item p{margin:0;font-size:.875rem;color:var(--steel)}.prejob-reminder-contact{display:inline-block;margin-top:6px;font-size:.813rem;color:var(--sky);font-weight:500}.prejob-reminder-modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--clay);background:#fafaf9;border-radius:0 0 var(--radius) var(--radius)}.prejob-reminder-btn{padding:10px 20px;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.prejob-reminder-btn-secondary{background:#fff;border:1px solid var(--clay);color:var(--steel)}.prejob-reminder-btn-secondary:hover{background:var(--sand);border-color:var(--steel)}.prejob-reminder-btn-primary{background:var(--sage);border:1px solid var(--sage);color:#fff}.prejob-reminder-btn-primary:hover{background:#4a6b58}.prejob-reminder-btn-primary:disabled{background:var(--clay);border-color:var(--clay);cursor:not-allowed}@media (max-width: 767px){.prejob-reminder-modal{max-width:100%;max-height:100vh;border-radius:0}.prejob-reminder-modal-header{border-radius:0}.prejob-reminder-modal-footer{flex-direction:column;border-radius:0}.prejob-reminder-btn{width:100%;text-align:center}}.assign-pm-form{display:flex;flex-direction:column;gap:16px}.assign-pm-description{margin:0;color:var(--text-light);font-size:14px;line-height:1.5}.assign-pm-description strong{color:var(--text)}.assign-pm-error{background:#fee2e2;color:#dc2626;padding:12px;border-radius:6px;font-size:14px}.assign-pm-field{display:flex;flex-direction:column;gap:6px}.assign-pm-field label{font-size:13px;font-weight:500;color:var(--text)}.assign-pm-field select{width:100%;padding:10px 12px;font-size:14px;border:1px solid #cdbfae;border-radius:6px;background:#fff;color:var(--text);cursor:pointer}.assign-pm-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #5b745826}.assign-pm-field select:disabled{background:#f5f3f0;cursor:not-allowed}.assign-pm-loading{padding:10px 12px;font-size:14px;color:var(--text-light);background:#f5f3f0;border-radius:6px}.assign-pm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #efe3d3}.assign-pm-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.assign-pm-btn-secondary{background:transparent;border:1px solid #cdbfae;color:var(--text)}.assign-pm-btn-secondary:hover:not(:disabled){background:#f5f3f0}.assign-pm-btn-primary{background:#5b7458;border:1px solid #5b7458;color:#fff}.assign-pm-btn-primary:hover:not(:disabled){background:#4a6b58}.assign-pm-btn:disabled{opacity:.85;cursor:not-allowed}.assign-pm-add-btn{opacity:1!important;visibility:visible!important;display:inline-flex!important;align-items:center;justify-content:center}.assign-pm-add-btn:disabled{opacity:1!important;background:#9ca3af!important;color:#fff;cursor:not-allowed}.assign-pm-current{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.assign-pm-current>label{font-size:13px;font-weight:500;color:var(--text)}.assign-pm-current-loading{padding:10px 12px;font-size:14px;color:var(--text-light);background:#f5f3f0;border-radius:6px}.assign-pm-current-list{display:flex;flex-direction:column;gap:8px}.assign-pm-current-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px}.assign-pm-current-info{display:flex;flex-direction:column;gap:2px}.assign-pm-current-name{font-weight:600;color:var(--text);font-size:14px}.assign-pm-current-role{font-size:12px;color:var(--accent);font-weight:500}.assign-pm-current-email{font-size:12px;color:var(--text-light)}.assign-pm-remove-btn{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:14px;border-radius:4px;transition:all .15s ease}.assign-pm-remove-btn:hover:not(:disabled){background:#ffebee;color:#dc2626}.assign-pm-remove-btn:disabled{opacity:.5;cursor:not-allowed}.assign-pm-current-role-badge{display:inline-block;padding:2px 8px;border-radius:12px;color:#fff;font-size:11px;font-weight:500}.assign-pm-empty{padding:16px;text-align:center;color:var(--text-light);background:#f5f3f0;border-radius:6px;font-size:14px;margin-bottom:16px}.assign-pm-add-form{border-top:1px solid #efe3d3;padding-top:16px;margin-top:8px}.assign-pm-add-header{margin-bottom:8px}.assign-pm-add-header label{font-size:13px;font-weight:500;color:var(--text)}.assign-pm-add-fields{display:flex;gap:8px;align-items:flex-start}.assign-pm-add-fields .assign-pm-field{margin-bottom:0}.assign-pm-add-fields .assign-pm-add-btn{padding:10px 16px;white-space:nowrap;min-width:60px;height:42px}.assign-pm-footer-note{margin:16px 0 0;padding-top:12px;border-top:1px solid #efe3d3;font-size:12px;color:var(--text-light);text-align:center}.info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.4;background:#e8f4fd;color:var(--text);border-left:4px solid var(--info, #3a6c8e)}.info-banner.auto-fill-indicator{background:#e8f2ec;border-left-color:var(--success, #3f7b59)}.info-banner.auto-fill-indicator .success-icon{color:var(--success, #3f7b59);font-weight:700;font-size:16px}.info-banner.warning-indicator{background:#fef6e8;border-left-color:var(--warning, #c7882b)}.info-banner.warning-indicator .warning-icon{color:var(--warning, #c7882b);font-size:16px;flex-shrink:0}.info-banner .info-icon{font-size:16px;flex-shrink:0}.info-banner strong{font-weight:600}.info-banner .dismiss-button{margin-left:auto;background:none;border:none;font-size:18px;color:inherit;opacity:.6;cursor:pointer;padding:0 4px;line-height:1}.info-banner .dismiss-button:hover{opacity:1}.heatmap-container{padding:0 8px}.heatmap-legend{display:flex;flex-wrap:wrap;gap:12px;padding:8px 4px 12px;font-size:.78rem;color:var(--steel)}.heatmap-legend-item{display:inline-flex;align-items:center;gap:5px}.heatmap-legend-swatch{display:inline-block;width:16px;height:16px;border-radius:3px}.heatmap-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.heatmap-table{width:100%;border-collapse:separate;border-spacing:2px;font-size:.85rem}.heatmap-table thead th{text-align:center;font-weight:600;padding:8px 12px;font-size:.78rem;color:var(--steel);border-bottom:2px solid var(--clay);white-space:nowrap;vertical-align:bottom}.heatmap-job-col{text-align:left!important;min-width:180px;max-width:250px;position:sticky;left:0;background:var(--surface);z-index:1}.heatmap-job-name{font-weight:600;font-size:.85rem;color:var(--steel);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.heatmap-job-number{font-size:.75rem}.heatmap-cell{text-align:center;padding:8px 12px;border-radius:4px;min-width:70px;cursor:default;transition:opacity .15s}.heatmap-cell:hover{opacity:.85}.heatmap-value{font-weight:500;font-variant-numeric:tabular-nums}.heatmap-row{cursor:pointer;transition:background .15s}.heatmap-row:hover{outline:2px solid var(--sage);outline-offset:-1px;border-radius:4px}.heatmap-row:hover .heatmap-job-col{background:#3f7b590f}.heatmap-header-label{cursor:help;border-bottom:1px dashed var(--steel);display:inline-flex;align-items:center;gap:3px}.heatmap-help-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--clay);color:var(--steel);font-size:.65rem;font-weight:700}.tooltip-fixed{max-width:340px;min-width:220px;white-space:normal}.tooltip-below-fixed:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#1f2426}.heatmap-green-2{background:#3f7b5973;color:#1a4a2e}.heatmap-green-1{background:#3f7b5938;color:#2d6b43}.heatmap-yellow{background:#c7882b33;color:#7a5a1e}.heatmap-red-1{background:#b7423238;color:#8b3325}.heatmap-red-2{background:#b7423273;color:#6b1f14}.heatmap-gray{background:#8080801f;color:#999}.heatmap-ref{background:transparent;color:var(--steel)}@media (max-width: 599px){.heatmap-table .col-spi,.heatmap-table .col-tcpi{display:none}.heatmap-job-col{min-width:120px;max-width:160px}.heatmap-job-name{max-width:140px}.heatmap-cell{padding:6px 8px;min-width:55px;font-size:.8rem}.heatmap-legend{gap:8px;font-size:.72rem}.heatmap-legend-swatch{width:12px;height:12px}}
