/* ========================================
   DEDICATED SERVERS (ARP Metal)
   Metal badge + dedicated-server-specific styles
   Form layout styles are in admin_forms.css
   ======================================== */

/* --- Editor Header Bar --- */

.dedicated-server-form .dedicated-server-editor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--arp-space-5) var(--arp-space-6);
  background: linear-gradient(135deg, #475569 0%, #334155 100%);
  border-radius: var(--arp-radius-md);
  margin-bottom: var(--arp-space-6);
  box-shadow: 0 4px 12px rgba(71, 85, 105, 0.25);
}

[data-theme="dark"] .dedicated-server-form .dedicated-server-editor-header {
  background: linear-gradient(135deg, #334155 0%, #1e293b 100%);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(71, 85, 105, 0.4);
}

.dedicated-server-form .dedicated-server-editor-header h1 {
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
}

.dedicated-server-form .dedicated-server-editor-header .dedicated-server-subtitle {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
  margin-top: var(--arp-space-1);
}

.dedicated-server-form .dedicated-server-editor-header .buttons {
  margin-bottom: 0;
}

.dedicated-server-form .dedicated-server-editor-header .buttons .button {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: white;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.dedicated-server-form .dedicated-server-editor-header .buttons .button:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
}

/* Section icon color override */
.dedicated-server-form .admin-form-section-header .icon {
  color: #475569;
}

[data-theme="dark"] .dedicated-server-form .admin-form-section-header .icon {
  color: #94a3b8;
}

/* Focus ring tinted to match */
.dedicated-server-form .admin-form-section:focus-within {
  border-color: #475569;
  box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.1);
}

[data-theme="dark"] .dedicated-server-form .admin-form-section:focus-within {
  box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.2);
}

@media screen and (max-width: 768px) {
  .dedicated-server-form .dedicated-server-editor-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--arp-space-4);
  }

  .dedicated-server-form .dedicated-server-editor-header .buttons {
    width: 100%;
    justify-content: flex-start;
  }
}

/* --- Metal Badge --- */

.vm-metal-badge {
  font-size: var(--bulma-size-7);
  vertical-align: middle;
  margin-left: 0.35rem;
  background-color: #6b7280;
  color: #fff;
  border: 2px solid #4b5563;
}

/* --- Metal Hero Variants --- */
/* Slate gradient that matches the dedicated-server-editor-header.
   Applies to both the customer (.vm-hero) and admin (.avm-hero) heroes. */

.vm-hero.is-metal,
.avm-hero.is-metal {
  background: linear-gradient(135deg, #475569 0%, #334155 100%);
  box-shadow: 0 4px 12px rgba(71, 85, 105, 0.25);
}

[data-theme="dark"] .vm-hero.is-metal,
[data-theme="dark"] .avm-hero.is-metal {
  background: linear-gradient(135deg, #334155 0%, #1e293b 100%);
  border: 1px solid rgba(71, 85, 105, 0.4);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.vm-hero.is-metal .vm-metal-badge,
.avm-hero.is-metal .vm-metal-badge {
  background-color: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.35);
  color: white;
}

@media screen and (max-width: 768px) {
  .avm-resource-bar.is-stacked {
    grid-template-columns: 1fr;
  }
}

.avm-cards-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(361px, 1fr));
  gap: var(--arp-space-6);
}

/* --- Customer Show: align column bottoms --- */

.dedicated-server-show .column > .vm-detail-card:last-child {
  margin-bottom: 0;
}

/* --- IPMI Password Toggle --- */

.ipmi-pw-masked {
  color: var(--arp-gray-400);
  letter-spacing: 0.1em;
}

.ipmi-pw-wrapper .ipmi-pw-masked:has(~ code:not(.is-hidden)) {
  display: none;
}

/* --- Disk List --- */

.disk-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.disk-item {
  display: flex;
  align-items: center;
  gap: var(--arp-space-2);
}

.disk-item .icon {
  width: 1.25rem;
  height: 1.25rem;
}
