/* Construction-only controls; retain BuildSmart's blue/orange visual identity. */
.construction-tracker { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 10px; width: 100%; min-width: 0; box-sizing: border-box; padding: 0; white-space: normal; }
.construction-tracker::before, .construction-tracker .stage-step::after { display: none !important; }
.construction-tracker .stage-step { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 5px; width: auto; min-width: 0; max-width: 100%; border: 1px solid #cbd5e1; padding: 12px; border-radius: 12px; cursor: pointer; white-space: normal; color: #23395b; background: #f1f5f9; font: inherit; }
.construction-tracker .stage-step.active { background: #e0ebff; color: #173c87; }
.construction-tracker .stage-step.completed { background: #ecfdf5; color: #166534; }
.construction-tracker .stage-step span { font-size: 12px; }
.construction-task-list { display: grid; list-style: none; gap: 16px; padding: 0; margin: 12px 0; width: 100%; }
.construction-stage, .construction-summary { box-sizing: border-box; min-width: 0; width: 100%; background: white; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; }
.construction-task-list > .construction-stage { display: block !important; }
.construction-stage-toggle { width: 100%; display: flex; gap: 8px; flex-direction: column; align-items: flex-start; padding: 12px; background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; border-radius: 8px; font: inherit; text-align: left; cursor: pointer; }
.construction-stage .stage-card-body { display: grid; gap: 12px; padding: 12px 0 0; width: 100%; min-width: 0; box-sizing: border-box; }
.construction-stage .stage-card-body[hidden] { display: none !important; }
.construction-stage .construction-task { display: block; min-width: 0; width: 100%; box-sizing: border-box; border: 1px solid #e2e8f0; border-left: 4px solid #94a3b8; border-radius: 10px; padding: 14px; }
.construction-task.active { border-left-color: #2563eb; }
.construction-task.completed { border-left-color: #16a34a; }
.construction-task h4 { margin: 0 0 8px; }
.construction-task p, .construction-summary p { overflow-wrap: anywhere; white-space: pre-wrap; line-height: 1.55; }
.construction-task-status { font-size: 13px; font-weight: 600; }
.construction-task-dates, .construction-note-preview, .construction-evidence-count { font-size: 13px; color: #475569; }
.construction-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 12px 0; }
.construction-actions button { width: auto; min-height: 44px; padding: 10px 14px; font: inherit; cursor: pointer; }
.construction-secondary { background: #eff6ff; color: #1e3a8a; border: 1px solid #94a3b8; border-radius: 8px; min-height: 44px; padding: 10px 14px; cursor: pointer; }
.construction-guidance { width: min(520px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 14px; padding: 24px; color: #172033; }
.construction-guidance::backdrop { background: rgb(15 23 42 / 60%); }
.construction-guidance p, .construction-guidance li { line-height: 1.6; }
.construction-critical { padding: 12px; color: #78350f; background: #fff7ed; border-radius: 8px; font-size: 13px; }
.construction-error, #taskEvidenceError { color: #a32020; }
.construction-message { color: #1e3a8a; }
.construction-evidence-entry { margin: 10px 0; padding: 12px; border: 1px solid #cbd5e1; border-radius: 8px; overflow-wrap: anywhere; }
.construction-evidence-preview { display: block; max-width: 100%; max-height: 260px; object-fit: contain; margin-top: 10px; }
.construction-stage button:focus-visible, .construction-tracker button:focus-visible, .construction-guidance button:focus-visible, #taskModal button:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.project-task-summary { color: #475569; font-size: 13px; }
#taskModal .modal-actions { flex-wrap: wrap; }
#taskModal .modal-actions button { min-height: 44px; }
#taskModal [hidden] { display: none !important; }
@media (max-width:600px) { .construction-stage, .construction-summary { padding: 12px; } .construction-actions button { flex: 1 1 140px; } .construction-tracker { grid-template-columns: repeat(2,minmax(0,1fr)); } }
