/* ==========================================================================
   AMT Toolkit · Zero-Out Price Compact Stylesheet
   Directly crafted to match the exact design tokens, density, and cadence
   of the current compact version of Seat Config (seat_config_compact.css).
   ========================================================================== */

:root {
  --sc-bg-canvas: #070e1c;
  --sc-bg-panel: #0a1424;
  --sc-bg-subpanel: #070f1d;
  --sc-bg-card: #0d1728;
  --sc-bg-hover: #122238;
  --sc-bg-tabs: #111c2f;
  --sc-bg-tab-active: #164354;
  --sc-text-tab-active: #a5f3fc;
  --sc-bg-input: #0c1b2d;
  --sc-bg-toolbar: rgba(11, 21, 39, 0.96);

  --sc-border-subtle: #213047;
  --sc-border-panel: #233149;
  --sc-border-mid: #25364e;
  --sc-border-btn: #304056;
  --sc-border-input: #273b54;
  --sc-border-toolbar: #2b3c53;
  --sc-border-title: #243044;

  --sc-text-primary: #dbe7f5;
  --sc-text-bright: #e0edfc;
  --sc-text-secondary: #8fa2bb;
  --sc-text-muted: #7f92ad;
  --sc-text-faint: #53667f;

  --sc-cyan: #67e8f9;
  --sc-cyan-bright: #22d3ee;
  --sc-good: #6ee7b7;
  --sc-good-bg: #072b28;
  --sc-good-border: #17574d;
  --sc-warn: #fbbf24;
  --sc-warn-bg: #271e06;
  --sc-warn-border: #594109;
  --sc-rose: #fda4af;
  --sc-rose-bg: #261118;
  --sc-rose-border: #5c1d27;

  /* Cabin Class Accent Colors matching Seat Config */
  --sc-eco: #67e8f9;
  --sc-eco-bg: rgba(103, 232, 249, 0.1);
  --sc-eco-border: rgba(103, 232, 249, 0.3);

  --sc-bus: #93c5fd;
  --sc-bus-bg: rgba(147, 197, 253, 0.1);
  --sc-bus-border: rgba(147, 197, 253, 0.3);

  --sc-first: #fcd34d;
  --sc-first-bg: rgba(252, 211, 77, 0.1);
  --sc-first-border: rgba(252, 211, 77, 0.3);

  --sc-cargo: #6ee7b7;
  --sc-cargo-bg: rgba(110, 231, 183, 0.1);
  --sc-cargo-border: rgba(110, 231, 183, 0.3);
}

/* Scoped to the active compact Zero-Out view; other tools keep their own layout */
@scope (body.amt-compact-mode:has(#view_zero_out:not(.hidden)), body:has(#view_zero_out.zo-compact:not(.hidden))) {
  :scope {
    background: var(--sc-bg-canvas);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: antialiased;
  }

  :scope > footer,
  #zo_floating_actions,
  #zo_compact_fab {
    display: none !important;
  }

  :scope > main {
    padding: 5px 7px 46px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* App Shell Container for Compact Zero-Out */
#zero_out_compact_container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 2px 46px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--sc-text-primary);
  font-variant-numeric: tabular-nums;
}

/* Micro Topline (.sc-topline) */
#zero_out_compact_container .sc-topline {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--sc-bg-panel);
  border: 1px solid var(--sc-border-panel);
  border-radius: 7px;
  padding: 4px 6px;
  min-height: 33px;
  flex-shrink: 0;
  box-sizing: border-box;
}

#zero_out_compact_container .sc-topline input[type="text"] {
  background: var(--sc-bg-input);
  border: 1px solid var(--sc-border-input);
  color: var(--sc-text-bright);
  font-size: 10px;
  padding: 3px 4px;
  border-radius: 4px;
  outline: none;
  min-height: 24px;
  height: 24px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

#zero_out_compact_container .sc-topline input[type="text"]:focus {
  border-color: var(--sc-cyan-bright);
  box-shadow: 0 0 0 1px var(--sc-cyan-bright);
}

#zero_out_compact_container .sc-topline button {
  padding: 3px 7px;
  font-size: 9px;
  font-weight: 600;
  border-radius: 5px;
  white-space: nowrap;
  min-height: 24px;
  height: 24px;
  border: 1px solid var(--sc-border-btn);
  background: #101f32;
  color: #94cee0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.15s ease;
}

#zero_out_compact_container .sc-topline button:hover {
  background: #172d47;
  color: #ffffff;
  border-color: var(--sc-cyan-bright);
}

/* Switch & Action Buttons in Topline */
#zero_out_compact_container .sc-switch-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  color: var(--sc-text-secondary);
  cursor: pointer;
  user-select: none;
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--sc-border-subtle);
}

#zero_out_compact_container .sc-switch-label input[type="checkbox"] {
  width: 12px;
  height: 12px;
  accent-color: var(--sc-cyan);
  cursor: pointer;
}

/* Statusline (.sc-statusline) */
#zero_out_compact_container .sc-statusline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 9px;
  color: var(--sc-text-secondary);
  line-height: 13px;
  padding: 1px 2px;
  flex-shrink: 0;
}

#zero_out_compact_container .sc-statusline b {
  color: var(--sc-text-bright);
  font-weight: 600;
}

#zero_out_compact_container .sc-statusline .sc-route-tag {
  color: var(--sc-cyan);
  font-weight: 700;
  font-family: ui-monospace, Consolas, monospace;
  background: rgba(6, 182, 212, 0.12);
  border: 1px solid rgba(6, 182, 212, 0.25);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 9px;
}

#zero_out_compact_container .sc-statusline .sc-gain-badge {
  font-weight: 700;
  font-family: ui-monospace, Consolas, monospace;
  font-size: 10px;
}

/* KPI Strip (.sc-kpis) */
#zero_out_compact_container .sc-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  flex-shrink: 0;
}

#zero_out_compact_container .sc-kpis > div {
  padding: 4px 6px;
  background: var(--sc-bg-subpanel);
  border: 1px solid var(--sc-border-panel);
  border-radius: 6px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#zero_out_compact_container .sc-kpis small {
  display: block;
  color: var(--sc-text-muted);
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 1px;
}

#zero_out_compact_container .sc-kpis strong {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.3;
  color: var(--sc-text-bright);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Card Container (.sc-card) */
#zero_out_compact_container .sc-card {
  background: var(--sc-bg-panel);
  border: 1px solid var(--sc-border-panel);
  border-radius: 7px;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#zero_out_compact_container .sc-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 20px;
  font-size: 10px;
  color: #cbd8e9;
  border-bottom: 1px solid var(--sc-border-title);
  padding-bottom: 3px;
  margin-bottom: 2px;
}

#zero_out_compact_container .sc-section-title strong {
  font-weight: 700;
  color: var(--sc-text-bright);
  display: flex;
  align-items: center;
  gap: 5px;
}

#zero_out_compact_container .sc-section-title .sc-muted {
  font-size: 8px;
  color: var(--sc-text-muted);
  font-family: ui-monospace, monospace;
}

/* High-Density Matrix Table (.sc-table) */
#zero_out_compact_container .sc-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 10px;
  color: #d5e1f1;
  font-variant-numeric: tabular-nums;
}

#zero_out_compact_container .sc-table th {
  font-weight: 600;
  font-size: 8px;
  text-transform: uppercase;
  color: #8598b2;
  background: #101d2f;
  padding: 4px 3px;
  border-bottom: 1px solid #213047;
  text-align: right;
  letter-spacing: 0.03em;
}

#zero_out_compact_container .sc-table th:first-child {
  text-align: left;
  padding-left: 5px;
}

#zero_out_compact_container .sc-table td {
  padding: 3px 2px;
  text-align: right;
  border-bottom: 1px solid #1c2738;
  line-height: 1.25;
  vertical-align: middle;
}

#zero_out_compact_container .sc-table td:first-child {
  text-align: left;
  padding-left: 4px;
}

#zero_out_compact_container .sc-table tbody tr:hover {
  background: #0d1a2c;
}

#zero_out_compact_container .sc-table tfoot td {
  background: #0b1527;
  border-top: 1px solid var(--sc-border-mid);
  font-weight: 700;
  padding: 5px 3px;
  font-size: 10px;
}

/* Cabin Class Row Badges */
#zero_out_compact_container .sc-class-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
}

#zero_out_compact_container .sc-class-tag.eco {
  color: var(--sc-eco);
  background: var(--sc-eco-bg);
  border: 1px solid var(--sc-eco-border);
}

#zero_out_compact_container .sc-class-tag.bus {
  color: var(--sc-bus);
  background: var(--sc-bus-bg);
  border: 1px solid var(--sc-bus-border);
}

#zero_out_compact_container .sc-class-tag.first {
  color: var(--sc-first);
  background: var(--sc-first-bg);
  border: 1px solid var(--sc-first-border);
}

#zero_out_compact_container .sc-class-tag.cargo {
  color: var(--sc-cargo);
  background: var(--sc-cargo-bg);
  border: 1px solid var(--sc-cargo-border);
}

/* Micro Form Inputs in Matrix Table */
#zero_out_compact_container .micro-input,
#zero_out_compact_container .sc-input,
#zero_out_compact_container .zo-matrix-input {
  background-color: var(--sc-bg-input);
  border: 1px solid var(--sc-border-input);
  color: #f8fafc;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 4px;
  outline: none;
  transition: all 0.15s ease;
  width: 100%;
  min-height: 23px;
  height: 23px;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-align: right;
  box-sizing: border-box;
}

#zero_out_compact_container .micro-input:focus,
#zero_out_compact_container .zo-matrix-input:focus {
  border-color: var(--sc-cyan-bright);
  box-shadow: 0 0 0 1px var(--sc-cyan-bright);
  background-color: #0e2238;
}

#zero_out_compact_container .zo-input-remain {
  color: #67e8f9;
  border-color: rgba(6, 182, 212, 0.4);
  background: #091a2e;
}

/* Universal spin button suppression for inputs in compact container */
#zero_out_compact_container input::-webkit-outer-spin-button,
#zero_out_compact_container input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

#zero_out_compact_container input[type="number"],
#zero_out_compact_container input[type="text"] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Copy Button in Results Table */
#zero_out_compact_container .sc-copy-btn {
  width: 20px;
  height: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid var(--sc-border-btn);
  background: #111e30;
  color: var(--sc-text-secondary);
  cursor: pointer;
  transition: all 0.12s ease;
}

#zero_out_compact_container .sc-copy-btn:hover {
  background: #1b3252;
  color: #fff;
  border-color: var(--sc-cyan);
}

/* Utility State Colors */
#zero_out_compact_container .sc-good { color: var(--sc-good) !important; }
#zero_out_compact_container .sc-rose { color: var(--sc-rose) !important; }
#zero_out_compact_container .sc-warn { color: var(--sc-warn) !important; }
#zero_out_compact_container .sc-muted { color: var(--sc-text-muted) !important; }
#zero_out_compact_container .font-mono-num {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Fixed Bottom Toolbar (.sc_layout_toolbar) matching Seat Config */
#zero_out_compact_container .sc_layout_toolbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
  display: flex;
  background: #0b1527f5;
  border-top: 1px solid #2b3c53;
  backdrop-filter: blur(12px);
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 4px 6px;
  gap: 4px;
}

#zero_out_compact_container .sc_layout_toolbar button {
  flex: 1;
  border: 1px solid #304056;
  color: #b7c9dc;
  background: #131e31;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 600;
  padding: 5px 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: all 0.15s ease;
  min-height: 28px;
  user-select: none;
}

#zero_out_compact_container .sc_layout_toolbar button:hover {
  background: #1c2c45;
  color: #fff;
  border-color: #4b6282;
}

#zero_out_compact_container .sc_layout_toolbar button.sc-btn-primary,
#zero_out_compact_container .sc_layout_toolbar button:first-child {
  color: #6ee7b7;
  background: #072b28;
  border-color: #17574d;
}

#zero_out_compact_container .sc_layout_toolbar button.sc-btn-primary:hover,
#zero_out_compact_container .sc_layout_toolbar button:first-child:hover {
  background: #0d423e;
  border-color: #268576;
  color: #a7f3d0;
}

#zero_out_compact_container .sc_layout_toolbar .sc_layout_clear {
  color: #fda4af;
  background: #1c151b;
  border-color: #422028;
}

#zero_out_compact_container .sc_layout_toolbar .sc_layout_clear:hover {
  background: #2b1c24;
  border-color: #662734;
  color: #fecdd3;
}
