/* Mission assignment board. Kept separate from the tactical shell so the
   field-work surface can evolve without changing flight-control layout rules. */
.mission-view-header{align-items:flex-start}
.mission-header-actions{align-items:flex-start;flex-wrap:wrap}
.mission-board{min-width:0}
.mission-board-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);background:var(--bg-light)}
.mission-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;flex:1;min-width:0}
.mission-filters label{display:flex;flex-direction:column;gap:5px;min-width:132px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.mission-filters .mission-search-field{min-width:min(300px,100%)}
.mission-filters input,.mission-filters select{min-height:36px;min-width:0}
.mission-board-count{color:var(--text-muted);font-size:12px;white-space:nowrap}
.mission-board-grid{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.6fr);gap:16px;align-items:start}
.mission-list-pane,.mission-detail-pane{min-width:0;border:1px solid var(--border);background:var(--bg-light)}
.mission-pane-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:17px 18px;border-bottom:1px solid var(--border)}
.mission-pane-heading h2{margin:2px 0 0;font-size:18px}
.mission-pane-kicker,.mission-muted{color:var(--text-muted);font-size:11px}
.mission-assignment-list{display:flex;flex-direction:column;max-height:calc(100vh - 310px);overflow:auto}
.mission-assignment-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:11px;align-items:center;width:100%;padding:14px 15px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-light);text-align:left;cursor:pointer}
.mission-assignment-row:hover,.mission-assignment-row:focus-visible{background:rgba(255,255,255,.04);outline:none}
.mission-assignment-row.is-selected{background:rgba(245,158,11,.09);box-shadow:inset 3px 0 var(--primary)}
.mission-priority-dot{width:7px;height:35px;border-radius:5px;background:#94a3b8}
.priority-low{color:#93c5fd}.mission-priority-dot.priority-low{background:#60a5fa}
.priority-medium{color:#fbbf24}.mission-priority-dot.priority-medium{background:#f59e0b}
.priority-high{color:#fb923c}.mission-priority-dot.priority-high{background:#f97316}
.priority-critical{color:#f87171}.mission-priority-dot.priority-critical{background:#ef4444}
.mission-assignment-row-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.mission-assignment-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.mission-assignment-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px}
.mission-assignment-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:var(--text-muted);font-size:10px;white-space:nowrap}
.mission-status{display:inline-flex;padding:3px 7px;border:1px solid currentColor;border-radius:99px;font-size:10px;line-height:1.1}
.mission-status.status-draft,.mission-status.status-declined{color:#cbd5e1}
.mission-status.status-assigned{color:#60a5fa}.mission-status.status-accepted{color:#a78bfa}
.mission-status.status-in_progress{color:#fbbf24}.mission-status.status-awaiting_report{color:#fb923c}
.mission-status.status-completed{color:#34d399}.mission-status.status-cancelled{color:#f87171}
.mission-detail-pane{min-height:500px;padding:18px}
.mission-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.mission-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.mission-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
.mission-detail-title-row h2{margin:4px 0 0;font-size:24px;line-height:1.18}
.mission-revision-banner{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 16px;padding:9px 11px;border-left:3px solid var(--primary);background:rgba(245,158,11,.08);color:var(--text-muted);font-size:11px}
.mission-revision-banner strong{color:var(--text-light)}
.mission-detail-grid,.mission-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.mission-detail-columns{margin-top:12px}
.mission-panel{min-width:0;padding:15px;border:1px solid var(--border);background:rgba(0,0,0,.08)}
.mission-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.mission-panel-heading h3{margin:0;font-size:14px}
.mission-panel-heading>span{color:var(--text-muted);font-size:12px}
.mission-facts{display:grid;gap:10px;margin:0}
.mission-facts>div{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1.4fr);gap:8px}
.mission-facts dt{color:var(--text-muted);font-size:11px}
.mission-facts dd{margin:0;color:var(--text-light);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.mission-route-panel{grid-column:span 2}
.mission-route-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.mission-route-summary>div{display:flex;flex-direction:column;gap:4px;padding:9px;border:1px solid var(--border);background:rgba(255,255,255,.025)}
.mission-route-summary span{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.mission-route-summary strong{font-size:12px;overflow-wrap:anywhere}
.mission-safety-note{margin:12px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}
.mission-related-link,.incident-related-assignment-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 0;border:0;background:transparent;color:var(--primary);text-align:left;cursor:pointer}
.mission-related-link:hover,.incident-related-assignment-link:hover{text-decoration:underline}
.mission-attempt-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.mission-attempt{padding:9px;border-left:3px solid var(--text-muted);background:rgba(255,255,255,.025)}
.mission-attempt-uploading,.mission-attempt-executing{border-color:#fbbf24}.mission-attempt-completed{border-color:#34d399}
.mission-attempt-failed,.mission-attempt-aborted{border-color:#f87171}
.mission-attempt>div,.mission-note>div{display:flex;justify-content:space-between;gap:10px}
.mission-attempt span,.mission-attempt small,.mission-note time{color:var(--text-muted);font-size:11px}
.mission-attempt p{margin:6px 0 0;color:#fca5a5;font-size:11px}
.mission-acknowledgement{margin:0;color:var(--text-light);font-size:12px}
.mission-notes{display:grid;gap:8px}
.mission-note{padding:9px;border:1px solid var(--border);background:rgba(255,255,255,.025)}
.mission-note p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.45}
.mission-note-form,.mission-report-form{display:grid;gap:8px;margin-top:12px}
.mission-note-form textarea,.mission-report-form textarea{width:100%;resize:vertical}
.mission-report-form label{display:grid;gap:5px;color:var(--text-muted);font-size:11px}
.mission-report-existing{display:grid;gap:7px}.mission-report-existing time{color:var(--text-muted);font-size:11px}.mission-report-existing p{margin:0;white-space:pre-wrap;font-size:12px}
.mission-history-panel{margin-top:12px}
.mission-history{display:grid;gap:8px;margin:0;padding:0 0 0 17px}
.mission-history li{padding-left:4px}.mission-history li::marker{color:var(--primary)}
.mission-history li div{display:grid;gap:3px}.mission-history li span,.mission-history li small{color:var(--text-muted);font-size:11px}
.mission-history li small{font-style:normal}
.mission-empty-state,.mission-detail-empty,.mission-loading,.mission-error{display:grid;place-items:center;gap:7px;min-height:170px;padding:20px;color:var(--text-muted);text-align:center}
.mission-empty-state strong,.mission-detail-empty h2{color:var(--text-light);font-size:14px}
.mission-empty-state span,.mission-detail-empty p{font-size:12px}.mission-empty-mark{font-size:26px;color:var(--primary)}
.mission-error p{max-width:420px;margin:0;color:#fca5a5}
.mission-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px;color:var(--text-muted);font-size:11px}
.mission-form-notice{display:flex;align-items:center;gap:9px;min-height:18px;margin:0 0 10px;color:var(--text-muted);font-size:12px;line-height:1.4}
.mission-form-notice.is-error{color:#fca5a5}.mission-form-notice.is-success{color:#86efac}
.mission-modal .modal-content{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.mission-handoff-content{width:min(520px,calc(100vw - 24px))}
.mission-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.mission-form-grid label,.mission-handoff-content form label{display:grid;gap:6px;color:var(--text-muted);font-size:11px}
.mission-form-grid input,.mission-form-grid select,.mission-form-grid textarea,.mission-handoff-content input{width:100%;min-width:0}
.mission-field-wide{grid-column:span 2}
.mission-form-footnote,.mission-handoff-help{margin:14px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}
.mission-handoff-help{margin:0 0 14px;font-size:12px}
.mission-handoff-content .modal-body{padding-bottom:5px}
.incident-related-assignments{margin:14px 0;padding:13px;border:1px solid var(--border);background:rgba(255,255,255,.02)}
.incident-related-assignments .incident-subpanel-head{margin-bottom:5px}
.incident-related-assignment-link strong{font-size:12px}.incident-related-assignment-link span{color:var(--text-muted);font-size:11px}

@media (max-width:900px){
    .mission-board-grid{grid-template-columns:1fr}
    .mission-assignment-list{max-height:360px}
    .mission-detail-pane{min-height:0}
}
@media (max-width:600px){
    .mission-board-toolbar{align-items:stretch;flex-direction:column;padding:12px}
    .mission-filters{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .mission-filters .mission-search-field{grid-column:span 2;min-width:0}
    .mission-board-count{align-self:flex-end}
    .mission-detail-pane{padding:12px}
    .mission-detail-head,.mission-detail-title-row{align-items:flex-start;flex-direction:column}
    .mission-detail-actions{justify-content:flex-start}
    .mission-detail-grid,.mission-detail-columns{grid-template-columns:1fr}
    .mission-route-panel{grid-column:auto}
    .mission-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .mission-form-grid{grid-template-columns:1fr}
    .mission-field-wide{grid-column:auto}
}
@media (max-width:390px){
    .mission-filters{display:flex;flex-direction:column;align-items:stretch}
    .mission-filters .mission-search-field{min-width:0}
    .mission-assignment-row{grid-template-columns:7px minmax(0,1fr);padding:12px 10px}
    .mission-assignment-row-meta{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
    .mission-detail-title-row h2{font-size:20px}
    .mission-route-summary{grid-template-columns:1fr}
    .mission-facts>div{grid-template-columns:1fr;gap:3px}
}
@media (orientation:landscape) and (max-height:520px){
    .mission-assignment-list{max-height:calc(100vh - 230px)}
    .mission-modal .modal-content{max-height:calc(100vh - 12px)}
}