﻿.admin-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.admin-brand .site-brand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.admin-brand .site-brand-horse { width: 43px; }
.admin-brand .site-brand-wordmark { width: 74px; }
.admin-brand small { margin: 0; color: #4b5563; font-size: 12px; white-space: nowrap; }

.admin-login label:not(:first-child) { margin-top: 14px; }
.admin-login input { font-size: 16px; }
#admin-menu-toggle { display: none; }

.slide-upload-form {
  display: grid;
  gap: 14px;
  padding: 18px;
}
.slide-upload-form p { margin: 0; font-size: 13px; color: #4b5563; }
.slide-upload-form > button { justify-self: start; }

.slide-upload-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.slide-file-field {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 6px;
  padding: 14px;
  border: 1px solid #dfe5ed;
  border-radius: 8px;
}

.slide-file-field small { color: #4b5563; }
.slide-file-field input { min-width: 0; }
.slide-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
#slide-image-dialog .slide-upload-form { padding: 10px 0 0; }

.slide-previews {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 12px;
  background: #f3f6fa;
}

.slide-preview {
  display: grid;
  gap: 5px;
  margin: 0;
  color: #4b5563;
  font-size: 12px;
}

.slide-preview img,
.slide-preview span {
  width: 100%;
  border: 1px solid #dfe5ed;
  border-radius: 6px;
  background: #fff;
}

.slide-preview img { display: block; object-fit: contain; }
.slide-preview.desktop img { aspect-ratio: 1920 / 545; }
.slide-preview.mobile img { width: min(100%, 74px); aspect-ratio: 640 / 1130; }
.slide-preview span { display: grid; place-items: center; min-height: 50px; text-align: center; }
.slide-card .card-actions { flex-wrap: wrap; }

.lead-panel-head { flex-wrap: wrap; gap: 10px; }
.lead-selection-actions, .lead-selection-actions label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.lead-selection-actions button:not(:disabled) { color: #b42318; border-color: #efb1ae; }
.lead-selection-actions input, #leads .lead-row-checkbox { width: 18px; height: 18px; margin: 0; accent-color: #006bc8; }

@media (max-width: 760px) {
  #admin-menu-toggle { display: inline-flex; }
  .topbar { min-height: 58px; padding-inline: 12px; gap: 8px; }
  .top-right { gap: 6px; }
  .topbar .secure, .topbar .admin-brand small { display: none; }
  .topbar .light-button { min-height: 42px; padding-inline: 10px; white-space: nowrap; }
  .sidebar { display: none; }
  .sidebar.is-open { display: block; }
  .sidebar nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar .nav-item { min-height: 42px; white-space: normal; padding-inline: 9px; }

  .content, .view, .panel { min-width: 0; }
  .page-head { flex-wrap: wrap; gap: 8px; }
  .page-head p { max-width: none; }
  .page-head h1 { font-size: 23px; }
  .toolbar > * { min-height: 42px; }
  .toolbar select, .toolbar input, .pager-controls select { font-size: 16px; }
  .pager-controls { gap: 6px; }

  #view-leads .table-wrap { overflow: visible; }
  #view-leads table, #view-leads tbody { display: block; min-width: 0; }
  #view-leads thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #view-leads tbody { padding: 0 12px; }
  #leads tr {
    display: grid;
    gap: 8px;
    margin: 0 0 10px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
  }

  #leads td {
    display: grid;
    grid-template-columns: 6em minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 0;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #leads td[data-label]::before { content: attr(data-label); color: #4b5563; font-weight: 600; }
  #leads .empty-cell, #leads .lead-action-cell { grid-template-columns: 1fr; }
  #leads .view-link, #leads .lead-row-status { min-height: 40px; }
  #leads .lead-row-status { max-width: 100%; min-width: 0; }
  #leads .view-link { justify-self: end; padding-inline: 12px; }

  .slide-upload-fields, .slide-grid { grid-template-columns: minmax(0, 1fr); }
  .slide-card h3 { font-size: 15px; }
  .slide-card p { font-size: 13px; }
  .slide-card button { min-height: 40px; }
  .lead-dialog { max-height: calc(100dvh - 24px); overflow: auto; }
}

@media (max-width: 480px) {
  body.admin-login { padding: 14px; min-height: 100dvh; }
  .admin-login .card { padding: 28px 20px 24px; }
}
