.cmp-scenarios-tab {
  font-family: system-ui, sans-serif;
  color: #ddd;
}

.cmp-scenarios-tab h3,
.cmp-scenarios-tab .scenario-heading { 
  margin: 0 0 8px;
  font-family: system-ui;
  letter-spacing: 0.5px;
  font-size: 14px; 
  text-transform: uppercase; 
  letter-spacing: 0.75px; 
}

.cmp-scenarios-tab .scenario-description {
  margin: 0 0 10px;
  font-size: 12px;
  opacity: 0.75;
  line-height: 1.4;
}

.cmp-scenarios-tab .scenario-list { 
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}

.cmp-scenarios-tab .scenario-list label { 
  display: flex;
  gap: 6px;
  align-items: flex-start;
  font-size: 13px;
  background: #141414; 
  padding: 6px 8px; 
  border: 1px solid #2b2b2b; 
  border-radius: 4px; 
}

.cmp-scenarios-tab .scenario-list label:hover { 
  border-color: #3d3d3d; 
}

.cmp-scenarios-tab .param-editor {
  display: none;
  margin: -4px 0 10px;
  padding: 8px 10px;
  background: #121212;
  border: 1px solid #2c2c2c;
  border-radius: 6px;
  font-size: 11px;
}

.cmp-scenarios-tab .param-editor.is-visible {
  display: block;
}

.cmp-scenarios-tab .target-mode-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin: 0 0 10px;
  padding: 8px 10px;
  background: #141414;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
}

.cmp-scenarios-tab .target-mode-label,
.cmp-scenarios-tab .cpu-count-label {
  font-size: 11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cmp-scenarios-tab .cpu-count-label {
  display: none;
}

.cmp-scenarios-tab .cpu-count-label.is-visible {
  display: flex;
}

.cmp-scenarios-tab .button-group {
  margin-left: auto;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.cmp-scenarios-tab .applied-list {
  font-size: 11px;
  line-height: 1.4;
  background: #111;
  padding: 6px 8px;
  border: 1px solid #333;
  border-radius: 4px;
  max-height: 300px;
  overflow: auto;
  margin-bottom: 8px;
}

.cmp-scenarios-tab .applied-list.empty {
  text-align: center;
  opacity: 0.6;
  font-style: italic;
}

.cmp-scenarios-tab .assignment-table {
  width: 100%;
  border-collapse: collapse;
}

.cmp-scenarios-tab .assignment-table th {
  text-align: left;
  padding: 6px 8px;
  background: #1a1a1a;
  border-bottom: 2px solid #333;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #9ac;
}

.cmp-scenarios-tab .assignment-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #222;
  font-size: 12px;
  vertical-align: middle;
}

.cmp-scenarios-tab .assignment-table tr:last-child td {
  border-bottom: none;
}

.cmp-scenarios-tab .assignment-table tr:hover {
  background: #1a1a1a;
}

.cmp-scenarios-tab .assignment-table .target-cell {
  width: 80px;
  text-align: center;
  font-weight: 600;
}

.cmp-scenarios-tab .assignment-table .scenario-cell {
  color: #ddd;
  line-height: 1.5;
  word-wrap: break-word;
  max-width: 300px;
}

.cmp-scenarios-tab .assignment-table .category-cell {
  width: 100px;
  text-align: center;
  font-size: 16px;
}

.cmp-scenarios-tab .category-badge {
  display: inline-block;
  margin: 0 2px;
  cursor: help;
}

.cmp-scenarios-tab .assignment-table .remove-cell {
  width: 60px;
  text-align: center;
}

.cmp-scenarios-tab .action-buttons {
  margin-top: 4px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.cmp-scenarios-tab .summary-panel {
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.5;
  background: #0d0d0d;
  border: 1px solid #222;
  padding: 8px 10px;
  border-radius: 4px;
  max-height: 180px;
  overflow: auto;
}

/* Selects */
.cmp-scenarios-tab .scenario-select,
select.scenario-select {
  font-size: 13px;
  padding: 6px 10px;
  background: #1f1f1f;
  color: #ddd;
  border: 1px solid #333;
  border-radius: 4px;
  cursor: pointer;
  min-width: 140px;
}

.cmp-scenarios-tab .scenario-select:hover,
select.scenario-select:hover {
  border-color: #4a9eff;
}

/* Button Base Styles - High specificity to override base.css button reset */
.cmp-scenarios-tab .scenario-btn,
button.scenario-btn {
  display: inline-block;
  font-size: 13px;
  padding: 8px 16px;
  min-height: 36px;
  border-radius: 0; /* No rounded corners - matches game theme */
  cursor: pointer;
  transition: transform 0.18s ease, filter 0.28s ease, box-shadow 0.28s ease;
  font-family: 'Bangers', cursive;
  font-weight: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 3px solid #111;
  box-shadow: 4px 4px 0 #000; /* Chunky drop shadow like game buttons */
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  line-height: 1.2;
}

.cmp-scenarios-tab .scenario-btn:hover:not(:disabled),
button.scenario-btn:hover:not(:disabled) {
  filter: brightness(1.15);
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 #000;
}

.cmp-scenarios-tab .scenario-btn:active:not(:disabled),
button.scenario-btn:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: 3px 3px 0 #000;
}

.cmp-scenarios-tab .scenario-btn:disabled,
button.scenario-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  filter: grayscale(0.8);
}


/* Primary Button (Add Assignment) */
.cmp-scenarios-tab .scenario-btn-primary,
button.scenario-btn-primary {
  background: linear-gradient(to bottom, #3d8ed8, #2a6ab0);
  color: #fff;
  border-color: #111;
}

/* Danger Button (Clear All) */
.cmp-scenarios-tab .scenario-btn-danger,
button.scenario-btn-danger {
  background: linear-gradient(to bottom, #d84040, #a03030);
  color: #fff;
  border-color: #111;
}

/* Secondary Button (Snapshot tools) */
.cmp-scenarios-tab .scenario-btn-secondary,
button.scenario-btn-secondary {
  background: linear-gradient(to bottom, #6a8a9a, #4a6a7a);
  color: #fff;
  border-color: #111;
}

/* Remove button (in table) */
.cmp-scenarios-tab .scenario-btn-remove,
button.scenario-btn-remove {
  background: linear-gradient(to bottom, #8a4040, #5a2a2a);
  color: #ffc;
  border: 1px solid #7a3a3a;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-weight: bold;
  display: inline-block;
  min-height: 24px;
}

.cmp-scenarios-tab .scenario-btn-remove:hover,
button.scenario-btn-remove:hover {
  background: #8a3a3a;
  transform: scale(1.1);
}

/* Toggle button (in table) - for showing/hiding card selection */
.cmp-scenarios-tab .scenario-btn-toggle,
button.scenario-btn-toggle {
  background: linear-gradient(to bottom, #4a7a9a, #2a5a7a);
  color: #fff;
  border: 1px solid #3a6a8a;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-block;
  min-height: 24px;
  margin-right: 4px;
}

.cmp-scenarios-tab .scenario-btn-toggle:hover,
button.scenario-btn-toggle:hover {
  background: #3a6a8a;
  transform: scale(1.1);
}

/* Card selection row */
.cmp-scenarios-tab .card-selection-row {
  background: #0a0a0a !important;
}

.cmp-scenarios-tab .card-selection-cell {
  padding: 16px 20px;
  background: #1a1a1a;
  border-top: 2px solid #4a9eff;
}

/* Card selection header */
.cmp-scenarios-tab .card-selection-header {
  margin-bottom: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #333;
}

.cmp-scenarios-tab .card-selection-title {
  color: #ddd;
  font-size: 13px;
  font-weight: 600;
}

.cmp-scenarios-tab .card-count {
  font-size: 13px;
  font-weight: 700;
}

.cmp-scenarios-tab .card-count-current {
  color: #4a9eff;
}

.cmp-scenarios-tab .card-count-separator {
  color: #888;
}

.cmp-scenarios-tab .card-count-total {
  color: #888;
}

/* Card grid */
.cmp-scenarios-tab .card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  max-height: 350px;
  overflow-y: auto;
  margin-bottom: 14px;
  padding: 4px;
  scrollbar-width: thin;
  scrollbar-color: #444 #1a1a1a;
}

.cmp-scenarios-tab .card-grid::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.cmp-scenarios-tab .card-grid::-webkit-scrollbar-track {
  background: #1a1a1a;
}

.cmp-scenarios-tab .card-grid::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 4px;
}

.cmp-scenarios-tab .card-grid::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Individual card items */
.cmp-scenarios-tab .card-item {
  display: flex;
  align-items: center;
  padding: 12px 14px;
  background: #252525;
  border: 2px solid #444;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.cmp-scenarios-tab .card-item:hover {
  border-color: #4a9eff;
  box-shadow: 0 2px 8px rgba(74, 158, 255, 0.3);
  transform: translateY(-1px);
}

.cmp-scenarios-tab .card-item.selected {
  background: #1a3a5a;
  border-color: #4a9eff;
  box-shadow: 0 2px 8px rgba(74, 158, 255, 0.4);
}

.cmp-scenarios-tab .card-checkbox {
  margin-right: 10px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #4a9eff;
}

.cmp-scenarios-tab .card-content {
  flex: 1;
  font-size: 12px;
}

.cmp-scenarios-tab .card-name {
  font-weight: 700;
  margin-bottom: 4px;
  color: #fff;
}

.cmp-scenarios-tab .card-description {
  color: #aaa;
  font-size: 11px;
  line-height: 1.4;
}

/* Card selection footer */
.cmp-scenarios-tab .card-selection-footer {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid #333;
}

/* Mobile: larger touch targets */
@media (max-width: 1024px), (pointer: coarse) {
  .cmp-scenarios-tab .scenario-btn,
  button.scenario-btn {
    min-height: 44px;
    padding: 12px 20px;
    font-size: 14px;
  }
  
  .cmp-scenarios-tab .scenario-select {
    font-size: 14px;
    padding: 10px 12px;
    min-height: 44px;
  }
}

/* Highlight glow animation for scrolling to assignment */
@keyframes highlight-glow {
  0%, 100% { 
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    background-color: transparent;
  }
  50% { 
    box-shadow: 0 0 20px 5px rgba(255, 255, 255, 0.8);
    background-color: rgba(255, 255, 255, 0.1);
  }
}

.cmp-scenarios-tab .highlight-glow {
  animation: highlight-glow 1s ease-in-out 2;
}
