/* Galaxy fleet operations workspace. Kept separate from the core portal so the
   operational module can evolve without widening the login or rental surface. */

#portal-operations [hidden],
.operations-dialog [hidden],
.operations-evidence-dialog [hidden],
.operations-qr-result-dialog [hidden]{display:none!important}

.ops-page-status{
  min-height:20px;
  margin:-9px 0 14px;
  color:var(--muted);
  font-size:.74rem;
}
.ops-page-status.loading{color:#9cc7ff}
.ops-page-status.success{color:#aeeac3}
.ops-page-status.warning{color:#fbc56d}
.ops-page-status.danger{color:#ffaaaa}

.ops-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:-7px 0 17px;
  padding:12px 14px;
  border:1px solid rgba(245,158,11,.42);
  border-left:3px solid var(--amber);
  background:rgba(245,158,11,.07);
}
.ops-notice strong{flex:0 0 auto;color:#fbc56d;font-size:.77rem}
.ops-notice span{color:var(--muted);font-size:.74rem;line-height:1.5}
.ops-notice.secure{border-color:rgba(59,130,246,.42);border-left-color:var(--blue);background:rgba(59,130,246,.07)}
.ops-notice.secure strong{color:#9cc7ff}

.ops-metric-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.ops-metric-card{
  min-width:0;
  min-height:112px;
  padding:16px;
  border:1px solid var(--border);
  border-top:3px solid var(--green);
  border-radius:10px;
  background:linear-gradient(145deg,var(--panel),var(--surface-gradient));
}
.ops-metric-card.warning{border-top-color:var(--amber)}
.ops-metric-card.danger{border-top-color:var(--danger)}
.ops-metric-card span,.ops-metric-card small{display:block;color:var(--muted)}
.ops-metric-card span{font-size:.65rem;font-weight:850;letter-spacing:.5px;text-transform:uppercase}
.ops-metric-card strong{display:block;margin:9px 0 4px;font-size:1.9rem;line-height:1}
.ops-metric-card small{font-size:.66rem;line-height:1.4}

.ops-tab-list{
  display:flex;
  gap:3px;
  margin-bottom:16px;
  padding:4px;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-deep);
  scrollbar-width:none;
}
.ops-tab-list::-webkit-scrollbar{display:none}
.ops-tab-list button{
  flex:0 0 auto;
  min-height:39px;
  padding:8px 13px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}
.ops-tab-list button:hover{background:var(--panel);color:var(--text)}
.ops-tab-list button.active{background:var(--panel-2);color:var(--orange);box-shadow:inset 0 -2px var(--orange)}
.ops-tab-list button:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
.ops-tab-panel{display:none}
.ops-tab-panel.active{display:block}

.ops-two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;margin-bottom:16px}
.ops-role-dispatcher .ops-role-grid{grid-template-columns:1fr}
.ops-maintenance-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
.ops-fleet-snapshot,.ops-availability-checker{margin-bottom:16px}
.ops-review-card{min-width:0}

.ops-inline-controls{
  display:flex;
  align-items:center;
  gap:8px;
  margin:-4px 0 13px;
  flex-wrap:wrap;
}
.ops-inline-controls input,.ops-inline-controls select,.ops-window-form input,.ops-report-controls input,.ops-report-controls select{
  min-height:39px;
  padding:9px 11px;
  border:1.5px solid var(--border);
  border-radius:7px;
  background:var(--panel-2);
  color:var(--text);
  font:inherit;
  font-size:.78rem;
}
.ops-inline-controls input{min-width:230px;flex:1}
.ops-inline-controls select{min-width:145px}
.ops-inline-controls input:focus,.ops-inline-controls select:focus,.ops-window-form input:focus,.ops-report-controls input:focus,.ops-report-controls select:focus{outline:none;border-color:var(--orange)}

.ops-list{display:grid;gap:8px}
.ops-list>.module-empty{display:block;padding:28px 16px;border:1px dashed var(--border);border-radius:8px;background:transparent}
.ops-list-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--border);
  border-left:3px solid #5b5b64;
  border-radius:8px;
  background:var(--panel-2);
}
.ops-list-item.warning{border-left-color:var(--amber)}
.ops-list-item.danger{border-left-color:var(--danger)}
.ops-list-item.success{border-left-color:var(--green)}
.ops-list-item.info{border-left-color:var(--blue)}
.ops-list-item strong,.ops-list-item span,.ops-list-item small{display:block}
.ops-list-item strong{font-size:.81rem;overflow-wrap:anywhere}
.ops-list-item span{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.42;overflow-wrap:anywhere}
.ops-list-item small{margin-top:4px;color:var(--muted);font-size:.64rem}
.ops-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.ops-load-more{display:block;margin:12px auto 0}

.ops-health-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-bottom:13px;
  border:1px solid var(--border);
  background:var(--border);
}
.ops-health-grid>div{min-width:0;padding:11px;background:var(--panel-2)}
.ops-health-grid span,.ops-health-grid strong,.ops-health-grid small{display:block}
.ops-health-grid span{color:var(--muted);font-size:.61rem;font-weight:850;letter-spacing:.45px;text-transform:uppercase}
.ops-health-grid strong{margin:4px 0 1px;font-size:1.15rem}
.ops-health-grid small{color:var(--muted);font-size:.61rem;line-height:1.35}
.ops-health-runs{max-height:212px;overflow:auto}

.ops-table .row-actions{min-width:120px}
.ops-table td{vertical-align:top}
.ops-table .row-title{overflow-wrap:anywhere}
.ops-table .status-pill{margin:0 3px 3px 0}
.ops-money{font-variant-numeric:tabular-nums;white-space:nowrap}
.ops-server-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:11px;
  color:var(--muted);
  font-size:.73rem;
}
.ops-server-pager>div{display:flex;gap:7px}
.ops-server-pager button{min-height:37px;padding:7px 11px;font-size:.72rem}

.ops-window-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:9px;align-items:end}
.ops-window-form label,.ops-report-controls label,.ops-token-field{display:grid;gap:5px;color:var(--label);font-size:.71rem;font-weight:800}
.ops-availability-results{min-height:45px;margin-top:12px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:.73rem;line-height:1.5}
.ops-availability-results.success{border-color:rgba(34,197,94,.42);color:#aeeac3}
.ops-availability-results.warning{border-color:rgba(245,158,11,.45);color:#fbc56d}
.ops-vehicle-choice-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}

.ops-rule-list{display:grid;gap:10px;padding-left:19px;color:var(--muted);font-size:.75rem;line-height:1.5}
.ops-rule-list li::marker{color:var(--orange)}
.ops-safety-note,.ops-confirm-note,.ops-qr-warning{
  display:grid;
  gap:3px;
  margin-bottom:14px;
  padding:11px 12px;
  border-left:3px solid var(--green);
  background:rgba(34,197,94,.07);
}
.ops-safety-note strong,.ops-confirm-note strong,.ops-qr-warning strong{color:#aeeac3;font-size:.75rem}
.ops-safety-note span,.ops-confirm-note span,.ops-qr-warning span{color:var(--muted);font-size:.69rem;line-height:1.45}
.ops-confirm-note.danger,.ops-qr-warning{border-left-color:var(--danger);background:rgba(239,68,68,.07)}
.ops-confirm-note.danger strong,.ops-qr-warning strong{color:#ffaaaa}

.ops-report-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) auto;gap:9px;align-items:end;margin-bottom:14px}
.ops-report-table{max-height:530px;overflow:auto;border:1px solid var(--border);border-radius:8px}
.ops-report-table .module-empty{display:block}
.ops-report-table table{table-layout:auto}
.ops-report-table th,.ops-report-table td{width:auto!important;white-space:nowrap}

.operations-dialog,.operations-evidence-dialog,.operations-qr-result-dialog{margin:auto}
.operations-dialog{width:min(760px,calc(100vw - 28px))}
.operations-form-grid .form-field input[type="checkbox"]{width:auto;min-height:0;accent-color:var(--orange)}
.operations-form-grid .ops-check-label{display:flex;align-items:flex-start;gap:8px;padding:9px 0;font-weight:700}
.operations-form-grid .ops-checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.operations-form-grid fieldset.ops-checkbox-group{margin:0;padding:0;border:0}
.operations-form-grid .ops-checkbox-group legend{margin-bottom:4px;color:var(--label);font-size:.73rem;font-weight:800}
.operations-form-grid .ops-check-label span{color:var(--muted);font-size:.7rem;font-weight:500}
.operations-evidence-dialog{width:min(880px,calc(100vw - 28px))}
.ops-evidence-form{margin-bottom:18px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}
.ops-evidence-actions{padding-top:10px;border-top:0}
.ops-evidence-list{display:grid;gap:8px;margin-bottom:16px}
.ops-evidence-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
.ops-evidence-card strong,.ops-evidence-card span{display:block}
.ops-evidence-card strong{font-size:.8rem;overflow-wrap:anywhere}
.ops-evidence-card span{margin-top:2px;color:var(--muted);font-size:.68rem}
.ops-evidence-card>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

.operations-qr-result-dialog{width:min(650px,calc(100vw - 28px))}
.ops-token-field textarea{width:100%;resize:vertical;padding:12px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-deep);color:var(--text);font:700 .8rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.ops-token-field textarea:focus{outline:none;border-color:var(--orange)}

@media(max-width:1120px){
  .ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .ops-two-column,.ops-maintenance-grid{grid-template-columns:1fr}
  .ops-window-form,.ops-report-controls{grid-template-columns:1fr 1fr}
  .ops-window-form button,.ops-report-controls button{grid-column:1/-1}
}

@media(max-width:700px){
  .ops-notice{display:grid;gap:4px}
  .ops-tab-list{margin-left:-2px;margin-right:-2px;scroll-snap-type:x proximity}
  .ops-tab-list button{min-height:44px;scroll-snap-align:start}
  .ops-inline-controls{display:grid;grid-template-columns:1fr}
  .ops-inline-controls input,.ops-inline-controls select{width:100%;min-width:0}
  .ops-server-pager{align-items:flex-start;flex-direction:column}
  .ops-server-pager>div{width:100%}
  .ops-server-pager button{flex:1;min-height:44px}
  .ops-list-item,.ops-evidence-card{grid-template-columns:1fr}
  .ops-list-actions,.ops-evidence-card>div:last-child{justify-content:flex-start}
  .ops-window-form,.ops-report-controls{grid-template-columns:1fr}
  .ops-window-form button,.ops-report-controls button{grid-column:1}
  .operations-dialog .form-actions,.operations-qr-result-dialog .form-actions{display:grid;grid-template-columns:1fr;width:100%}
  .operations-dialog .form-actions button,.operations-qr-result-dialog .form-actions button{width:100%}
}

@media(max-width:430px){
  .ops-metric-grid{grid-template-columns:1fr 1fr}
  .ops-metric-card{min-height:104px;padding:13px}
  .ops-metric-card strong{font-size:1.65rem}
  .ops-health-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .ops-tab-list button{scroll-behavior:auto}
}

@media (prefers-color-scheme:light){
  .ops-page-status.loading,.ops-notice.secure strong{color:#1d4ed8}
  .ops-page-status.success,.ops-availability-results.success,.ops-safety-note strong,.ops-confirm-note strong{color:#166534}
  .ops-page-status.warning,.ops-notice strong,.ops-availability-results.warning{color:#92400e}
  .ops-page-status.danger,.ops-confirm-note.danger strong,.ops-qr-warning strong{color:#991b1b}
  .ops-metric-card{background:linear-gradient(145deg,var(--panel),var(--surface-gradient))}
  .ops-list-item{border-left-color:#9ca3af}
  .ops-token-field textarea{color:#172554}
}
