/* Integrated Mission Control. All dashboard styles are scoped away from existing workflows. */
.mode-btn[hidden],
.mobile-nav-btn[hidden]{
  display:none !important;
}

body.mission-screen-active .wrap{
  max-width:1540px;
}

#missionScreen{
  --mission-surface:rgba(255,255,255,0.045);
  --mission-surface-strong:rgba(255,255,255,0.07);
  --mission-line:var(--border-secondary);
  padding-bottom:14px;
}

#missionScreen .app-mission-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
  padding:16px 18px;
  border:1px solid var(--border-primary);
  border-radius:var(--radius);
  background:var(--panel-bg);
  box-shadow:var(--shadow);
}

#missionScreen .app-mission-title-wrap{
  min-width:0;
}

#missionScreen .app-mission-kicker,
#missionScreen .mission-column-kicker{
  margin:0 0 4px;
  color:var(--text-secondary);
  font-size:0.68rem;
  font-weight:900;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

#missionScreen .app-mission-title-wrap h2{
  margin:0;
  color:var(--primary);
  font-size:1.55rem;
  line-height:1.1;
}

#missionScreen .app-mission-title-wrap > p:last-of-type{
  margin:6px 0 0;
  color:var(--text-secondary);
  font-size:0.88rem;
  line-height:1.4;
}

#missionScreen .app-mission-environment{
  width:max-content;
  margin-top:10px;
}

#missionScreen .app-mission-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

#missionScreen .app-mission-actions .btn{
  min-height:42px;
  white-space:nowrap;
}

#missionScreen .app-mission-command{
  display:grid;
  grid-template-columns:minmax(240px, 0.56fr) minmax(0, 2.4fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:12px;
  padding:14px;
  border:1px solid var(--border-primary);
  border-radius:var(--radius);
  background:var(--panel-bg);
  box-shadow:var(--shadow);
}

#missionScreen .app-mission-status-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding-right:14px;
  border-right:1px solid var(--border-secondary);
}

#missionScreen .app-mission-status-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

#missionScreen #appMissionFreshnessText{
  color:var(--text-secondary);
  font-size:0.78rem;
  line-height:1.4;
}

#missionScreen .mission-data-chip,
#missionScreen .mission-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:6px 9px;
  border:1px solid var(--border-primary);
  border-radius:7px;
  background:rgba(255,255,255,0.05);
  color:var(--text-primary);
  font-size:0.68rem;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

#missionScreen .mission-data-chip::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}

#missionScreen .mission-data-chip[data-status="live"],
#missionScreen .mission-chip[data-status="in-stock"],
#missionScreen .mission-chip[data-status="ready"]{
  border-color:rgba(66,245,108,0.38);
  background:rgba(66,245,108,0.11);
  color:#caffd6;
}

#missionScreen .mission-data-chip[data-status="cached"],
#missionScreen .mission-data-chip[data-status="synced"],
#missionScreen .mission-chip[data-status="on-order"],
#missionScreen .mission-chip[data-status="watch"]{
  border-color:rgba(118,233,255,0.34);
  background:rgba(118,233,255,0.1);
  color:#d6f8ff;
}

#missionScreen .mission-data-chip[data-status="stale"],
#missionScreen .mission-data-chip[data-status="refreshing"],
#missionScreen .mission-chip[data-status="partially-covered"],
#missionScreen .mission-chip[data-status="at-risk"]{
  border-color:rgba(255,199,69,0.42);
  background:rgba(255,199,69,0.12);
  color:#ffe8ad;
}

#missionScreen .mission-data-chip[data-status="degraded"],
#missionScreen .mission-chip[data-status="needs-ordering"],
#missionScreen .mission-chip[data-status="critical"]{
  border-color:rgba(255,77,77,0.42);
  background:rgba(255,77,77,0.13);
  color:#ffd1d1;
}

#missionScreen .mission-chip[data-status="review-needed"],
#missionScreen .mission-data-chip[data-status="loading"]{
  border-color:rgba(247,209,6,0.42);
  background:rgba(247,209,6,0.12);
  color:#fff1a7;
}

#missionScreen .mission-chip-kind{
  color:inherit;
  font-size:0.58rem;
  letter-spacing:0.05em;
  opacity:0.75;
}

#missionScreen .app-mission-status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:9px 14px;
  color:var(--text-secondary);
  font-size:0.72rem;
  font-weight:800;
}

#missionScreen .app-mission-status-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

#missionScreen .app-mission-status-legend i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--success-green);
}

#missionScreen .app-mission-status-legend i[data-tone="watch"]{ background:var(--warning-amber); }
#missionScreen .app-mission-status-legend i[data-tone="critical"]{ background:var(--danger-red); }

#missionScreen .mission-metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(112px, 1fr));
  gap:8px;
  min-width:0;
}

#missionScreen .mission-metric{
  min-width:0;
  min-height:78px;
  padding:10px;
  border:1px solid var(--border-secondary);
  border-radius:7px;
  background:var(--mission-surface);
}

#missionScreen .mission-metric[data-tone="attention"]{
  border-color:rgba(255,199,69,0.32);
  background:rgba(255,199,69,0.08);
  box-shadow:inset 3px 0 0 rgba(255,199,69,0.55);
}

#missionScreen .mission-metric-label{
  min-height:26px;
  color:var(--text-secondary);
  font-size:0.62rem;
  font-weight:900;
  line-height:1.25;
  text-transform:uppercase;
}

#missionScreen .mission-metric-value{
  margin-top:3px;
  color:var(--text-primary);
  font-size:1.15rem;
  font-weight:900;
  line-height:1;
}

#missionScreen .mission-metric-detail{
  margin-top:5px;
  color:var(--text-secondary);
  font-size:0.64rem;
  line-height:1.25;
}

#missionScreen .mission-warning-band{
  display:grid;
  gap:7px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(255,199,69,0.34);
  border-radius:var(--radius);
  background:rgba(255,199,69,0.09);
}

#missionScreen .mission-warning-item{
  color:#ffe8ad;
  font-size:0.78rem;
  line-height:1.4;
}

#missionScreen .app-mission-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 0.9fr);
  gap:12px;
  align-items:start;
}

#missionScreen .mission-column{
  min-width:0;
  border:1px solid var(--border-primary);
  border-radius:var(--radius);
  background:var(--panel-bg);
  box-shadow:var(--shadow);
  overflow:hidden;
}

#missionScreen .mission-column-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-height:65px;
  padding:13px 14px 11px;
  border-bottom:1px solid var(--border-secondary);
  background:var(--panel-header-bg);
}

#missionScreen .mission-column-head h2{
  margin:0;
  color:var(--text-primary);
  font-size:0.9rem;
  line-height:1.15;
}

#missionScreen .mission-column-meta{
  max-width:44%;
  color:var(--text-secondary);
  font-size:0.66rem;
  line-height:1.3;
  text-align:right;
}

#missionScreen .mission-column-body{
  display:grid;
  gap:10px;
  min-width:0;
  padding:10px;
}

#missionScreen .mission-section{
  display:grid;
  gap:8px;
  min-width:0;
}

#missionScreen .mission-section + .mission-section{
  padding-top:10px;
  border-top:1px solid var(--border-secondary);
}

#missionScreen .mission-section-head,
#missionScreen .mission-job-top,
#missionScreen .mission-order-head,
#missionScreen .mission-ignored-jobs-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

#missionScreen .mission-section-head h3{
  margin:0;
  color:var(--text-primary);
  font-size:0.74rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
}

#missionScreen .mission-section-head > span{
  color:var(--text-secondary);
  font-size:0.65rem;
}

#missionScreen .mission-job-card,
#missionScreen .mission-order-row,
#missionScreen .mission-stock-row,
#missionScreen .mission-activity-row,
#missionScreen .mission-ignored-jobs,
#missionScreen .mission-subtle-notice{
  min-width:0;
  padding:10px;
  border:1px solid var(--border-secondary);
  border-radius:7px;
  background:var(--mission-surface);
}

#missionScreen .mission-job-card[data-risk="critical"],
#missionScreen .mission-stock-row[data-risk="critical"]{
  border-left:3px solid var(--danger-red);
}

#missionScreen .mission-job-card[data-risk="at-risk"],
#missionScreen .mission-job-card[data-risk="watch"]{
  border-left:3px solid var(--warning-amber);
}

#missionScreen .mission-job-card[data-risk="ready"]{
  border-left:3px solid var(--success-green);
}

#missionScreen .mission-date,
#missionScreen .mission-job-number{
  color:var(--text-secondary);
  font-size:0.68rem;
  font-weight:800;
}

#missionScreen .mission-job-card h4{
  margin:7px 0 0;
  color:var(--text-primary);
  font-size:0.9rem;
}

#missionScreen .mission-job-detail,
#missionScreen .mission-job-meta,
#missionScreen .mission-order-item,
#missionScreen .mission-order-meta,
#missionScreen .mission-activity-row,
#missionScreen .mission-subtle-notice,
#missionScreen .mission-empty{
  color:var(--text-secondary);
  font-size:0.7rem;
  line-height:1.4;
}

#missionScreen .mission-job-meta,
#missionScreen .mission-order-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 10px;
  margin-top:6px;
}

#missionScreen .mission-job-details,
#missionScreen .mission-job-products,
#missionScreen .mission-job-warnings,
#missionScreen .mission-linked-orders,
#missionScreen .mission-material-evidence{
  display:grid;
  gap:5px;
  margin-top:8px;
}

#missionScreen .mission-job-warning{
  padding:6px 8px;
  border-radius:6px;
  background:rgba(255,199,69,0.09);
  color:#ffe8ad;
  font-size:0.68rem;
  line-height:1.35;
}

#missionScreen .mission-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}

#missionScreen .mission-supply-line,
#missionScreen .mission-linked-orders span{
  padding:6px 8px;
  border-radius:6px;
  background:rgba(255,255,255,0.035);
  color:var(--text-secondary);
  font-size:0.68rem;
  line-height:1.35;
}

#missionScreen .mission-job-actions,
#missionScreen .mission-ignored-jobs-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin-top:9px;
}

#missionScreen .mission-job-actions .btn,
#missionScreen .mission-ignored-jobs .btn{
  min-height:36px;
  padding:7px 10px;
  font-size:0.68rem;
}

#missionScreen .mission-ignored-jobs-copy{
  display:grid;
  gap:2px;
  color:var(--text-secondary);
  font-size:0.68rem;
}

#missionScreen .mission-ignored-jobs-list{
  display:grid;
  gap:6px;
  margin-top:8px;
}

#missionScreen .mission-ignored-job{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding-top:7px;
  border-top:1px solid var(--border-secondary);
  color:var(--text-secondary);
  font-size:0.68rem;
}

#missionScreen .mission-order-head strong{
  color:var(--text-primary);
  font-size:0.8rem;
}

#missionScreen .mission-stock-row{
  display:grid;
  grid-template-columns:1fr 0.9fr 0.8fr 0.65fr;
  gap:7px;
  align-items:center;
}

#missionScreen .mission-stock-cell{
  min-width:0;
  display:grid;
  gap:2px;
}

#missionScreen .mission-stock-cell em{
  color:var(--text-secondary);
  font-size:0.56rem;
  font-style:normal;
  text-transform:uppercase;
}

#missionScreen .mission-stock-cell strong,
#missionScreen .mission-stock-cell span{
  overflow-wrap:anywhere;
  color:var(--text-primary);
  font-size:0.7rem;
}

#missionScreen .mission-usage-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

#missionScreen .mission-usage-chip{
  display:grid;
  gap:3px;
  padding:8px;
  border:1px solid var(--border-secondary);
  border-radius:6px;
  background:rgba(255,255,255,0.035);
  color:var(--text-secondary);
  font-size:0.62rem;
}

#missionScreen .mission-usage-chip strong{
  color:var(--text-primary);
  font-size:0.8rem;
}

#missionScreen .mission-order-receiving-card{
  margin:0;
  box-shadow:none;
}

#missionScreen .mission-order-receiving-card h2{
  padding:9px 10px;
  font-size:0.73rem;
}

#missionScreen .mission-order-receiving-card .body{
  padding:9px;
}

#missionScreen .delivery-bulk-toolbar,
#missionScreen .delivery-bulk-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:8px 0;
}

#missionScreen .delivery-bulk-summary{
  color:var(--text-secondary);
  font-size:0.68rem;
}

#missionScreen .delivery-compact-list{
  display:grid;
  gap:6px;
}

#missionScreen .delivery-compact-row{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:8px;
  min-width:0;
  padding:8px;
  border:1px solid var(--border-secondary);
  border-radius:6px;
  background:rgba(255,255,255,0.035);
  cursor:pointer;
}

#missionScreen .delivery-compact-checkbox{
  align-self:start;
  min-width:24px;
  min-height:24px;
}

#missionScreen .delivery-compact-checkbox input{
  width:20px;
  height:20px;
}

#missionScreen .delivery-compact-body{
  min-width:0;
}

#missionScreen .delivery-compact-line{
  color:var(--text-primary);
  font-size:0.72rem;
  font-weight:800;
}

#missionScreen .delivery-compact-meta,
#missionScreen .delivery-unmatched-note{
  margin-top:4px;
  color:var(--text-secondary);
  font-size:0.64rem;
  line-height:1.35;
}

#missionScreen .delivery-badge{
  display:inline-flex;
  margin-top:5px;
  padding:4px 6px;
  border-radius:5px;
  background:rgba(66,245,108,0.1);
  color:#caffd6;
  font-size:0.6rem;
  font-weight:800;
}

#missionScreen .delivery-badge.warn{
  background:rgba(255,199,69,0.1);
  color:#ffe8ad;
}

#missionScreen .catalog-group-heading{
  margin-top:5px;
  color:var(--text-secondary);
  font-size:0.62rem;
  font-weight:900;
  text-transform:uppercase;
}

#missionScreen .message{
  margin:7px 0;
}

#appMissionSettingsOverlay,
#appMissionConfirmOverlay{
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(2,6,23,0.8);
  backdrop-filter:blur(8px);
}

#appMissionSettingsOverlay.active,
#appMissionConfirmOverlay.active{
  display:flex;
}

#appMissionSettingsOverlay .mission-settings-dialog,
#appMissionConfirmOverlay .mission-confirm-dialog{
  width:min(680px, 100%);
  max-height:min(88vh, 760px);
  overflow:auto;
  border:1px solid var(--border-primary);
  border-radius:var(--radius);
  background:var(--panel-bg);
  box-shadow:0 24px 70px rgba(0,0,0,0.55);
}

#appMissionConfirmOverlay .mission-confirm-dialog{
  width:min(500px, 100%);
}

#appMissionSettingsOverlay .mission-settings-head,
#appMissionConfirmOverlay .mission-confirm-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid var(--border-secondary);
}

#appMissionSettingsOverlay h2,
#appMissionConfirmOverlay h2{
  margin:0;
  color:var(--text-primary);
  font-size:1.05rem;
}

#appMissionSettingsOverlay .mission-settings-close{
  min-height:40px;
  padding:7px 12px;
  border:1px solid var(--button-secondary-border);
  border-radius:var(--btn-radius);
  background:var(--button-secondary-bg);
  color:var(--text-primary);
  cursor:pointer;
}

#appMissionSettingsOverlay .mission-settings-form{
  display:grid;
  gap:12px;
  padding:16px;
}

#appMissionSettingsOverlay .mission-settings-help,
#appMissionSettingsOverlay .mission-settings-save-hint{
  margin:0;
  color:var(--text-secondary);
  font-size:0.76rem;
  line-height:1.45;
}

#appMissionSettingsOverlay .mission-settings-status{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid var(--border-secondary);
  border-radius:7px;
  background:var(--panel-secondary-bg);
  color:var(--text-secondary);
  font-size:0.72rem;
}

#appMissionSettingsOverlay .mission-settings-status strong{
  color:var(--text-primary);
}

#appMissionSettingsOverlay .mission-settings-list{
  display:grid;
  gap:7px;
  max-height:250px;
  overflow:auto;
}

#appMissionSettingsOverlay .mission-settings-product{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--border-secondary);
  border-radius:7px;
  background:var(--panel-secondary-bg);
}

#appMissionSettingsOverlay .mission-settings-product-copy{
  display:flex;
  flex-wrap:wrap;
  gap:5px 8px;
  color:var(--text-secondary);
  font-size:0.72rem;
}

#appMissionSettingsOverlay .mission-settings-product-copy strong{ color:var(--text-primary); }
#appMissionSettingsOverlay .mission-settings-product-copy em{ color:var(--accent-cyan); font-style:normal; }

#appMissionSettingsOverlay .mission-settings-product button{
  min-height:36px;
  border:1px solid rgba(255,77,77,0.3);
  border-radius:6px;
  background:rgba(255,77,77,0.08);
  color:#ffd1d1;
}

#appMissionSettingsOverlay .mission-settings-empty{
  padding:12px;
  color:var(--text-secondary);
  font-size:0.76rem;
  text-align:center;
}

#appMissionSettingsOverlay .mission-settings-add{
  display:grid;
  grid-template-columns:1fr 1fr 0.7fr auto;
  gap:8px;
  align-items:end;
}

#appMissionSettingsOverlay .mission-settings-actions,
#appMissionConfirmOverlay .mission-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

#appMissionSettingsOverlay .mission-settings-message{
  padding:9px 10px;
  border-radius:7px;
  background:rgba(118,233,255,0.08);
  color:var(--text-secondary);
  font-size:0.74rem;
}

#appMissionSettingsOverlay .mission-settings-message.error{ background:rgba(255,77,77,0.1); color:#ffd1d1; }
#appMissionSettingsOverlay .mission-settings-message.success{ background:rgba(66,245,108,0.1); color:#caffd6; }

#appMissionConfirmOverlay .mission-confirm-body{
  padding:16px;
}

#appMissionConfirmOverlay .mission-confirm-body p{
  margin:0;
  color:var(--text-primary);
  line-height:1.45;
}

#appMissionConfirmOverlay .mission-confirm-detail{
  margin-top:9px !important;
  color:var(--text-secondary) !important;
  font-size:0.76rem;
}

#appMissionConfirmOverlay .mission-confirm-actions{
  padding:0 16px 16px;
}

@media (max-width:1180px){
  #missionScreen .app-mission-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #missionScreen .mission-column-stock{
    grid-column:1 / -1;
  }
}

@media (max-width:900px){
  #missionScreen .app-mission-command{
    grid-template-columns:1fr;
  }

  #missionScreen .app-mission-status-copy{
    padding-right:0;
    padding-bottom:12px;
    border-right:0;
    border-bottom:1px solid var(--border-secondary);
  }

  #missionScreen .app-mission-status-head{
    flex-direction:row;
    align-items:center;
  }

  #missionScreen .mission-metrics{
    grid-template-columns:repeat(4, minmax(105px, 1fr));
    overflow-x:auto;
    padding-bottom:3px;
  }

  #missionScreen .app-mission-grid{
    grid-template-columns:1fr;
  }

  #missionScreen .mission-column-stock{
    grid-column:auto;
  }
}

@media (max-width:560px){
  body.mission-screen-active{
    padding-bottom:calc(82px + env(safe-area-inset-bottom, 0px));
  }

  body.mission-admin-user .mobile-nav{
    grid-auto-columns:minmax(72px, 1fr);
    justify-content:start;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  body.mission-admin-user .mobile-nav::-webkit-scrollbar{ display:none; }

  #missionScreen .app-mission-hero{
    align-items:stretch;
    flex-direction:column;
    padding:13px;
  }

  #missionScreen .app-mission-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #missionScreen .app-mission-actions .btn{
    width:100%;
    min-height:44px;
  }

  #missionScreen .app-mission-command{
    padding:11px;
  }

  #missionScreen .app-mission-status-head{
    align-items:flex-start;
    flex-direction:column;
  }

  #missionScreen .app-mission-status-legend{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    width:100%;
  }

  #missionScreen .mission-metrics{
    grid-template-columns:repeat(8, minmax(112px, 1fr));
  }

  #missionScreen .mission-column-head{
    min-height:0;
    padding:12px;
  }

  #missionScreen .mission-column-body{
    padding:8px;
  }

  #missionScreen .mission-stock-row{
    grid-template-columns:1fr 1fr;
  }

  #missionScreen .mission-job-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  #missionScreen .mission-job-actions .btn{
    min-height:44px;
  }

  #appMissionSettingsOverlay{
    align-items:flex-end;
    padding:0;
  }

  #appMissionSettingsOverlay .mission-settings-dialog{
    width:100%;
    max-height:92vh;
    border-radius:14px 14px 0 0;
  }

  #appMissionSettingsOverlay .mission-settings-add{
    grid-template-columns:1fr;
  }

  #appMissionSettingsOverlay .mission-settings-add .btn,
  #appMissionSettingsOverlay .mission-settings-actions .btn,
  #appMissionConfirmOverlay .mission-confirm-actions .btn{
    min-height:44px;
  }
}

@media (prefers-reduced-motion:reduce){
  #missionScreen *,
  #appMissionSettingsOverlay *,
  #appMissionConfirmOverlay *{
    scroll-behavior:auto !important;
    transition:none !important;
  }
}
