/* Business workspace and forecasting. Existing inspection styles stay scoped. */
aside{overflow-y:auto}.brand-sub{margin-left:0;letter-spacing:1.5px}.nav{flex-shrink:0}.account{margin-top:30px}.inspection-subnav{border-left:1px solid #635d91;margin:0 0 7px 21px;padding-left:8px}.inspection-subnav button{font-size:.8rem;padding:10px 8px}.inspection-subnav svg{width:16px;height:16px}.nav-label{padding-top:20px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.feature-card{padding:32px;display:flex;flex-direction:column;align-items:flex-start}.feature-card h2{font-size:1.7rem;margin:12px 0 0}.feature-symbol{display:grid;place-items:center;width:52px;height:52px;background:#eeedf7;border-radius:12px;margin-bottom:24px;color:var(--navy)}.feature-symbol svg{width:26px;height:26px}.feature-counts{display:flex;gap:30px;margin:18px 0 30px;font-size:.875rem;color:var(--muted)}.feature-counts strong{display:block;font-size:1.65rem;color:var(--navy);margin-bottom:5px}.feature-card>.button,.feature-card>button{margin-top:auto}.forecast-content{max-width:2100px}.forecast-content>.page-head{margin-bottom:8px}.forecast-mode-note{font-size:.8rem;color:#6a718a;margin:0 0 26px}.forecast-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.forecast-tabs button{font-size:.9rem}.forecast-range{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;background:white;border:1px solid var(--line);padding:16px 20px;border-radius:10px;margin-bottom:22px;flex-wrap:wrap}.forecast-range>.actions{align-items:flex-end}.forecast-range .field{margin:0}.forecast-range label{font-size:.75rem;margin:0}.forecast-range .field input,.forecast-range select{font-size:.86rem;padding:9px 10px;min-height:39px;margin-top:5px}.forecast-range .field input{max-width:155px}.forecast-range .actions>.small{height:39px}.forecast-stats .stat{padding:19px}.forecast-stats .number{font-size:2rem;font-variant-numeric:tabular-nums}.forecast-stats .number span{font-size:1.1rem;font-weight:400}.forecast-stats small{font-size:.76rem}.forecast-filters{align-items:center}.forecast-filters label{margin:7px 0 0}.forecast-filters input,.forecast-filters select{font-size:.85rem}.forecast-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:.73rem;color:#54617a}.forecast-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:11px;height:11px;border-radius:3px}.legend-dot.progress{background:#079f9c}.legend-dot.confirmed{background:#337beb}.legend-dot.potential{border:1px dashed #df9e29;background:#fff0c9}.legend-dot.spare{background:#dbeafe}.legend-dot.near{background:#ffe6ac}.legend-dot.over{background:#ffb9c1}.gantt-scroll{overflow-x:auto}.gantt{min-width:var(--timeline-min,850px);--label:230px;--hours:75px}.gantt-header,.gantt-row{display:grid;grid-template-columns:var(--label) var(--hours) minmax(0,1fr)}.gantt-header{background:#f8f9fd;font-size:.74rem;font-weight:600;color:#4c5877}.gantt-header>div:not(:last-child){padding:15px 18px}.gantt-months{display:flex;align-items:stretch;min-width:0}.gantt-tick{border-left:1px solid #dde3ef;flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:12px 3px;text-align:center;overflow:hidden;white-space:nowrap;font-size:.7rem}.gantt-group{padding:9px 18px;background:#edf0f8;color:#4c5076;text-transform:uppercase;letter-spacing:.6px;font-size:.68rem;font-weight:700}.gantt-group span{margin-left:7px;color:#7d849c}.gantt-row{min-height:58px;border-bottom:1px solid #eef0f6}.gantt-row.selected{background:#edf4ff}.gantt-label{display:block;width:100%;min-width:0;text-align:left;padding:11px 18px;border-radius:0;background:transparent;color:#25243d;font-size:.83rem;font-weight:500;overflow:hidden}.gantt-label strong,.gantt-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-label small{font-size:.7rem;color:#647391;margin-top:5px;font-weight:400}.gantt-hours{padding:12px 6px;text-align:center;font-size:.8rem;font-weight:600;color:#3f4768}.gantt-hours small{display:block;font-size:.65rem;color:#768199;font-weight:400;margin-top:3px}.gantt-track{position:relative;min-width:0;border-left:1px solid #dde3ef}.gantt-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#e4e8f1;pointer-events:none}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:#ed7a58;pointer-events:none;z-index:1}.gantt-bar{position:absolute;top:15px;height:28px;min-width:6px;border-radius:5px;padding:0 10px;justify-content:flex-start;overflow:hidden;color:white;font-size:.72rem;cursor:grab;touch-action:pan-y;z-index:2;user-select:none}.gantt-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-bar.confirmed{background:#337beb}.gantt-bar.progress{background:#079f9c}.gantt-bar.potential{background:#fff3d9;border:1px dashed #d69c2e;color:#775e28}.gantt-bar.dragging{cursor:grabbing;box-shadow:0 4px 12px #26225f44;z-index:3;opacity:.85}.forecast-foot{padding:15px 20px;font-size:.75rem;line-height:1.5;color:#687590}.forecast-foot p{margin:10px 0 0}.forecast-bottom{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.forecast-bottom>.panel{min-width:0}.forecast-content .panel-head{padding:18px 20px;flex-wrap:wrap}.forecast-content .panel-head h2{font-size:1.05rem}.forecast-content .panel-head>div>small{display:block;margin-top:6px;font-size:.75rem}.capacity-table{font-variant-numeric:tabular-nums}.capacity-table th{padding:12px 13px;font-size:.68rem;letter-spacing:0;text-transform:none}.capacity-table tbody th{background:#fafbfe;color:#3e4867;min-width:135px;position:sticky;left:0;z-index:2}.capacity-table td.load-cell{padding:12px 8px;text-align:center;min-width:105px;border:3px solid white}.capacity-table .load-cell strong{font-size:.86rem;margin:0}.load-cell small{display:block;white-space:nowrap;margin-top:5px;font-size:.62rem;color:inherit;opacity:.8}.capacity-table td.spare{background:#e8f1fe;color:#304e7b}.capacity-table td.near{background:#fff0cf;color:#775820}.capacity-table td.over{background:#ffe0e5;color:#a6243e}.capacity-alert{display:flex;gap:10px;align-items:center;padding:12px;background:#fff0f2;color:#a6243e;border-radius:6px;margin-top:14px}.capacity-alert svg{flex-shrink:0}.forecast-details{margin:0 0 25px}.forecast-details>div{display:flex;gap:14px;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eef0f6;font-size:.83rem}.forecast-details dt{color:var(--muted)}.forecast-details dd{margin:0;text-align:right}.forecast-crew{padding:0;margin:0 0 25px;list-style:none}.forecast-crew li{display:flex;justify-content:space-between;gap:15px;margin:14px 0;font-size:.8rem}.forecast-crew small{display:block;color:var(--muted);margin-top:4px}.forecast-crew strong{white-space:nowrap}.block{display:block;margin-top:4px}.pipeline-list{padding:14px}.pipeline-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:left;background:#fffcf6;border:1px solid #efdfbc;color:#3e4055;width:100%;padding:20px;margin-bottom:12px;gap:15px}.pipeline-card>div:first-child{max-width:70%}.pipeline-card strong,.pipeline-card small{display:block}.pipeline-card small{font-weight:400;color:var(--muted);margin-top:6px}.pipeline-meta{width:100%;display:flex;justify-content:space-between;gap:12px;font-size:.75rem;font-weight:400;color:#7f745d;padding-top:12px;border-top:1px solid #efe5d1}.forecast-form-heading{margin-top:24px}.forecast-allocation-editor{border:1px solid var(--line);padding:18px;border-radius:7px;margin-bottom:22px}.forecast-allocation-editor summary{cursor:pointer;font-weight:600;font-size:.9rem}.allocation-fields{max-height:290px;overflow:auto;padding-right:7px;margin-top:14px}.allocation-field{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid #eef0f6}.allocation-field label{margin:0;font-weight:500}.allocation-field small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.allocation-field input{max-width:130px;margin:0}.capacity-editor input{min-width:115px;font-size:.85rem}.capacity-editor td,.capacity-editor th{padding:10px}.capacity-editor{min-width:570px}#modal:has([data-form^=forecast-]){width:min(850px,calc(100% - 30px));max-width:850px}#modal:has([data-form^=forecast-]) .dialog-body{padding:24px}#modal [data-form^=forecast-] .grid-2{gap:0 20px}#modal [data-form^=forecast-] .grid-3{gap:0 15px}
@media(max-width:1300px){.forecast-bottom{grid-template-columns:minmax(0,1fr)}.forecast-bottom>.panel:last-child .panel-body{display:block}.forecast-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-content{padding:24px}.forecast-range{gap:18px}.forecast-range>.actions{flex-wrap:wrap}}
@media(max-width:800px){.feature-grid{grid-template-columns:1fr}.feature-card{padding:25px}.forecast-content{padding:18px}.forecast-tabs{gap:6px}.forecast-tabs button{padding:10px;font-size:.78rem}.forecast-content .page-head{align-items:flex-start}.forecast-content .page-head .actions{gap:6px}.forecast-range{padding:14px}.forecast-range .actions{width:100%;gap:8px}.forecast-range .field{flex:1}.forecast-range label{font-size:.68rem}.forecast-range .field input{max-width:100%}.forecast-range select{max-width:100%}.forecast-content h1{font-size:1.7rem}.gantt{--label:195px;--hours:65px}.forecast-content .panel-head{padding:16px}.forecast-stats{gap:10px}.forecast-stats .stat{padding:14px;min-width:0}.forecast-stats .number{font-size:1.55rem}.forecast-stats .stat label{font-size:.76rem}.forecast-stats small{font-size:.68rem}.forecast-content .table-wrap:has(.capacity-table),#modal .table-wrap:has(.capacity-editor){overflow:auto}.forecast-content .table-wrap .capacity-table,#modal .table-wrap .capacity-editor{display:table}.forecast-content .table-wrap .capacity-table thead,#modal .table-wrap .capacity-editor thead{display:table-header-group}.forecast-content .table-wrap .capacity-table tbody,#modal .table-wrap .capacity-editor tbody{display:table-row-group}.forecast-content .table-wrap .capacity-table tr,#modal .table-wrap .capacity-editor tr{display:table-row}.forecast-content .table-wrap .capacity-table td,#modal .table-wrap .capacity-editor td{display:table-cell;max-width:none}.forecast-content .table-wrap .capacity-table td.load-cell{padding:12px 8px;border:3px solid white}.forecast-content .table-wrap .capacity-table td:last-child{padding:10px}.forecast-content .table-wrap .capacity-table button{min-height:38px}.inspection-subnav{margin-left:18px}.forecast-content .grid-2{grid-template-columns:1fr}#modal [data-form^=forecast-] .grid-3{grid-template-columns:1fr}.feature-counts{gap:20px}}
@media print{aside,.topbar,.forecast-tabs,.forecast-range,.forecast-filters,.forecast-content button:not(.gantt-bar):not(.gantt-label){display:none!important}.workspace{margin:0}.forecast-content{max-width:none;padding:0}.gantt-scroll,.table-wrap{overflow:visible}.forecast-bottom{display:block}.panel{break-inside:avoid}.gantt{min-width:0;--label:160px;--hours:55px}.gantt-bar,.load-cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Recurring maintenance remains distinct alongside project work. */
.gantt-bar.maintenance,.legend-dot.maintenance{background:#7461bd;color:#fff}
#forecast-hours-period[hidden]{display:none}

.capacity-group th{background:#f0eef8;color:#33265d;font-weight:700}
.capacity-split-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 20px;border-bottom:1px solid var(--line,#e2e5ec)}
.capacity-split-summary>div{display:flex;flex-direction:column;gap:4px;font-size:13px}
.capacity-split-summary small{color:var(--muted,#667085)}
@media(max-width:600px){.capacity-split-summary{grid-template-columns:1fr}}

.forecast-workdays{display:flex;flex-wrap:wrap;gap:10px 18px;border:1px solid #dddfea;border-radius:8px;padding:12px;margin:12px 0 18px}
.forecast-workdays legend{font-weight:600;padding:0 6px}
.forecast-workdays .check{margin:0}
.shift-clash{font-weight:700;color:#a52a35}

.allocation-inputs{display:flex;gap:10px;max-width:280px}.allocation-inputs label{min-width:0;font-size:12px}.allocation-inputs input{width:100%}
