/* Custom styles beyond Tailwind for UMBC Software Downloads */

/* Platform badge colors */
.badge-windows { background-color: #0078d4; color: white; }
.badge-macos { background-color: #555555; color: white; }
.badge-linux { background-color: #c13d11; color: white; }
.badge-ios { background-color: #555555; color: white; }
.badge-android { background-color: #3ddc84; color: #1b1b1b; }

/* Status badges */
.badge-active { background-color: #16a34a; color: white; }
.badge-retired { background-color: #b45309; color: white; }
.badge-archived { background-color: #6b7280; color: white; }

/* Card hover */
.software-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.software-card:hover,
.software-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}
.software-card:focus-visible {
  outline: 2px solid #ecba00;
  outline-offset: 2px;
}

/* Category pill active state */
.category-pill.active {
  background-color: #ecba00;
  color: #000;
  font-weight: 600;
}

/* Version accordion */
.version-group summary {
  cursor: pointer;
  list-style: none;
}
.version-group summary::-webkit-details-marker {
  display: none;
}
.version-group summary .chevron {
  transition: transform 0.2s;
}
.version-group[open] summary .chevron {
  transform: rotate(90deg);
}

/* License code copy styling */
.license-code {
  font-family: 'Courier New', monospace;
  background-color: #f3f4f6;
  padding: 2px 8px;
  border-radius: 4px;
  user-select: all;
}

/* Ensure hidden works even if Tailwind CDN loads late */
[class~="hidden"] {
  display: none !important;
}

/* Force fieldset borders — Tailwind CDN reset sets border-width:0 on * */
.admin-form fieldset {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: #e5e7eb !important;
  border-radius: 0.5rem;
  padding: 1rem;
  margin: 0;
}
.admin-form fieldset legend {
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  padding: 0 0.5rem;
}

/* Admin form styles — exclude inline row controls (.dl-row, .mi-row, .link-row) */
.admin-form input[type="text"],
.admin-form input[type="url"],
.admin-form textarea,
.admin-form select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.875rem;
}
.admin-form .dl-row input,
.admin-form .dl-row select,
.admin-form .mi-row input,
.admin-form .mi-row select,
.admin-form .link-row input,
.admin-form .ig-row input,
.admin-form .ig-row select,
.admin-form .lf-row input,
.admin-form .sc-row input,
.admin-form .ac-row input {
  width: auto;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
}
.admin-form .dl-row select {
  flex-shrink: 0;
  width: 6rem;
}
.admin-form .dl-row .dl-label {
  flex: 1;
  min-width: 6rem;
}
.admin-form .dl-row .dl-url {
  flex: 2;
  min-width: 8rem;
}
.admin-form input:focus,
.admin-form textarea:focus,
.admin-form select:focus {
  outline: 2px solid #ecba00;
  outline-offset: -1px;
  border-color: #ecba00;
}

/* Download link - clean inline style */
.download-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: white;
  color: #111827;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 0.15s, background-color 0.15s;
}
.download-link:hover {
  border-color: #ecba00;
  background-color: #fffbeb;
}
.download-link .dl-icon {
  color: #6b7280;
  flex-shrink: 0;
}
.download-link:hover .dl-icon {
  color: #d4a800;
}

/* Managed install card */
.managed-install-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background: white;
  text-decoration: none;
  color: #111827;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.managed-install-card:hover {
  border-color: #ecba00;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.managed-install-card .mi-icon {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
}
.mi-icon-sccm { background-color: #0078d4; color: white; }
.mi-icon-intune { background-color: #0078d4; color: white; }
.mi-icon-jamf { background-color: #1a1a1a; color: white; }

/* Fallback software icon */
.software-icon-fallback {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #ecba00 0%, #d4a800 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #000;
  font-weight: bold;
}

/* Toast notification */
.toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  color: white;
  font-weight: 500;
  z-index: 1000;
  animation: slideIn 0.3s ease, fadeOut 0.3s ease 2.7s;
}
.toast-success { background-color: #16a34a; }
.toast-error { background-color: #dc2626; }

@keyframes slideIn {
  from { transform: translateY(1rem); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
