:root{--oe-bg: #030712;--oe-surface: #0f1729;--oe-surface-alt: #1a2340;--oe-border: #1e293b;--oe-text: #f9fafb;--oe-text-muted: #9ca3af;--oe-primary: #60a5fa;--oe-primary-hover: #3b82f6;--oe-danger: #ef4444;--oe-success: #4ade80;--oe-warning: #fbbf24;--oe-table-header: #111827;--oe-space-xs: 4px;--oe-space-sm: 8px;--oe-space-md: 12px;--oe-space-lg: 16px;--oe-space-xl: 20px;--oe-space-2xl: 24px;--oe-space-3xl: 32px;--oe-radius-sm: 6px;--oe-radius-md: 10px;--oe-radius-lg: 14px;--oe-surface-hover: rgba(255, 255, 255, .04);--oe-surface-selected: rgba(96, 165, 250, .08);--oe-border-subtle: rgba(255, 255, 255, .06);--oe-shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--oe-shadow-soft: 0 1px 2px rgba(0, 0, 0, .2);--oe-shadow-elevated: 0 4px 12px rgba(0, 0, 0, .4);--oe-transition-expand: .2s cubic-bezier(.4, 0, .2, 1)}.gradient-text{background:linear-gradient(to right,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-hyphen{color:#60a5fa}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--oe-bg);color:var(--oe-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "main   main";height:100vh;overflow:hidden;transition:grid-template-columns .2s ease}.app-grid--jones-open{grid-template-columns:1fr 380px;grid-template-areas:"header jones" "main   jones"}.app-header{grid-area:header;display:flex;align-items:center;gap:16px;min-height:52px;padding:0 24px;background:var(--oe-surface);border-bottom:1px solid var(--oe-border)}.app-header-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-header-logo{width:32px;height:32px;border-radius:8px;flex-shrink:0}.app-header-title{font-size:15px;font-weight:600;margin:0;white-space:nowrap}.app-header-code{font-size:12px;color:var(--oe-text-muted)}.app-header-nav{display:flex;align-items:center;gap:2px;margin-left:24px}.app-nav-link{padding:8px 16px;font-size:13px;color:var(--oe-text-muted);text-decoration:none;border-radius:4px;transition:background .15s,color .15s}.app-nav-link:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.app-nav-link.active{background:#60a5fa26;color:#f9fafb;font-weight:600}.app-header-right{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:12px}.app-main{grid-area:main;overflow-y:auto;padding:24px 32px;background:var(--oe-bg)}.settings-tabs{display:flex;gap:4px;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid var(--oe-border)}.settings-tab{padding:8px 16px;background:transparent;border:none;color:var(--oe-text-muted);font-size:14px;cursor:pointer;border-radius:6px;transition:all .2s;text-decoration:none}.settings-tab:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.settings-tab.active{background:var(--oe-primary);color:#fff}.placeholder-card{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:8px;padding:32px;text-align:center}.placeholder-card h2{font-size:18px;font-weight:600;margin-bottom:8px}.placeholder-card p{font-size:14px;color:var(--oe-text-muted)}.header-icon-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--oe-text-muted);font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;text-decoration:none}.header-icon-btn:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.header-icon-btn--active{background:var(--oe-primary);color:#fff}.header-icon-btn--active:hover{background:var(--oe-primary-hover);color:#fff}@media (max-width: 768px){.app-header-nav{gap:0;margin-left:12px}.app-nav-link{padding:6px 8px;font-size:12px}}.oe-table{width:100%;border-collapse:collapse;font-size:14px}.oe-table thead{background:var(--oe-table-header)}.oe-table th{text-align:left;padding:8px 12px;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.oe-table td{padding:8px 12px;border-bottom:1px solid var(--oe-border);color:var(--oe-text)}.oe-table tbody tr:hover{background:var(--oe-surface-alt)}.oe-table tbody tr.clickable{cursor:pointer}.oe-table .empty-row td{padding:32px 10px;text-align:center;color:var(--oe-text-muted)}.oe-section{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;overflow:hidden}.text-muted{color:var(--oe-text-muted)}.text-danger{color:var(--oe-danger)}.dot-success{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--oe-success)}.dot-warning{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--oe-warning)}.dot-error{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--oe-danger)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.badge-default{background:var(--oe-surface-alt);color:var(--oe-text)}.badge-success{background:#4ade8026;color:var(--oe-success)}.badge-warning{background:#fbbf2426;color:var(--oe-warning)}.badge-danger{background:#dc262626;color:#f87171}.badge-primary{background:#60a5fa26;color:var(--oe-primary)}.oe-table tfoot td{border-bottom:none;padding-top:8px}.oe-table .text-right{text-align:right}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.btn-primary{background:var(--oe-primary);color:#fff;border:none;padding:6px 14px;border-radius:9999px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--oe-primary-hover)}.search-input{width:240px;padding:6px 12px;background:var(--oe-surface-alt);border:1px solid var(--oe-border);border-radius:6px;color:var(--oe-text);font-size:13px}.search-input:focus{outline:none;border-color:var(--oe-primary)}.search-input::-moz-placeholder{color:var(--oe-text-muted)}.search-input::placeholder{color:var(--oe-text-muted)}.editable-cell{padding:2px 4px;border-radius:3px;min-width:40px;display:inline-block;cursor:pointer}.editable-cell:hover{background:var(--oe-surface-alt)}.editable-input{background:var(--oe-bg);border:1px solid var(--oe-primary);color:var(--oe-text);padding:4px 8px;border-radius:4px;font-size:inherit;font-family:inherit;width:100%;min-width:60px}.editable-input:focus{outline:none;box-shadow:0 0 0 2px #60a5fa4d}.inline-select{background:var(--oe-surface-alt);border:1px solid var(--oe-border);color:var(--oe-text);padding:4px 8px;border-radius:4px;font-size:13px;cursor:pointer}.inline-select:focus{outline:none;border-color:var(--oe-primary)}.delete-link{background:transparent;border:none;color:#ff6b6b;font-size:12px;cursor:pointer;opacity:.5;padding:0}.delete-link:hover{opacity:1;text-decoration:underline}.link-primary{background:transparent;border:none;color:var(--oe-primary);font-size:13px;cursor:pointer;padding:0}.link-primary:hover{text-decoration:underline}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted)}.form-group input,.form-group select{background:var(--oe-bg);border:1px solid var(--oe-border);color:var(--oe-text);padding:6px 10px;border-radius:4px;font-size:13px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--oe-primary)}.form-group input[type=color]{padding:2px;height:32px;cursor:pointer}.inline-select.compact,.editable-input.compact{padding:3px 6px;font-size:12px;max-width:120px}.ctx-menu{position:fixed;z-index:1000;min-width:160px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:6px;box-shadow:0 8px 24px #0000004d;padding:4px 0}.ctx-menu-item{display:block;width:100%;padding:6px 14px;font-size:12px;text-align:left;background:none;border:none;color:var(--oe-text);cursor:pointer;transition:background .1s}.ctx-menu-item:hover{background:var(--oe-surface-alt)}.ctx-menu-item--danger{color:var(--oe-danger, #e74c3c)}.ctx-menu-item--danger:hover{background:#e74c3c1a}.ctx-menu-divider{height:1px;background:var(--oe-border);margin:4px 0}.btn-secondary{background:var(--oe-surface-alt);color:var(--oe-text);border:1px solid var(--oe-border);padding:6px 14px;border-radius:9999px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--oe-surface)}.btn-sm{padding:3px 10px;font-size:12px}.btn-primary:disabled,.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.link-button{background:none;border:none;color:var(--oe-primary);font-size:12px;cursor:pointer;padding:0}.link-button:hover{text-decoration:underline}.work-day-chip{width:28px;height:22px;padding:0;border:1px solid var(--oe-border);border-radius:4px;background:var(--oe-bg);color:var(--oe-text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s}.work-day-chip.active{background:var(--oe-primary);border-color:var(--oe-primary);color:#fff}.work-day-chip:hover{border-color:var(--oe-primary)}.inline-list-editor{display:flex;flex-direction:column;gap:4px;font-size:12px}.inline-list-item{display:flex;align-items:center;gap:6px}.inline-list-add{display:flex;align-items:center;gap:4px;margin-top:2px}.inline-list-add input{width:120px}.project-settings-editor{max-width:480px}.settings-form{display:flex;flex-direction:column;gap:16px}.form-actions{padding-top:8px}.form-group-full{grid-column:1 / -1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:16px;padding:24px;width:100%;max-width:380px;box-shadow:0 16px 48px #00000080}.modal-title{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--oe-text)}.modal-body{font-size:14px;color:var(--oe-text-muted);margin-bottom:16px}.modal-warning{background:#fbbf241a;border:1px solid var(--oe-warning);border-radius:4px;padding:8px 12px;font-size:13px;color:var(--oe-warning);margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{padding:6px 14px;border-radius:9999px;font-size:13px;background:transparent;color:var(--oe-text);border:1px solid var(--oe-border);cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:var(--oe-text-muted)}.btn-danger{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;background:var(--oe-danger);color:#fff;border:none;cursor:pointer;transition:opacity .2s}.btn-danger:hover{opacity:.9}.modal-content-wide{background:var(--oe-surface);border-radius:8px;padding:20px 24px;width:100%;min-width:500px;max-width:700px;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.dep-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dep-modal-title{font-size:15px;margin:0}.dep-modal-close{font-size:18px;padding:4px 8px}.dep-section-title{font-size:12px;font-weight:600;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px}.dep-empty{font-size:12px;margin:4px 0 12px}.dep-add-row{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--oe-border)}.dep-task-select{flex:1;min-width:0}.dep-lag-input{width:60px}.modal-content-assignment{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:8px;padding:24px;width:100%;max-width:480px;box-shadow:0 16px 48px #00000080}.assignment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:16px}.assignment-form-grid .form-group{min-width:0}.assignment-form-grid select,.assignment-form-grid input,.assignment-form-grid textarea{width:100%;box-sizing:border-box}.assignment-form-grid .form-group-full{grid-column:1 / -1}.assignment-form-grid textarea{background:var(--oe-bg);border:1px solid var(--oe-border);color:var(--oe-text);padding:6px 10px;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.assignment-form-grid textarea:focus{outline:none;border-color:var(--oe-primary)}.btn-secondary{background:var(--oe-surface-alt);border:1px solid var(--oe-border);color:var(--oe-text);padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer}.btn-secondary:hover{background:var(--oe-border)}.modal-content-calendar{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:16px;padding:24px;width:100%;max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.cal-editor-header{display:flex;gap:16px;align-items:flex-end;margin-bottom:20px}.cal-editor-header .form-group{flex:1}.cal-editor-section{margin-bottom:20px;padding:12px 16px;background:var(--oe-bg);border-radius:8px;border:1px solid var(--oe-border)}.cal-editor-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.cal-editor-section-count{background:var(--oe-surface-alt);padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;color:var(--oe-text)}.cal-editor-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px}.cal-editor-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);padding:4px 8px 6px;border-bottom:1px solid var(--oe-border)}.cal-editor-table td{padding:4px 8px;border-bottom:1px solid var(--oe-border);vertical-align:middle}.cal-editor-table tr:last-child td{border-bottom:none}.cal-date-cell{font-family:SF Mono,Fira Code,monospace;font-size:12px;white-space:nowrap;color:var(--oe-text-muted)}.cal-name-input{width:100%;min-width:120px}.cal-toggle-cell{text-align:center;width:60px}.cal-paid-toggle{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;border:1px solid var(--oe-border);background:var(--oe-surface);color:var(--oe-text-muted);cursor:pointer;transition:all .15s}.cal-paid-toggle.active{background:#10b98126;border-color:var(--oe-success);color:var(--oe-success)}.cal-editor-add-row{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--oe-border);margin-top:4px}.cal-checkbox-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--oe-text-muted);white-space:nowrap;cursor:pointer}.cal-editor-summary{display:flex;gap:16px;padding:10px 16px;background:var(--oe-surface-alt);border-radius:8px;font-size:12px;color:var(--oe-text-muted);margin-bottom:12px}.cal-editor-stat{display:flex;align-items:center;gap:4px}.cal-editor-stat-value{font-weight:700;color:var(--oe-text)}.toast-container{position:fixed;bottom:16px;right:16px;z-index:50;display:flex;flex-direction:column;gap:8px}.toast{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #0006}.toast-success{background:var(--oe-success);color:#000}.toast-error{background:var(--oe-danger);color:#fff}.toast-warning{background:var(--oe-warning);color:#000}.crewsheet{display:grid;grid-template-columns:280px 1fr;gap:20px;height:calc(100vh - 100px)}.crewsheet-sidebar{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;overflow-y:auto;padding:12px 0;display:flex;flex-direction:column}.crewsheet-main{overflow-y:auto;overflow-x:hidden;min-width:0}.crew-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:0 12px;margin-bottom:8px}.crew-sidebar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted)}.crew-sidebar-search{padding:0 12px;margin-bottom:8px}.crew-sidebar-search .search-input{width:100%}.crew-list{list-style:none;margin:0;padding:0;flex:1}.crew-list-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:13px;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.crew-list-item:hover{background:var(--oe-surface-alt)}.crew-list-item.selected{background:#60a5fa1a;border-left-color:var(--oe-primary)}.crew-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.crew-list-info{flex:1;min-width:0}.crew-list-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-list-code{font-size:11px;color:var(--oe-text-muted)}.crew-list-cost{font-size:12px;color:var(--oe-success);flex-shrink:0}.crew-list-actions{opacity:0;transition:opacity .15s}.crew-list-item:hover .crew-list-actions{opacity:1}.crew-add-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:var(--oe-text-muted);cursor:pointer;background:transparent;border:none;width:100%;text-align:left}.crew-add-btn:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.crew-header-form{display:flex;flex-direction:column;gap:6px;padding:12px 16px 14px;margin-bottom:2px;background:var(--oe-surface);border-radius:8px 8px 0 0;border-bottom:1px solid var(--oe-border)}.crew-form-row{display:flex;gap:10px;align-items:flex-end}.crew-form-row--identity{align-items:flex-end}.crew-color-group{flex:0 0 auto;width:52px}.crew-header-form .form-group label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--oe-text-muted);opacity:.7;margin-bottom:2px}.crew-header-form .form-group input,.crew-header-form .form-group select{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--oe-text);padding:5px 8px;font-size:13px;transition:border-color .2s,background .2s}.crew-header-form .form-group input:hover{border-color:var(--oe-border);background:var(--oe-surface-alt)}.crew-header-form .form-group input:focus{outline:none;border-color:var(--oe-primary);background:var(--oe-surface-alt);box-shadow:0 0 0 3px #60a5fa26}.crew-header-form .form-group input::-moz-placeholder{color:var(--oe-text-muted);opacity:.4}.crew-header-form .form-group input::placeholder{color:var(--oe-text-muted);opacity:.4}.crew-header-form .form-group input[type=color]{padding:0;width:28px;height:28px;border-radius:50%;border:2px solid var(--oe-border);cursor:pointer;overflow:hidden;background:transparent}.crew-header-form .form-group input[type=color]:hover{border-color:var(--oe-text-muted)}.crew-header-form .form-group input[type=color]::-webkit-color-swatch-wrapper{padding:0}.crew-header-form .form-group input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}.kpi-bar{display:flex;flex-direction:column;gap:0;margin-bottom:16px;background:var(--oe-surface);border-radius:0 0 8px 8px;overflow:hidden}.kpi-hero-row{display:flex;align-items:center;padding:14px 20px;gap:0}.kpi-hero{flex:1;display:flex;flex-direction:column;gap:2px}.kpi-hero:last-of-type{padding-left:20px}.kpi-hero-divider{width:1px;height:36px;background:var(--oe-border);flex-shrink:0}.kpi-hero-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--oe-text-muted);opacity:.7}.kpi-hero-value{font-size:22px;font-weight:700;color:var(--oe-success);letter-spacing:-.5px}.kpi-detail-row{display:flex;gap:0;padding:0 16px 12px;flex-wrap:wrap}.kpi-detail{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;min-width:0;padding:6px 4px;position:relative}.kpi-detail+.kpi-detail:before{content:"";position:absolute;left:0;top:25%;height:50%;width:1px;background:var(--oe-border);opacity:.5}.kpi-detail-label{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);opacity:.6;white-space:nowrap}.kpi-detail-value{font-size:13px;font-weight:600;color:var(--oe-text);white-space:nowrap}.crew-section{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;padding:16px 20px;margin-bottom:16px}.crew-section.collapsed{padding-bottom:12px}.crew-section-header{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 0;margin:-4px 0 6px;border-radius:4px;transition:background .15s}.crew-section-header:hover{background:var(--oe-surface-alt);padding:4px 6px;margin:-4px -6px 6px}.crew-section.collapsed .crew-section-header{margin-bottom:0}.collapse-icon{font-size:10px;color:var(--oe-text-muted);margin-right:8px;width:12px;flex-shrink:0}.crew-section-title{font-size:14px;font-weight:600}.crew-section-total{font-size:15px;color:var(--oe-primary);margin-right:auto;margin-left:8px}.crew-section-add{background:var(--oe-primary);color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;margin-left:auto}.crew-section-add:hover{background:var(--oe-primary-hover)}.crew-assignments-table{width:100%;border-collapse:collapse;font-size:13px}.crew-assignments-table th{text-align:left;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border)}.crew-assignments-table td{padding:8px 12px;border-bottom:1px solid var(--oe-border)}.crew-assignment-row{cursor:pointer;transition:background .15s}.crew-assignment-row:hover{background:var(--oe-row-hover)}.assignment-status{font-size:11px;padding:2px 8px;border-radius:4px;text-transform:capitalize}.assignment-status--draft{background:#3a3a3a;color:#aaa}.assignment-status--scheduled{background:#1a3a5c;color:#6db3f8}.assignment-status--active{background:#1a3c1a;color:#6dd06d}.assignment-status--complete{background:#2a2a2a;color:#888}.crew-section .oe-table{table-layout:fixed;width:100%}.crew-section .oe-table th:first-child,.crew-section .oe-table td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-section .oe-table th.text-right,.crew-section .oe-table td.text-right{width:100px}.crew-section .oe-table th:last-child,.crew-section .oe-table td:last-child{width:32px}.crew-name-cell{display:flex;align-items:center;gap:4px;min-width:0}.crew-name-cell>:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.open-deck-btn{flex-shrink:0;background:transparent;border:1px solid var(--oe-border);color:var(--oe-text-muted);font-size:10px;width:20px;height:20px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.crew-section .oe-table tbody tr:hover .open-deck-btn{opacity:.6}.open-deck-btn:hover{opacity:1!important;border-color:var(--oe-primary);color:var(--oe-primary);background:#60a5fa1a}.burden-toggle{cursor:pointer;text-decoration:none;color:var(--oe-primary)}.burden-toggle:hover{text-decoration:underline}.burden-detail-row td{padding:0 10px;border-bottom:none}.burden-detail-table{width:100%;font-size:12px;border-collapse:collapse;margin:4px 0 8px;background:var(--oe-bg);border-radius:4px}.burden-detail-table th{text-align:left;padding:4px 8px;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border)}.burden-detail-table td{padding:3px 8px;color:var(--oe-text-muted);border-bottom:1px solid rgba(61,61,61,.5)}.burden-detail-table .text-right{text-align:right}.cost-summary{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;padding:16px 20px;margin-bottom:16px}.cost-summary-title{font-size:14px;font-weight:600;margin-bottom:10px}.cost-summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px}.cost-summary-row.grand-total{padding-top:8px;margin-top:4px;border-top:2px solid var(--oe-border);font-weight:600}.cost-summary-amount{text-align:right}.cost-summary-amount.total{color:var(--oe-success)}.cost-summary-pct{font-size:12px;color:var(--oe-text-muted);min-width:50px;text-align:right}.floor-badge{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#f59e0b;background:#f59e0b26;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle;cursor:help}.crew-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--oe-text-muted);font-size:14px}.sidebar-add-menu{position:relative}.sidebar-add-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px;overflow:hidden}.sidebar-add-option{display:block;width:100%;padding:8px 14px;font-size:13px;text-align:left;background:none;border:none;color:var(--oe-text);cursor:pointer;transition:background .15s}.sidebar-add-option:hover{background:var(--oe-surface-alt)}.sidebar-add-option+.sidebar-add-option{border-top:1px solid var(--oe-border)}.sidebar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);padding:10px 12px 4px}.crew-list-scroll{flex:1;overflow-y:auto}.sub-empty-hint{padding:8px 16px}.cost-summary-total-row td{border-top:2px solid var(--oe-border);padding-top:8px}.ownership-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.ownership-badge.owned{background:#4ade8026;color:var(--oe-success)}.ownership-badge.rented{background:#fbbf2426;color:var(--oe-warning)}.ownership-badge.third-party{background:#60a5fa26;color:var(--oe-primary)}.assignment-workspace{display:flex;flex-direction:column;height:calc(100vh - 80px)}.assignment-detail-panel{width:320px;min-width:320px;border-left:1px solid var(--oe-border);background:var(--oe-surface);display:flex;flex-direction:column;overflow-y:auto}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--oe-border)}.detail-panel-title{font-size:15px;font-weight:600;margin:0}.detail-panel-body{padding:14px;flex:1}.detail-section{margin-bottom:14px}.detail-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);margin-bottom:2px}.detail-panel-actions{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--oe-border)}.detail-panel-actions .btn-primary,.detail-panel-actions .btn-danger{flex:1}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.status-badge.status-draft{background:#a0a0a033;color:var(--oe-text-muted)}.status-badge.status-estimated{background:#60a5fa33;color:var(--oe-primary)}.status-badge.status-approved{background:#4ade8033;color:var(--oe-success)}.status-badge.status-locked{background:#fbbf2433;color:var(--oe-warning)}.assignment-table{width:100%;border-collapse:collapse;font-size:13px}.assignment-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:600;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--oe-table-header);border-bottom:1px solid var(--oe-border);position:sticky;top:0;z-index:1}.assignment-table th.col-actions{width:70px;text-align:center}.assignment-row{border-bottom:1px solid var(--oe-border);transition:background .1s;cursor:pointer}.assignment-row:hover{background:var(--oe-surface-alt)}.assignment-row.selected{background:#60a5fa14}.assignment-row.locked{opacity:.7}.assignment-row td{padding:6px 10px;vertical-align:middle}.assignment-row .cell-label{display:flex;align-items:center;gap:6px;min-width:180px}.assignment-row .label-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-row .cell-readonly{color:var(--oe-text-muted)}.assignment-row .col-actions{text-align:center;white-space:nowrap}.assignment-table-empty{padding:32px 16px;text-align:center;color:var(--oe-text-muted);font-size:13px}.coverage-summary{padding:8px 12px;margin-bottom:8px;background:var(--oe-surface);border-radius:var(--oe-radius-md);border:1px solid var(--oe-border-subtle)}.coverage-info{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.coverage-label{font-size:11px;color:var(--oe-text-muted);font-weight:600}.coverage-value{font-size:13px;font-weight:600}.coverage-value.exact{color:#27ae60}.coverage-value.under{color:var(--oe-text)}.coverage-value.over{color:#e74c3c}.coverage-remaining{font-size:11px;font-weight:500;padding:1px 6px;border-radius:3px}.coverage-remaining.under{color:var(--oe-primary);background:#60a5fa1a}.coverage-remaining.over{color:#e74c3c;background:#e74c3c1a}.coverage-bar{position:relative;width:100%;height:4px;background:var(--oe-border);border-radius:2px;overflow:hidden}.coverage-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:3px;transition:width .3s}.coverage-bar-over{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(231,76,60,.3) 3px,rgba(231,76,60,.3) 6px)!important}.coverage-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.asgn-cards{display:flex;flex-direction:column;gap:8px}.asgn-card{box-shadow:var(--oe-shadow-soft);border-radius:var(--oe-radius-md);border:1px solid var(--oe-border-subtle);background:var(--oe-surface);overflow:hidden}.asgn-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--oe-border-subtle)}.asgn-card-crew-name{font-weight:600;font-size:13px;cursor:pointer;color:var(--oe-primary)}.asgn-card-crew-name:hover{text-decoration:underline}.asgn-card-crew-code{font-size:11px;color:var(--oe-text-muted)}.asgn-card-spacer{flex:1}.asgn-card-fields{display:flex;flex-wrap:wrap;gap:4px 16px;padding:10px 12px}.asgn-field{display:flex;align-items:center;gap:6px;min-width:0}.asgn-field label{font-size:11px;color:var(--oe-text-muted);white-space:nowrap}.asgn-field label.calc-label{color:var(--oe-primary);font-style:italic}.asgn-field .editable-cell{font-weight:600;font-size:13px;min-width:40px}.asgn-field-unit{font-size:11px;color:var(--oe-text-muted);white-space:nowrap}.asgn-field-hint{width:100%}.asgn-computed-hint{font-size:11px;color:var(--oe-text-muted);font-style:italic}.asgn-field-full{width:100%}.asgn-notes{font-size:12px;color:var(--oe-text-muted)}.asgn-card-cost{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding-top:6px;margin-top:4px;border-top:1px solid var(--oe-border)}.asgn-cost-total{font-size:13px;font-weight:600;color:var(--oe-primary)}.asgn-cost-daily{font-size:11px;color:var(--oe-text-muted)}.asgn-cost-breakdown{display:flex;gap:10px;font-size:11px;color:var(--oe-text-muted);width:100%}.asgn-cost-breakdown>span{white-space:nowrap}.btn-secondary{padding:4px 12px;font-size:12px;font-weight:600;background:transparent;border:1px solid var(--oe-border-subtle);border-radius:8px;cursor:pointer;color:var(--oe-text);transition:all .15s}.btn-secondary:hover{background:var(--oe-surface-alt);border-color:var(--oe-border)}.gantt-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:6px 6px 0 0;border-bottom:none}.gantt-toolbar-group{display:flex;border:1px solid var(--oe-border);border-radius:4px;overflow:hidden}.gantt-zoom-btn{background:var(--oe-bg);border:none;border-right:1px solid var(--oe-border);color:var(--oe-text-muted);padding:4px 12px;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.gantt-zoom-btn:last-child{border-right:none}.gantt-zoom-btn:hover{background:var(--oe-surface-alt)}.gantt-zoom-btn.active{background:var(--oe-primary);color:#fff}.gantt-today-btn{background:var(--oe-surface-alt);border:1px solid var(--oe-border);color:var(--oe-text);padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer}.gantt-today-btn:hover{background:var(--oe-border)}.gantt-toolbar-spacer{flex:1}.gantt-container{display:flex;flex:1;border:1px solid var(--oe-border);border-radius:0 0 6px 6px;overflow:hidden;position:relative}.gantt-sidebar{width:280px;min-width:280px;border-right:1px solid var(--oe-border);overflow-y:auto;overflow-x:hidden;background:var(--oe-surface)}.gantt-sidebar-header{height:52px;display:flex;align-items:center;padding:0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);background:var(--oe-table-header);border-bottom:1px solid var(--oe-border);position:sticky;top:0;z-index:2}.gantt-sidebar-row{display:flex;align-items:center;font-size:13px;cursor:default;transition:background .1s}.gantt-sidebar-row:hover{background:var(--oe-surface-alt)}.gantt-sidebar-row.wbs-row{font-weight:600;color:var(--oe-text-muted);cursor:pointer}.gantt-sidebar-chevron{display:inline-block;width:14px;font-size:9px;flex-shrink:0;text-align:center}.gantt-sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.gantt-sidebar-assign-count{background:var(--oe-primary);color:#fff;font-size:10px;font-weight:600;padding:1px 5px;border-radius:8px;margin-left:6px;flex-shrink:0}.gantt-timeline-wrapper{flex:1;overflow:auto;position:relative;background:var(--oe-bg)}.gantt-header{position:sticky;top:0;z-index:2;height:52px;background:var(--oe-table-header);border-bottom:1px solid var(--oe-border)}.gantt-header-months{position:relative;height:26px;border-bottom:1px solid var(--oe-border)}.gantt-header-month{position:absolute;top:0;height:26px;display:flex;align-items:center;padding:0 8px;font-size:12px;font-weight:600;color:var(--oe-text);border-right:1px solid var(--oe-border);overflow:hidden;white-space:nowrap}.gantt-header-days{position:relative;height:25px}.gantt-header-day{position:absolute;top:0;height:25px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--oe-text-muted)}.gantt-header-day.weekend{background:#ffffff08;color:#ffffff4d}.gantt-svg{display:block}.gantt-weekend-rect{fill:#ffffff05}.gantt-grid-line{stroke:var(--oe-border);stroke-width:1;shape-rendering:crispEdges}.gantt-today-line{stroke:var(--oe-warning);stroke-width:2;stroke-dasharray:4 3}.gantt-bar{cursor:grab}.gantt-bar.dragging{cursor:grabbing}.gantt-bar.locked{cursor:not-allowed;opacity:.5}.gantt-bar.selected .gantt-bar-rect{filter:brightness(1.2);stroke:#fff;stroke-width:2}.gantt-bar-rect{transition:filter .1s}.gantt-bar-rect.status-draft{opacity:.75;stroke-dasharray:4 2;stroke:#ffffff4d;stroke-width:1}.gantt-bar-rect.status-estimated{opacity:.9}.gantt-bar-rect.status-approved{opacity:1;stroke-width:2}.gantt-bar-rect.status-locked{opacity:.5}.gantt-bar-label{fill:#fff;font-size:11px;font-weight:500;pointer-events:none}.gantt-bar-handle{fill:#ffffff26;cursor:ew-resize;opacity:0;transition:opacity .15s}.gantt-bar:hover .gantt-bar-handle{opacity:1}.hierarchy-edit-input{flex:1;min-width:0}.crew-tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:9px;font-weight:600;color:#fff;cursor:pointer;transition:filter .15s}.crew-tag:hover{filter:brightness(1.2)}.crew-tag--unassigned{background:transparent;border:1px dashed var(--oe-text-muted);color:var(--oe-text-muted);cursor:default}.crew-tag--unassigned:hover{filter:none}.wbs-tree-container{flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--oe-border);border-radius:0 0 6px 6px;background:var(--oe-bg)}.wbs-tree-scroll{flex:1;overflow:auto}.wbs-tree-table{width:100%;border-collapse:collapse;font-size:13px}.wbs-tree-th{position:sticky;top:0;z-index:2;padding:8px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);background:var(--oe-surface);border-bottom:2px solid var(--oe-border);white-space:nowrap}.wbs-tree-th--code,.wbs-tree-th--scope{width:140px}.wbs-tree-th--crews{width:180px}.wbs-tree-th--cost{width:140px;text-align:right}.wbs-tree-row{cursor:pointer;border-bottom:1px solid var(--oe-border);transition:background .1s}.wbs-tree-row--scope{background:#60a5fa0a}.wbs-tree-row--org{opacity:.75}.wbs-tree-row--org:hover{opacity:1}.wbs-tree-row--unassigned{border-left:3px solid var(--oe-warning)}@keyframes tree-row-highlight{0%{background:#34d39940}to{background:transparent}}.wbs-tree-row--highlighted{animation:tree-row-highlight 2.5s ease-out}.wbs-tree-td{padding:6px 10px;vertical-align:middle;white-space:nowrap}.wbs-tree-code-inner{display:flex;align-items:center}.wbs-tree-td--desc{font-weight:500}.wbs-tree-td--cost{text-align:right;font-weight:600;color:var(--oe-primary);font-size:12px}.wbs-tree-td--scope{font-size:12px;color:var(--oe-text-muted)}.wbs-tree-indent{display:inline-block;flex-shrink:0}.wbs-tree-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border:none;background:transparent;color:var(--oe-text-muted);font-size:10px;cursor:pointer;border-radius:3px;transition:background .1s,color .1s;padding:0}.wbs-tree-chevron:hover{background:var(--oe-surface-alt);color:var(--oe-primary)}.wbs-tree-chevron-spacer{display:inline-block;width:18px;flex-shrink:0}.wbs-tree-code{font-weight:700;font-size:12px;color:var(--oe-primary);margin-left:4px}.wbs-tree-desc{color:var(--oe-text)}.wbs-tree-edit-input{width:100%;min-width:120px}.wbs-tree-crew-tags{display:flex;flex-wrap:wrap;gap:3px}.wbs-tree-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--oe-text-muted);font-size:13px}.flow-summary-bar{display:flex;gap:32px;padding:10px 20px;border-bottom:1px solid var(--oe-border);background:var(--oe-surface);flex-shrink:0}.flow-stat{display:flex;align-items:baseline;gap:6px}.flow-stat-value{font-size:15px;font-weight:700;color:var(--oe-text)}.flow-stat-label{font-size:11px;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.5px}.flow-stat--success .flow-stat-value{color:#34d399}.flow-stat--warning .flow-stat-value{color:var(--oe-warning)}.flow-stat--primary .flow-stat-value{color:var(--oe-primary)}.flow-summary-spacer{flex:1}.flow-summary-btn{padding:4px 12px;border:1px solid var(--oe-border);border-radius:4px;background:var(--oe-surface-alt);color:var(--oe-text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.flow-summary-btn:hover{background:var(--oe-primary);color:#fff;border-color:var(--oe-primary)}.task-manager{display:grid;grid-template-columns:320px 1fr;gap:20px;height:calc(100vh - 100px)}.task-manager-sidebar{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;overflow-y:auto;padding:12px 0}.task-manager-main{overflow-y:auto}.wbs-tree{font-size:13px}.wbs-tree-row{display:flex;align-items:flex-start;gap:4px;padding:5px 8px;cursor:pointer;transition:background .1s;border-left:3px solid transparent}.wbs-tree-row:hover{background:var(--oe-surface-alt)}.wbs-tree-row.selected{background:#60a5fa1a;border-left-color:var(--oe-primary)}.wbs-tree-chevron{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--oe-text-muted);flex-shrink:0;cursor:pointer}.wbs-tree-chevron:hover{color:var(--oe-text)}.wbs-code{font-weight:600;color:var(--oe-primary);margin-right:6px;flex-shrink:0}.wbs-description{flex:1;min-width:0;line-height:1.3}.wbs-task-count{font-size:11px;color:var(--oe-text-muted);background:var(--oe-surface-alt);padding:1px 6px;border-radius:8px;flex-shrink:0}.wbs-task-leaf{font-size:12px;color:var(--oe-text-muted);cursor:pointer}.wbs-task-leaf:hover{color:var(--oe-text)}.wbs-task-leaf-label{line-height:1.3}.wbs-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.wbs-tree-row:hover .wbs-actions{opacity:1}.wbs-action-btn{background:transparent;border:none;color:var(--oe-text-muted);font-size:14px;cursor:pointer;padding:0 2px;line-height:1}.wbs-action-btn:hover{color:var(--oe-text)}.wbs-action-btn.danger:hover{color:var(--oe-danger)}.wbs-add-root{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:var(--oe-text-muted);cursor:pointer;background:transparent;border:none;width:100%;text-align:left}.wbs-add-root:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.task-manager-sidebar-heading{padding:0 12px;margin-bottom:8px}.task-manager-hint{font-size:13px}.wbs-all-tasks-label{font-weight:600;font-size:13px}.wbs-all-tasks-row{padding-left:8px}.wbs-edit-input{flex:1;min-width:0}.task-wbs-code{font-size:12px}.split-focus-layout{display:flex;flex:1;overflow:hidden;border:1px solid var(--oe-border);border-radius:0 0 6px 6px}.focus-sidebar{width:380px;min-width:380px;border-right:1px solid var(--oe-border-subtle);background:var(--oe-surface);display:flex;flex-direction:column;overflow:hidden}.focus-sidebar-search{padding:8px}.focus-sidebar-search .search-input{width:100%;box-sizing:border-box;border-radius:8px}.focus-sidebar-list{flex:1;overflow-y:auto}.focus-sidebar-empty{padding:16px;text-align:center;color:var(--oe-text-muted);font-size:12px}.focus-entity-list{list-style:none;margin:0;padding:4px 0}.focus-entity-item{display:flex;align-items:baseline;gap:6px;padding:7px 10px;margin:1px 6px;cursor:pointer;transition:background .15s;font-size:13px;border-radius:var(--oe-radius-sm)}.focus-entity-item:hover{background:var(--oe-surface-hover)}.focus-entity-item.selected{background:var(--oe-surface-selected)}.focus-entity-item.has-scope{font-weight:500}.focus-entity-info{flex:1;min-width:0}.focus-entity-name{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.focus-entity-sub{font-size:11px;color:var(--oe-text-muted)}.focus-entity-badge{background:var(--oe-surface-alt);color:var(--oe-text-muted);font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;flex-shrink:0}.wbs-scope-badge{width:7px;height:7px;border-radius:50%;background:var(--oe-primary);flex-shrink:0;font-size:0}.focus-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--oe-bg)}.focus-header{display:flex;align-items:center;gap:10px;padding:20px 24px;background:var(--oe-surface)}.focus-header-title{font-size:18px;font-weight:600;margin:0;white-space:nowrap;letter-spacing:-.01em}.focus-header-badge{font-size:11px;color:var(--oe-primary);background:#60a5fa1a;padding:2px 8px;border-radius:4px;font-weight:600}.focus-header-scope{font-size:12px;color:var(--oe-text-muted);background:var(--oe-surface-alt);padding:3px 10px;border-radius:12px}.focus-header-count{font-size:12px;color:var(--oe-text-muted)}.focus-header-cost{font-size:13px;font-weight:600;color:var(--oe-primary)}.sidebar-node-cost{margin-left:auto;font-size:11px;font-weight:600;color:var(--oe-text-muted);white-space:nowrap;padding-right:4px}.focus-header-spacer{flex:1}.focus-table-wrapper{flex:1;overflow:auto;padding:8px 24px 24px}.focus-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--oe-text-muted);font-size:13px}.wbs-dict-section{background:var(--oe-surface);border-radius:var(--oe-radius-md);border:1px solid var(--oe-border-subtle);padding:16px;margin-bottom:8px}.wbs-dict-section--collapsed{padding:12px 16px}.wbs-dict-section:last-child{margin-bottom:0}.wbs-dict-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--oe-text);padding:2px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wbs-dict-section-count{font-size:11px;font-weight:600;color:var(--oe-text-muted);background:var(--oe-surface-alt);padding:1px 7px;border-radius:10px}.section-chevron{display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid var(--oe-text-muted);transition:transform var(--oe-transition-expand);flex-shrink:0}.section-chevron--open{transform:rotate(90deg)}.wbs-dict-section-body{animation:sectionFadeIn .2s ease-out}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.wbs-dict-section-spacer{flex:1}.wbs-dict-empty{font-size:12px;color:var(--oe-text-muted);margin:4px 0 8px}.scope-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:6px 0}.scope-field{display:flex;flex-direction:column;gap:3px}.scope-field>label{font-size:11px;font-weight:600;color:var(--oe-text-muted)}.scope-field-full{grid-column:1 / -1}.scope-deps-btn,.scope-toggle-btn{padding:2px 10px;font-size:11px;font-weight:600;background:transparent;border:1px solid var(--oe-border-subtle);border-radius:8px;cursor:pointer;color:var(--oe-text-muted);transition:all .15s}.scope-deps-btn:hover,.scope-toggle-btn:hover{background:var(--oe-surface-alt);color:var(--oe-text);border-color:var(--oe-border)}.scope-toggle-btn--active{background:var(--oe-primary);color:#fff;border-color:var(--oe-primary)}.dep-inline-summary{padding:4px 0}.dep-inline-label{font-size:11px;font-weight:600;color:var(--oe-text-muted);margin:6px 0 2px}.dep-inline-label:first-child{margin-top:0}.dep-inline-row{display:flex;align-items:center;gap:8px;padding:3px 8px;font-size:12px;border-radius:4px;transition:background .1s}.dep-inline-row:hover{background:var(--oe-surface-alt)}.dep-inline-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-inline-type{font-size:11px;font-weight:600;color:var(--oe-text-muted);background:var(--oe-surface-alt);padding:1px 6px;border-radius:3px}.dep-inline-lag{font-size:11px;color:var(--oe-text-muted)}.children-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.children-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;border-radius:20px;cursor:pointer;background:var(--oe-surface-alt);border:1px solid var(--oe-border-subtle);color:var(--oe-text);transition:all .15s}.children-chip:hover{background:var(--oe-surface-hover);border-color:var(--oe-border)}.children-chip .wbs-code{font-size:11px}.chip-remove{font-size:13px;color:var(--oe-text-muted);opacity:0;transition:opacity .15s;cursor:pointer;line-height:1}.children-chip:hover .chip-remove{opacity:1}.chip-remove:hover{color:var(--oe-danger)}.children-actions{display:flex;gap:8px;margin-top:8px}.assigned-crews-list{display:flex;flex-direction:column;gap:4px}.assigned-crew-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:13px;cursor:pointer}.assigned-crew-row:hover{background:var(--oe-surface-alt)}.assigned-crew-name{font-weight:500;color:var(--oe-text)}.assigned-crew-code{color:var(--oe-text-muted);font-size:11px}.assigned-crew-count{margin-left:auto;color:var(--oe-text-muted);font-size:11px}.node-tree-item{position:relative}.node-sidebar-actions{display:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);gap:2px;background:var(--oe-surface);padding:2px 4px;border-radius:4px;z-index:1}.node-tree-item:hover .node-sidebar-actions{display:flex}.node-tree-item:hover .wbs-scope-badge,.node-tree-item:hover .focus-entity-badge{visibility:hidden}.wbs-action-btn.scope-action{font-size:10px;font-weight:700;color:var(--oe-primary)}.wbs-action-btn.scope-action:hover{background:var(--oe-primary);color:#fff}.crew-detail-panel{width:420px;min-width:420px;border-left:1px solid var(--oe-border-subtle);background:var(--oe-surface);display:flex;flex-direction:column;overflow:hidden}.cdp-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--oe-border);background:var(--oe-surface)}.cdp-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cdp-crew-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdp-crew-code{font-size:11px;color:var(--oe-text-muted)}.cdp-close{background:transparent;border:none;color:var(--oe-text-muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.cdp-close:hover{color:var(--oe-text)}.cdp-override-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fbbf241f;border-bottom:2px solid #f59e0b;color:#fbbf24;font-size:12px;font-weight:600}.cdp-override-banner-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#f59e0b;color:#000;font-size:12px;font-weight:800;flex-shrink:0}.cdp-body{flex:1;overflow-y:auto;padding:12px 16px}.cdp-section{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--oe-border)}.cdp-section:last-child{border-bottom:none}.cdp-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--oe-text);margin-bottom:8px}.cdp-section-count{font-size:10px;font-weight:600;color:var(--oe-primary);background:#60a5fa1a;padding:1px 6px;border-radius:8px}.cdp-section-modified{font-size:10px;font-weight:700;color:#fbbf24;background:#fbbf2426;padding:2px 8px;border-radius:3px;letter-spacing:.5px}.cdp-empty{font-size:12px;margin:4px 0}.cdp-field-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.cdp-field{display:flex;flex-direction:column;gap:2px}.cdp-field>label{font-size:11px;font-weight:600;color:var(--oe-text-muted)}.cdp-field-cost{grid-column:1 / -1}.cdp-cost-value{font-size:14px;font-weight:600;color:var(--oe-primary)}.cdp-subsection-label{font-size:11px;font-weight:600;color:var(--oe-text-muted);padding:8px 8px 4px}.cdp-lines{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.cdp-line{border-radius:4px;border-left:3px solid transparent;transition:background .1s}.cdp-line:hover{background:var(--oe-surface-alt)}.cdp-line--modified{border-left-color:var(--oe-primary);background:#60a5fa0f}.cdp-line--modified:hover{background:#60a5fa1a}.cdp-line--excluded{border-left-color:var(--oe-danger);background:#ef44440a}.cdp-line--excluded:hover{background:#ef444414}.cdp-line--added{border-left-color:#22c55e;background:#22c55e0f}.cdp-line--added:hover{background:#22c55e1a}.cdp-line-main{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;min-height:28px}.cdp-line-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.cdp-line-detail{color:var(--oe-text-muted);font-size:11px;white-space:nowrap;flex-shrink:0}.cdp-line-original{font-size:11px;color:var(--oe-text-muted);white-space:nowrap;flex-shrink:0}.cdp-line-original s{text-decoration:line-through;opacity:.6}.cdp-line-effective{font-size:12px;font-weight:600;color:var(--oe-text);white-space:nowrap;flex-shrink:0}.cdp-line--modified .cdp-line-effective{color:var(--oe-primary)}.cdp-line--added .cdp-line-effective{color:#22c55e}.cdp-tag{font-size:9px;font-weight:800;padding:2px 8px;border-radius:3px;letter-spacing:.8px;flex-shrink:0}.cdp-tag--excluded{background:#ef44442e;color:#ef4444}.cdp-tag--added{background:#22c55e2e;color:#22c55e}.cdp-line-actions{margin-left:auto;display:flex;align-items:center;gap:4px;flex-shrink:0}.cdp-action-btn{background:transparent;border:none;color:var(--oe-text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .1s}.cdp-action-btn:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.cdp-action-btn--danger:hover{color:var(--oe-danger)}.cdp-inline-form{display:flex;align-items:center;gap:6px;padding:4px 10px 8px;flex-wrap:wrap}.cdp-inline-input{width:80px;font-size:12px;padding:3px 6px}.cdp-inline-submit{padding:3px 12px;font-size:11px}.cdp-add-section{margin-top:10px}.cdp-add-form{flex-direction:column;align-items:stretch}.cdp-add-form .inline-select{width:100%;box-sizing:border-box;font-size:12px}.cdp-add-row{display:flex;align-items:center;gap:6px}.cdp-add-buttons{display:flex;gap:8px}.cdp-footer{padding:8px 0;text-align:center}.cdp-link{background:transparent;border:none;color:var(--oe-primary);font-size:12px;cursor:pointer;padding:4px 8px}.cdp-link:hover{text-decoration:underline}.asgn-override-badge{font-size:10px;font-weight:700;color:#fbbf24;background:#fbbf2426;padding:2px 8px;border-radius:3px;letter-spacing:.3px;flex-shrink:0}.reports-dashboard-wrapper{padding:32px;overflow-y:auto;height:calc(100vh - 64px)}.reports-dashboard{max-width:1200px;margin:0 auto}.reports-dashboard-header{margin-bottom:32px}.reports-dashboard-title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;color:var(--oe-text)}.reports-dashboard-subtitle{font-size:14px;color:var(--oe-text-muted);margin:0}.reports-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}.report-kpi-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:12px;padding:20px 24px;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s}.report-kpi-card:hover{border-color:#60a5fa4d;box-shadow:0 4px 20px #0003}.report-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--kpi-accent, var(--oe-primary));opacity:.7}.report-kpi-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);margin-bottom:8px}.report-kpi-value{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--oe-text)}.reports-group{margin-bottom:32px}.reports-group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--oe-text-muted);margin-bottom:12px;padding-left:2px}.reports-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.report-preview-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:12px;padding:20px 24px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex;flex-direction:column;gap:6px}.report-preview-card:hover{border-color:#60a5fa66;box-shadow:0 4px 16px #00000026;transform:translateY(-1px)}.report-preview-name{font-size:15px;font-weight:600;color:var(--oe-text)}.report-preview-description{font-size:12px;color:var(--oe-text-muted);line-height:1.4}.report-preview-stat{font-size:13px;font-weight:500;color:var(--oe-primary);margin-top:4px}.reports-detail-layout{display:grid;grid-template-columns:240px 1fr;height:calc(100vh - 64px);overflow:hidden}.reports-sidebar{background:var(--oe-surface);border-right:1px solid var(--oe-border);overflow-y:auto;padding:16px 0;display:flex;flex-direction:column}.reports-sidebar-back{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--oe-primary);text-decoration:none;border-bottom:1px solid var(--oe-border);margin-bottom:8px;transition:background .15s}.reports-sidebar-back:hover{background:var(--oe-surface-alt)}.reports-sidebar-group{margin-bottom:4px}.reports-sidebar-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--oe-text-muted);padding:12px 16px 4px}.reports-sidebar-link{display:block;padding:7px 16px 7px 24px;font-size:13px;color:var(--oe-text-muted);text-decoration:none;border-left:3px solid transparent;transition:all .15s}.reports-sidebar-link:hover{background:var(--oe-surface-alt);color:var(--oe-text)}.reports-sidebar-link.active{background:#60a5fa14;border-left-color:var(--oe-primary);color:var(--oe-text);font-weight:500}.reports-detail-content{overflow-y:auto;padding:24px 32px}.report-header{margin-bottom:24px}.report-breadcrumb{font-size:12px;color:var(--oe-text-muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}.report-breadcrumb-sep{opacity:.4}.report-title{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px;color:var(--oe-text)}.report-description{font-size:13px;color:var(--oe-text-muted);margin:0 0 16px}.report-stat-bar{display:flex;gap:24px;padding:12px 16px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:10px}.report-stat-item{display:flex;flex-direction:column;gap:2px}.report-stat-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted)}.report-stat-value{font-size:16px;font-weight:600;color:var(--oe-text)}.report-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.report-row-count{font-size:12px;color:var(--oe-text-muted)}.report-crew-selector{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px}.report-crew-selector label{font-size:13px;font-weight:500;color:var(--oe-text-muted)}.report-table-section .oe-table th{padding:10px 14px;position:sticky;top:0;z-index:2;background:var(--oe-table-header)}.report-table-section .oe-table td{padding:8px 14px}.report-table-section .oe-table tbody tr:nth-child(2n){background:#ffffff04}.heatmap-grid{display:flex;flex-wrap:wrap;gap:3px}.heatmap-cell{width:64px;height:48px;border-radius:6px;border:1px solid var(--oe-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:default;transition:border-color .15s}.heatmap-cell:hover{border-color:var(--oe-primary)}.heatmap-day{font-size:11px;font-weight:600;color:var(--oe-text)}.heatmap-cost{font-size:9px;color:var(--oe-text);opacity:.9}.heatmap-legend{display:flex;align-items:center;gap:8px;margin-top:16px;justify-content:center}.heatmap-legend-scale{display:flex;gap:2px}.heatmap-legend-block{width:20px;height:12px;border-radius:3px}.report-chart-stats{font-size:13px}@media (max-width: 900px){.reports-kpi-row{grid-template-columns:repeat(2,1fr)}.reports-group-grid{grid-template-columns:1fr}.reports-detail-layout{grid-template-columns:200px 1fr}}.jones-panel{grid-area:jones;background:var(--oe-surface);border-left:1px solid var(--oe-border);display:flex;flex-direction:column;overflow:hidden}.jones-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--oe-border);flex-shrink:0}.jones-panel-title{font-size:14px;font-weight:600}.jones-panel-status{display:flex;align-items:center;gap:6px;font-size:11px}.jones-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.jones-empty{color:var(--oe-text-muted);font-size:13px;text-align:center;margin-top:40px;padding:0 20px;line-height:1.5}.jones-msg{display:flex;flex-direction:column;max-width:85%}.jones-msg--user{align-self:flex-end}.jones-msg--jones{align-self:flex-start}.jones-msg-label{font-size:11px;color:var(--oe-primary);font-weight:600;margin-bottom:2px}.jones-msg-bubble{padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.jones-msg--user .jones-msg-bubble{background:var(--oe-primary);color:#fff;border-bottom-right-radius:3px}.jones-msg--jones .jones-msg-bubble{background:var(--oe-surface-alt);color:var(--oe-text);border-bottom-left-radius:3px;white-space:normal}.jones-markdown p{margin:0 0 8px}.jones-markdown p:last-child{margin-bottom:0}.jones-markdown ul,.jones-markdown ol{margin:4px 0 8px;padding-left:20px}.jones-markdown li{margin-bottom:2px}.jones-markdown strong{font-weight:600}.jones-markdown code{background:#ffffff14;padding:1px 4px;border-radius:3px;font-size:12px}.jones-markdown pre{background:#0000004d;padding:8px;border-radius:4px;overflow-x:auto;margin:6px 0}.jones-markdown pre code{background:none;padding:0}.jones-markdown table{border-collapse:collapse;margin:6px 0;font-size:11px;width:-moz-max-content;width:max-content;min-width:100%}.jones-markdown th,.jones-markdown td{border:1px solid var(--oe-border);padding:3px 6px;text-align:left;white-space:nowrap}.jones-markdown th{background:#ffffff0d;font-weight:600}.jones-msg-bubble:has(table){overflow-x:auto}.jones-markdown h1,.jones-markdown h2,.jones-markdown h3{margin:8px 0 4px;font-size:13px;font-weight:600}.jones-markdown blockquote{border-left:3px solid var(--oe-primary);margin:6px 0;padding-left:10px;opacity:.85}.jones-msg-bubble--streaming{opacity:.9}.jones-thinking{display:flex;align-items:center;padding:12px 16px}.jones-thinking-dots{display:flex;gap:5px}.jones-thinking-dots span{width:7px;height:7px;border-radius:50%;background:var(--oe-text-muted);animation:jones-thinking-pulse 1.4s ease-in-out infinite}.jones-thinking-dots span:nth-child(2){animation-delay:.2s}.jones-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes jones-thinking-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.jones-cursor{display:inline-block;width:6px;height:14px;background:var(--oe-primary);margin-left:2px;vertical-align:text-bottom;animation:jones-blink .8s step-end infinite}@keyframes jones-blink{50%{opacity:0}}.jones-msg-time{font-size:10px;color:var(--oe-text-muted);margin-top:2px}.jones-msg--user .jones-msg-time{text-align:right}.jones-input-wrapper{border-top:1px solid var(--oe-border);flex-shrink:0}.jones-file-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0}.jones-file-chip{display:inline-flex;align-items:center;gap:4px;background:var(--oe-surface-alt);border:1px solid var(--oe-border);border-radius:12px;padding:2px 8px;font-size:11px;color:var(--oe-text-muted)}.jones-file-chip--loading{animation:chip-pulse 1.2s ease-in-out infinite}@keyframes chip-pulse{0%,to{opacity:1}50%{opacity:.4}}.jones-file-chip-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jones-file-chip-remove{background:none;border:none;color:var(--oe-text-muted);cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.jones-file-chip-remove:hover{color:var(--oe-danger)}.jones-file-chip--error{border-color:var(--oe-danger);color:var(--oe-danger)}.jones-extract-preview{border-top:1px solid var(--oe-border);background:var(--oe-surface-alt);max-height:50vh;display:flex;flex-direction:column}.jones-extract-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--oe-border);flex-shrink:0}.jones-extract-preview-title{font-size:12px;font-weight:600;color:var(--oe-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jones-extract-preview-close{background:none;border:none;color:var(--oe-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.jones-extract-preview-close:hover{color:var(--oe-text)}.jones-extract-preview-body{flex:1;overflow:auto;padding:10px 12px;margin:0;font-size:11px;line-height:1.5;color:var(--oe-text);white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Fira Code,monospace}.jones-extract-preview-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:6px 12px;border-top:1px solid var(--oe-border);flex-shrink:0}.jones-extract-preview-size{font-size:11px;color:var(--oe-text-muted)}.jones-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px}.jones-input-attach{width:32px;height:32px;border-radius:50%;background:transparent;color:var(--oe-text-muted);border:1px solid var(--oe-border);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,border-color .15s}.jones-input-attach:hover:not(:disabled){color:var(--oe-primary);border-color:var(--oe-primary)}.jones-input-attach:disabled{opacity:.4;cursor:not-allowed}.jones-input-field{flex:1;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:8px;color:var(--oe-text);font-size:13px;padding:8px 12px;resize:none;font-family:inherit;max-height:100px;line-height:1.4}.jones-input-field::-moz-placeholder{color:var(--oe-text-muted)}.jones-input-field::placeholder{color:var(--oe-text-muted)}.jones-input-field:focus{outline:none;border-color:var(--oe-primary)}.jones-input-send{width:32px;height:32px;border-radius:50%;background:var(--oe-primary);color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.jones-input-send:hover:not(:disabled){background:var(--oe-primary-hover)}.jones-input-send:disabled{opacity:.4;cursor:not-allowed}.project-landing-shell{display:grid;grid-template-columns:1fr;grid-template-areas:"main";height:100vh;overflow:hidden;transition:grid-template-columns .2s ease}.project-landing-shell--jones-open{grid-template-columns:1fr 380px;grid-template-areas:"main jones"}.project-landing{position:relative;min-height:100vh;background:var(--oe-bg);display:flex;flex-direction:column;align-items:center;padding:80px 24px 40px;overflow-y:auto}.project-landing-header{text-align:center;margin-bottom:48px}.project-landing-logo{width:64px;height:64px;border-radius:12px;margin:0 auto 16px;display:block}.project-landing-title{font-size:36px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;color:var(--oe-text)}.project-landing-subtitle{font-size:16px;color:var(--oe-text-muted);margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;width:100%;max-width:960px}.project-card{background:#11182780;border:1px solid #1e293b;border-radius:16px;padding:24px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column;gap:10px}.project-card:hover{border-color:#60a5fa;box-shadow:0 4px 24px #60a5fa1f;transform:translateY(-2px)}.project-card--new{border-style:dashed;border-color:#374151;align-items:center;justify-content:center;text-align:center;min-height:160px}.project-card--new:hover{border-color:#60a5fa;background:#60a5fa0d}.project-card-header{display:flex;justify-content:space-between;align-items:center}.project-card-code{font-size:12px;font-weight:600;color:var(--oe-primary);background:#60a5fa1a;padding:2px 10px;border-radius:9999px}.project-card-delete{background:none;border:none;color:var(--oe-text-muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s,color .15s}.project-card:hover .project-card-delete{opacity:1}.project-card-delete:hover{color:var(--oe-danger)}.project-card-name{font-size:16px;font-weight:600;color:var(--oe-text)}.project-card-meta{display:flex;gap:12px;font-size:12px;color:var(--oe-text-muted)}.project-card-plus{font-size:36px;font-weight:300;color:var(--oe-text-muted);line-height:1}.landing-top-bar{position:absolute;top:16px;right:24px;z-index:10;display:flex;align-items:center;gap:12px}.landing-jones-toggle{width:36px;height:36px;border-radius:8px;border:1px solid var(--oe-border);background:var(--oe-surface);color:var(--oe-text-muted);font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.landing-jones-toggle:hover{border-color:var(--oe-primary);color:var(--oe-primary)}.landing-jones-toggle--active{background:var(--oe-primary);border-color:var(--oe-primary);color:#fff}.overview-dashboard{padding:24px;overflow-y:auto;height:100%;display:flex;flex-direction:column;gap:20px}.overview-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--oe-text-muted);font-size:14px}.overview-empty-state{text-align:center;padding:48px 24px;color:var(--oe-text);font-size:15px}.overview-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.overview-stat-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:16px;padding:24px 20px 20px;display:flex;flex-direction:column;gap:6px}.overview-stat-value{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.overview-stat--cost{color:#34d399}.overview-stat--hours{color:#60a5fa}.overview-stat--days{color:#fbbf24}.overview-stat--peak{color:#f87171}.overview-stat-label{font-size:12px;font-weight:500;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.05em}.overview-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:16px;overflow:hidden}.overview-card--tree{overflow:visible;flex-shrink:0}.overview-card--chart{min-width:0}.overview-card-header{display:flex;align-items:baseline;justify-content:space-between;padding:16px 20px 12px}.overview-card-title{font-size:15px;font-weight:600;color:var(--oe-text);margin:0}.overview-card-subtitle{font-size:12px;color:var(--oe-text-muted)}.overview-phase-bars{padding:0 20px 16px;display:flex;flex-direction:column;gap:10px}.overview-phase-row{display:grid;grid-template-columns:200px 1fr 100px;align-items:center;gap:12px}.overview-phase-label{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.overview-phase-code{font-size:12px;font-weight:600;color:var(--oe-primary);flex-shrink:0}.overview-phase-name{font-size:13px;color:var(--oe-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-phase-bar-track{height:20px;background:#ffffff08;border-radius:6px;overflow:hidden}.overview-phase-bar{height:100%;display:flex;border-radius:6px;overflow:hidden;transition:width .4s ease}.overview-phase-segment{height:100%;min-width:1px;transition:width .3s ease}.overview-phase-amount{font-size:13px;font-weight:500;color:var(--oe-text);text-align:right;font-variant-numeric:tabular-nums}.overview-phase-legend{display:flex;gap:16px;padding-top:8px;border-top:1px solid var(--oe-border);margin-top:4px}.overview-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--oe-text-muted)}.overview-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.overview-chart-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.overview-coverage-body{display:flex;align-items:center;gap:32px;padding:16px 24px 24px}.overview-ring-container{flex-shrink:0}.overview-ring{width:100px;height:100px;border-radius:50%;background:conic-gradient(#34d399 0deg var(--coverage-pct),rgba(255,255,255,.08) var(--coverage-pct) 360deg);display:flex;align-items:center;justify-content:center;position:relative}.overview-ring:after{content:"";position:absolute;width:68px;height:68px;border-radius:50%;background:var(--oe-surface)}.overview-ring-value{position:relative;z-index:1;font-size:22px;font-weight:700;color:var(--oe-text)}.overview-coverage-detail{display:flex;flex-direction:column;gap:10px}.overview-coverage-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--oe-text)}.overview-coverage-row strong{margin-left:auto;font-variant-numeric:tabular-nums}.overview-crew-list{padding:0 4px 8px;max-height:260px;overflow-y:auto}.overview-crew-row{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;border-radius:8px;transition:background .1s}.overview-crew-row:hover{background:#ffffff08}.overview-crew-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.overview-crew-name{font-weight:500;color:var(--oe-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-crew-asgn{font-size:11px;color:var(--oe-text-muted);flex-shrink:0}.overview-crew-cost{font-weight:500;color:var(--oe-text);font-variant-numeric:tabular-nums;flex-shrink:0}.overview-tree-actions{display:flex;gap:8px}.overview-tree-btn{font-size:12px;padding:4px 12px;border-radius:6px;border:1px solid var(--oe-border);background:transparent;color:var(--oe-text-muted);cursor:pointer;transition:border-color .15s,color .15s}.overview-tree-btn:hover{border-color:var(--oe-primary);color:var(--oe-primary)}.overview-tree-wrap{overflow:visible}.overview-tree-table{width:100%;border-collapse:collapse;font-size:13px}.overview-tree-table thead th{padding:8px 16px;text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border);position:sticky;top:0;background:var(--oe-surface)}.overview-tree-table thead th.overview-tree-num{text-align:right}.overview-tree-table tbody td{padding:7px 16px;color:var(--oe-text);border-bottom:1px solid rgba(255,255,255,.025);font-variant-numeric:tabular-nums;white-space:nowrap}.overview-tree-num{text-align:right;color:var(--oe-text-muted);min-width:90px}.overview-tree-total{font-weight:600;color:var(--oe-text)}.overview-tree-pct{min-width:55px;color:var(--oe-text-muted);font-size:12px}.overview-tree-row{cursor:default;transition:background .1s}.overview-tree-row:hover td{background:#ffffff05}.overview-tree-row--phase>td{font-weight:600;border-bottom:1px solid var(--oe-border)}.overview-tree-row--phase>td:first-child{font-size:14px}.overview-tree-row--zero .overview-tree-num{opacity:.35}.overview-tree-toggle{font-size:9px;margin-right:6px;color:var(--oe-text-muted);display:inline-block;width:14px;text-align:center;cursor:pointer}.overview-tree-code{font-weight:600;color:var(--oe-primary);margin-right:10px}.overview-tree-desc{color:var(--oe-text);font-weight:400}@media (max-width: 900px){.overview-stats-row{grid-template-columns:repeat(2,1fr)}.overview-chart-row{grid-template-columns:1fr}.overview-phase-row{grid-template-columns:140px 1fr 80px}}.deck-empty{text-align:center;color:var(--oe-text-muted);font-size:14px;padding:40px 20px}.deck-group{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;margin-bottom:12px;overflow:hidden}.deck-group-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s}.deck-group-header:hover{background:var(--oe-surface-alt)}.deck-group-chevron{font-size:10px;color:var(--oe-text-muted);width:14px;flex-shrink:0}.deck-group-name{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.deck-group-count{font-size:11px;font-weight:600;color:var(--oe-primary);background:#60a5fa1a;padding:1px 7px;border-radius:10px}.deck-group-body{border-top:1px solid var(--oe-border)}.deck-table{width:100%;border-collapse:collapse;font-size:13px}.deck-table thead{background:var(--oe-table-header)}.deck-table th{text-align:left;padding:8px 12px;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border)}.deck-table td{padding:8px 12px;border-bottom:1px solid var(--oe-border)}.deck-row:hover{background:var(--oe-surface-alt)}.deck-cell-blended{font-weight:600;color:var(--oe-success)}.deck-burden-container td{border-bottom:1px solid var(--oe-border)}.deck-burden-rows{padding:6px 16px 10px 32px;background:var(--oe-bg)}.deck-burden-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:6px}.deck-burden-table th{text-align:left;padding:4px 8px;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border)}.deck-burden-table td{padding:3px 8px;color:var(--oe-text-muted);border-bottom:1px solid rgba(61,61,61,.5)}.deck-burden-row:hover{background:var(--oe-surface-alt)}.deck-add-line-btn{background:transparent;border:1px dashed var(--oe-border);color:var(--oe-text-muted);padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.deck-add-line-btn:hover{border-color:var(--oe-primary);color:var(--oe-primary);background:#60a5fa0d}.sub-cost-detail{color:var(--oe-text-muted);font-size:13px}.asgn-card-sub{border-left:3px solid #f59e0b}.asgn-card-type-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#f59e0b;background:#f59e0b1a;padding:1px 6px;border-radius:4px;margin-left:4px}.sub-modal-subdef{padding:8px 16px;margin-bottom:12px;background:var(--oe-surface-alt);border-radius:6px;font-weight:500;display:flex;align-items:center;gap:8px}.import-modal{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:8px;width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080}.import-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--oe-border)}.import-modal-body{padding:16px;overflow-y:auto;flex:1}.import-modal-input-group{display:flex;align-items:center;gap:12px;margin-bottom:8px}.import-file-input{font-size:12px;color:var(--oe-text-muted)}.import-textarea{width:100%;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:6px;color:var(--oe-text);font-size:12px;font-family:monospace;padding:10px;resize:vertical}.import-textarea:focus{outline:none;border-color:var(--oe-primary)}.import-preview{margin-top:12px}.import-preview-count{font-size:12px;font-weight:600;color:var(--oe-text-muted);margin-bottom:6px}.import-preview-scroll{max-height:200px;overflow:auto;border:1px solid var(--oe-border);border-radius:4px}.modal-content-override{background:var(--oe-surface);border-radius:8px;padding:20px 24px;min-width:560px;max-width:760px;max-height:80vh;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.override-section-title{font-size:12px;font-weight:600;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px}.override-badge{display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.override-badge--exclude{background:#ef444426;color:#ef4444}.override-badge--modify{background:#eab30826;color:#eab308}.override-badge--add{background:#22c55e26;color:#22c55e}.override-line-excluded td{text-decoration:line-through;opacity:.5}.override-summary{font-size:11px;color:var(--oe-text-muted);margin-top:2px}.override-date-range{font-size:10px;color:var(--oe-text-muted);margin-left:6px}.override-add-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--oe-border)}.override-add-form label{display:flex;flex-direction:column;font-size:11px;font-weight:500;color:var(--oe-text-muted);gap:3px}.override-input{font-size:12px;padding:4px 8px;border:1px solid var(--oe-border);border-radius:4px;background:var(--oe-bg);color:var(--oe-text);width:90px}.override-input--wide{width:160px}.override-empty{font-size:12px;color:var(--oe-text-muted);margin:4px 0 12px;font-style:italic}.deck-grid{background:var(--oe-surface);box-shadow:var(--oe-shadow-card);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;height:100%}.deck-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--oe-border);flex-wrap:wrap}.deck-grid-toolbar-left,.deck-grid-toolbar-right{display:flex;align-items:center;gap:8px}.deck-grid-toolbar-label{font-size:11px;color:var(--oe-text-muted);white-space:nowrap}.deck-grid-toolbar-input{width:56px;font-size:12px;padding:3px 6px;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:4px;color:var(--oe-text);text-align:center}.deck-grid-toolbar-input:focus{outline:none;border-color:var(--oe-primary)}.deck-grid-scroll{flex:1;overflow:auto}.deck-grid-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}.deck-grid-table thead{position:sticky;top:0;z-index:10;background:var(--oe-table-header)}.deck-grid-table th{text-align:left;padding:6px 10px;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--oe-text-muted);border-bottom:2px solid var(--oe-border);border-right:1px solid var(--oe-border);white-space:nowrap}.deck-grid-table th:last-child{border-right:none}.deck-grid-table td{padding:3px 8px;border-bottom:1px solid var(--oe-border);border-right:1px solid var(--oe-border);white-space:nowrap}.deck-grid-table td:last-child{border-right:none}.deck-grid-table tbody tr:hover td{background:var(--oe-surface-alt)}.deck-grid-table .col-sticky-0{position:sticky;left:0;z-index:5;background:var(--oe-surface)}.deck-grid-table .col-sticky-1{position:sticky;left:80px;z-index:5;background:var(--oe-surface)}.deck-grid-table thead .col-sticky-0,.deck-grid-table thead .col-sticky-1{background:var(--oe-table-header);z-index:15}.deck-grid-table tbody tr:hover .col-sticky-0,.deck-grid-table tbody tr:hover .col-sticky-1{background:var(--oe-surface-alt)}.deck-col-code{width:80px;min-width:80px}.deck-col-name{min-width:140px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-col-rate{width:90px;min-width:90px}.deck-col-group,.deck-col-class{width:100px;min-width:100px}.deck-col-ownership{width:80px;min-width:80px}.deck-col-burden{width:85px;min-width:85px;text-align:right}.deck-col-computed{width:100px;min-width:100px;text-align:right}.deck-col-actions,.deck-col-add{width:36px;min-width:36px;text-align:center}.deck-col-header{display:flex;flex-direction:column;gap:1px;text-align:right}.deck-col-header-code{font-size:11px;font-weight:600}.deck-col-header-basis{font-size:9px;font-weight:400;color:var(--oe-text-muted);text-transform:none;letter-spacing:0}.deck-cell-empty{color:var(--oe-text-muted);opacity:.3;cursor:pointer;text-align:right;font-size:12px}.deck-cell-empty:hover{opacity:.7}.deck-cell-burden{text-align:right}.deck-cell-burden .editable-cell{text-align:right;justify-content:flex-end}.deck-cell-computed{font-weight:600;color:var(--oe-success);text-align:right;font-size:13px}.deck-add-col-btn{background:transparent;border:1px dashed var(--oe-border);color:var(--oe-text-muted);font-size:14px;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.deck-add-col-btn:hover{border-color:var(--oe-primary);color:var(--oe-primary)}.deck-add-col-form{position:absolute;top:100%;right:0;margin-top:4px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:6px;padding:12px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:200px;display:flex;flex-direction:column;gap:8px}.deck-add-col-form label{font-size:11px;font-weight:500;color:var(--oe-text-muted);display:flex;flex-direction:column;gap:3px}.deck-add-col-form input,.deck-add-col-form select{font-size:12px;padding:4px 8px;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:4px;color:var(--oe-text)}.deck-add-col-form input:focus,.deck-add-col-form select:focus{outline:none;border-color:var(--oe-primary)}.deck-add-col-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.deck-row-delete{background:transparent;border:none;color:var(--oe-text-muted);font-size:14px;cursor:pointer;opacity:0;transition:all .1s;padding:0 4px;line-height:1}.deck-grid-table tbody tr:hover .deck-row-delete{opacity:.5}.deck-row-delete:hover{opacity:1!important;color:var(--oe-danger)}.deck-col-header-clickable .deck-col-header{cursor:pointer;border-radius:3px;padding:2px 4px;margin:-2px -4px;transition:background .1s}.deck-col-header-clickable .deck-col-header:hover{background:#60a5fa1a}.deck-col-edit-form{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:6px;padding:12px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:200px;display:flex;flex-direction:column;gap:8px;text-transform:none;letter-spacing:0}.deck-col-edit-form label{font-size:11px;font-weight:500;color:var(--oe-text-muted);display:flex;flex-direction:column;gap:3px}.deck-col-edit-form input,.deck-col-edit-form select{font-size:12px;padding:4px 8px;background:var(--oe-bg);border:1px solid var(--oe-border);border-radius:4px;color:var(--oe-text)}.deck-col-edit-form input:focus,.deck-col-edit-form select:focus{outline:none;border-color:var(--oe-primary)}.deck-col-bulk-rate{border-top:1px solid var(--oe-border);padding-top:8px;margin-top:4px}.deck-col-bulk-row{display:flex;gap:6px;align-items:center}.deck-col-bulk-row input{flex:1;min-width:0}.deck-col-edit-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.deck-cell-with-delete{position:relative}.deck-cell-delete-btn{display:none;position:absolute;top:1px;right:1px;background:var(--oe-surface);border:none;color:var(--oe-text-muted);font-size:11px;cursor:pointer;padding:0 3px;line-height:1;border-radius:2px}.deck-cell-with-delete:hover .deck-cell-delete-btn{display:block}.deck-cell-delete-btn:hover{color:var(--oe-danger)}.deck-cell-floor{color:#f59e0b;font-weight:600}.deck-cell-clickable{cursor:pointer;transition:background .1s}.deck-cell-clickable:hover{background:#22c55e14!important;text-decoration:underline}.breakdown-modal{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:8px;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080}.breakdown-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--oe-border)}.breakdown-title{margin:0;font-size:15px;font-weight:600}.breakdown-subtitle{font-size:12px;color:var(--oe-text-muted)}.breakdown-close{background:transparent;border:none;color:var(--oe-text-muted);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.breakdown-close:hover{color:var(--oe-text)}.breakdown-body{padding:16px 20px;overflow-y:auto;flex:1}.breakdown-hint{margin:0 0 12px;font-size:11px;color:var(--oe-text-muted);font-style:italic}.breakdown-section{margin-bottom:16px}.breakdown-section:last-child{margin-bottom:0}.breakdown-section-title{font-size:11px;font-weight:600;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.breakdown-section-result{background:var(--oe-bg);border-radius:6px;padding:12px;margin-top:8px}.breakdown-table{width:100%;border-collapse:collapse;font-size:13px}.breakdown-table th{text-align:left;padding:4px 8px;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--oe-text-muted);border-bottom:1px solid var(--oe-border)}.breakdown-th-right{text-align:right!important}.breakdown-table td{padding:4px 8px}.breakdown-label{color:var(--oe-text-muted);font-size:12px}.breakdown-label.indent{padding-left:20px}.breakdown-value{text-align:right;font-variant-numeric:tabular-nums}.breakdown-value-bold{font-weight:600}.breakdown-cell-mono{font-family:monospace;font-size:12px}.breakdown-cell-muted{color:var(--oe-text-muted);font-size:11px}.breakdown-cell-right{text-align:right;font-variant-numeric:tabular-nums}.breakdown-row-highlight{border-top:1px solid var(--oe-border)}.breakdown-row-highlight td{font-weight:600;padding-top:6px}.breakdown-row-total{border-top:1px solid var(--oe-border)}.breakdown-row-total td{font-weight:600;padding-top:6px}.breakdown-row-divider td{padding-top:8px;color:var(--oe-text-muted)}.breakdown-row-blended td{font-weight:700;font-size:15px;color:var(--oe-success);padding-top:6px}.rental-terms-form{display:flex;flex-direction:column;gap:8px}.rental-terms-row{display:flex;align-items:center;gap:8px}.rental-terms-label{width:120px;flex-shrink:0;font-size:12px;color:var(--oe-text-secondary)}.rental-terms-input{display:flex;align-items:center;gap:2px;flex:1}.rental-terms-prefix{font-size:12px;color:var(--oe-text-muted)}.rental-terms-suffix{font-size:12px;color:var(--oe-text-muted);margin-left:2px}.rental-terms-row .editable-input{width:120px;text-align:right}.rental-terms-preview{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:8px;border-top:1px solid var(--oe-border)}.rental-terms-preview-label{font-size:12px;font-weight:600;color:var(--oe-text-secondary)}.rental-terms-preview-value{font-size:14px;font-weight:700;color:var(--oe-success)}.sidebar-section-label--toggle{cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .1s;border-radius:4px;margin:0 4px;padding:8px 8px 4px}.sidebar-section-label--toggle:hover{background:var(--oe-surface-alt)}.sidebar-section-chevron{font-size:8px;color:var(--oe-text-muted);width:12px;flex-shrink:0}.sidebar-section-count{margin-left:auto;font-size:10px;font-weight:600;color:var(--oe-text-muted);background:var(--oe-surface-alt);padding:1px 6px;border-radius:8px}.crew-sort-btn{margin-left:auto;margin-right:6px;background:var(--oe-surface-alt);border:1px solid var(--oe-border);border-radius:4px;padding:1px 6px;font-size:9px;font-weight:500;color:var(--oe-text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:background .15s,color .15s}.crew-sort-btn:hover{background:var(--oe-primary);color:#fff;border-color:var(--oe-primary)}.crew-groups{margin:0;padding:0}.crew-group+.crew-group{margin-top:2px}.crew-group-header{display:flex;align-items:center;gap:5px;padding:4px 12px 4px 20px;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--oe-text-muted);transition:background .1s;border-radius:3px;margin:0 4px}.crew-group-header:hover{background:var(--oe-surface-alt)}.crew-group-chevron{font-size:7px;width:10px;flex-shrink:0;color:var(--oe-text-muted)}.crew-group-label{flex:1}.crew-group-count{font-size:9px;font-weight:600;color:var(--oe-text-muted);opacity:.7}.resource-detail-placeholder .form-value{font-size:14px;font-weight:500;color:var(--oe-text);padding:4px 0}.cbs-layout{display:flex;flex-direction:column;height:100%}.cbs-tabs{display:flex;gap:4px;padding:12px 16px 0;border-bottom:1px solid var(--oe-border)}.cbs-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--oe-text-muted);text-decoration:none;border-radius:8px 8px 0 0;border:1px solid transparent;border-bottom:none;transition:all .15s ease}.cbs-tab:hover{color:var(--oe-text);background:var(--oe-surface)}.cbs-tab.active{color:var(--oe-accent);background:var(--oe-surface);border-color:var(--oe-border)}.cbs-content{flex:1;overflow:auto;padding:16px}.cbs-content:has(.cbs-split-layout){padding:0;overflow:hidden}.cbs-split-layout{display:flex;height:100%;gap:0}.cbs-sidebar{width:300px;min-width:240px;border-right:1px solid var(--oe-border);display:flex;flex-direction:column;overflow:hidden}.cbs-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px}.cbs-sidebar-header h3{font-size:14px;font-weight:600;margin:0;color:var(--oe-text)}.cbs-sidebar-toolbar{display:flex;align-items:center;gap:6px;padding:0 12px 10px;border-bottom:1px solid var(--oe-border)}.cbs-sidebar-tree{flex:1;overflow-y:auto;padding:4px 0}.cbs-sidebar-row{display:flex;align-items:center;gap:4px;padding:5px 8px;font-size:13px;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s}.cbs-sidebar-row:hover{background:var(--oe-surface)}.cbs-sidebar-row .cbs-node-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.cbs-sidebar-row .cbs-node-name:hover{color:var(--oe-accent)}.cbs-sidebar-code{font-size:11px;color:var(--oe-text-muted);flex-shrink:0;margin-left:auto;margin-right:4px}.cbs-sidebar-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.cbs-sidebar-row:hover .cbs-sidebar-actions{opacity:1}.cbs-main-pane{flex:1;overflow:auto;padding:16px;min-width:0}.tree-toggle-btn{background:none;border:none;color:var(--oe-text-muted);cursor:pointer;font-size:10px;width:20px;padding:0;flex-shrink:0}.inline-edit-input{background:var(--oe-bg);border:1px solid var(--oe-accent);color:var(--oe-text);padding:2px 6px;font-size:13px;border-radius:4px;width:200px}.btn-xs{font-size:12px;padding:2px 8px;min-width:unset}.text-xs{font-size:11px}.cbs-empty-state{padding:48px 24px;text-align:center;color:var(--oe-text-muted);font-size:14px}.cbs-template-menu{position:absolute;top:100%;left:0;z-index:100;background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:8px;padding:4px;min-width:280px;box-shadow:0 8px 24px #0006}.cbs-template-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;text-align:left;background:none;border:none;color:var(--oe-text);cursor:pointer;border-radius:6px;font-size:13px}.cbs-template-option:hover{background:var(--oe-bg)}.cbs-template-option .text-muted{font-size:11px}.cbs-alloc-table th,.cbs-alloc-table td{text-align:center;min-width:70px}.cbs-alloc-table .sticky-col{text-align:left;position:sticky;left:0;background:var(--oe-surface);z-index:1;min-width:200px}.alloc-cell{cursor:pointer;transition:background .15s ease}.alloc-cell:hover{background:#3b82f61a}.alloc-cell--filled{background:#3b82f614;color:var(--oe-accent);font-weight:600}.alloc-cell-input{width:50px;text-align:center;background:var(--oe-bg);border:1px solid var(--oe-accent);color:var(--oe-text);padding:2px 4px;font-size:12px;border-radius:4px}.alloc-total{font-weight:600}.alloc-full{color:var(--oe-success)}.alloc-under{color:var(--oe-warning, #f59e0b)}.alloc-over{color:var(--oe-error, #ef4444)}.alloc-none{color:var(--oe-text-muted)}.alloc-row--disabled{opacity:.5}.alloc-row--disabled td{cursor:default}.recon-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.recon-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:10px;padding:14px 16px;text-align:center}.recon-card-label{font-size:11px;color:var(--oe-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.recon-card-value{font-size:20px;font-weight:700;color:var(--oe-text)}.recon-match .recon-card-value{color:var(--oe-success)}.recon-under .recon-card-value{color:var(--oe-warning, #f59e0b)}.recon-over .recon-card-value{color:var(--oe-error, #ef4444)}.recon-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:12px 16px;color:var(--oe-success);font-weight:500;font-size:13px;text-align:center}.cbs-summary-view{max-width:1000px;margin:0 auto}.cbs-summary-section{margin-top:32px}.cbs-summary-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--oe-text-muted);margin-bottom:12px;padding-left:2px}.cbs-summary-view .pricing-bridge{max-width:720px}.cbs-cost-parent-row{background:#ffffff05}.pricing-bridge{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:12px;overflow:hidden}.pricing-row{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 24px;border-bottom:1px solid var(--oe-border)}.pricing-row:last-child{border-bottom:none}.pricing-row--primary{background:#3b82f60f}.pricing-row--subtotal{background:#ffffff08;border-top:2px solid var(--oe-border);border-bottom:2px solid var(--oe-border)}.pricing-row--total{background:#22c55e14}.pricing-row--detail{padding:6px 24px 6px 40px;border-bottom:none}.pricing-row--detail+.pricing-row--detail{padding-top:0}.pricing-value--detail{font-size:13px;font-weight:500;color:var(--oe-text-muted)}.pricing-row--meta{background:none;padding:10px 24px;font-size:12px}.pricing-label{font-size:14px;font-weight:500;color:var(--oe-text)}.pricing-value{font-size:20px;font-weight:700;color:var(--oe-text);white-space:nowrap}.pricing-row--total .pricing-value{color:var(--oe-success);font-size:24px}.pricing-value--add{color:var(--oe-text-muted);font-weight:600}.pricing-inputs{display:flex;gap:12px;margin-top:8px}.pricing-inputs label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--oe-text-muted)}.pricing-input{width:70px;background:var(--oe-bg);border:1px solid var(--oe-border);color:var(--oe-text);padding:4px 8px;font-size:13px;border-radius:6px;text-align:right}.pricing-input:focus{border-color:var(--oe-accent);outline:none}.pricing-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--oe-text-muted);cursor:pointer;white-space:nowrap}.pricing-toggle input[type=checkbox]{accent-color:var(--oe-accent)}.auth-page{min-height:100vh;background:var(--oe-bg);display:flex;justify-content:center;align-items:center;padding:24px}.auth-card{background:var(--oe-surface);border:1px solid var(--oe-border);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 4px 24px #0000004d}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{width:56px;height:56px;border-radius:12px;margin:0 auto 12px;display:block}.auth-title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--oe-text)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .form-group{margin-bottom:0}.auth-form label{display:block;font-size:13px;font-weight:600;color:var(--oe-text-secondary);margin-bottom:4px}.auth-form input{width:100%;padding:10px 12px;border:1px solid var(--oe-border);border-radius:6px;background:var(--oe-bg);color:var(--oe-text);font-size:14px}.auth-form input:focus{border-color:var(--oe-primary);outline:none;box-shadow:0 0 0 2px #60a5fa33}.auth-submit{width:100%;padding:10px 16px;margin-top:8px;font-size:15px;font-weight:600}.auth-error{color:var(--oe-danger, #ef4444);font-size:13px;margin:0;padding:8px 12px;background:#ef44441a;border-radius:6px}.auth-footer{text-align:center;margin-top:24px;font-size:13px;color:var(--oe-text-secondary)}.auth-link{color:var(--oe-primary);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.relative{position:relative}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.border{border-width:1px}.bg-oe-bg{background-color:var(--oe-bg)}.text-right{text-align:right}.text-xs{font-size:.75rem;line-height:1rem}.text-oe-text{color:var(--oe-text)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
