/* Platform.Web – host'a özel küçük düzeltmeler. Tasarım sistemi _content/Platform.UI.Shared/css/design-system.css içindedir. */

h1:focus { outline: none; }

/* ------------------------------------------------------------------ Yönetim paneli (ADR-020)
   Kabuk, menü ve palet stilleri bileşenlerin .razor.css dosyalarındadır; burada birden çok yönetim sayfasının
   paylaştığı kurallar vardır. Yeni kurallar yalnızca tasarım belirteçlerini kullanır. */

/* Kenar menü: içerik alanı geniş, tablet için de görünür */
@media (min-width: 900px) {
  .admin-sidebar { display: flex; }
  .admin-sidebar ~ .app-shell__main .topbar__brand { display: none; }
}
@media (min-width: 900px) and (max-width: 1023.98px) {
  .app-shell:has(.admin-sidebar) .mobile-bottom-nav { display: none; }
  .app-shell:has(.admin-sidebar) .app-shell__content { padding: var(--spacing-5) var(--spacing-6); }
}
.admin-sidebar { overflow-x: hidden; }

/* Çekmece açıkken sayfa kaymaz */
.admin-shell--drawer { overflow: hidden; }

/* Telefonda tablolar kart olur. Sütun başlıkları hücrelere admin-shell.js ile data-label olarak yazılır; aynı tablo
   işaretlemesi masaüstünde tablo, telefonda kart görünür (seçiciler ve testler değişmez). */
@media (max-width: 767.98px) {
  .admin-main .table-wrap:has(> .data-table--labelled) {
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .admin-main table.data-table--labelled,
  .admin-main table.data-table--labelled tbody { display: block; width: 100%; }
  .admin-main table.data-table--labelled thead { display: none; }
  .admin-main table.data-table--labelled tbody tr {
    display: block;
    margin: 0 0 var(--spacing-3);
    padding: var(--spacing-3) var(--spacing-4);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--bg-surface);
    box-shadow: var(--shadow-xs);
  }
  .admin-main table.data-table--labelled tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-3);
    min-height: 32px;
    padding: var(--spacing-1) 0;
    border: 0;
    text-align: right;
    white-space: normal;
    position: static;
    background: transparent;
    box-shadow: none;
  }
  .admin-main table.data-table--labelled tbody td::before {
    content: attr(data-label);
    flex-shrink: 0;
    max-width: 45%;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-weight: 600;
    text-align: left;
  }
  .admin-main table.data-table--labelled tbody td[data-label=""]::before { content: none; }
  .admin-main table.data-table--labelled tbody td:first-child {
    display: block;
    text-align: left;
    padding-bottom: var(--spacing-2);
    margin-bottom: var(--spacing-1);
    border-bottom: 1px solid var(--border-color);
  }
  .admin-main table.data-table--labelled tbody td:first-child::before { content: none; }
  .admin-main table.data-table--labelled tbody td[colspan] { display: block; text-align: left; }
  .admin-main table.data-table--labelled tbody td.hide-mobile { display: none; }
  /* İşlem hücresi kartın altında tam genişlik; düğmeler 44 px dokunma hedefi. */
  .admin-main table.data-table--labelled tbody td:has(> .row-actions) {
    justify-content: flex-end;
    padding-top: var(--spacing-2);
    margin-top: var(--spacing-1);
    border-top: 1px solid var(--border-color);
  }
  .admin-main table.data-table--labelled tbody td:has(> .row-actions)::before { content: none; }
  .admin-main table.data-table--labelled .row-actions { flex-wrap: wrap; justify-content: flex-end; gap: var(--spacing-1); }
  .admin-main table.data-table--labelled .btn-icon,
  .admin-main table.data-table--labelled .btn-sm { min-width: var(--min-touch-target); min-height: var(--min-touch-target); }
}

/* Süzgeç çubuğu (AdminFilterBar): masaüstünde satır içi, telefonda "Süzgeçler" düğmesiyle açılan alt sayfa. */
.afb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-2) var(--spacing-3);
}
.afb__main { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-2) var(--spacing-3); flex: 1 1 280px; min-width: 0; }
.afb__main > .search-box { flex: 1 1 240px; min-width: 0; }
.afb__panel { display: contents; }
.afb__filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-2) var(--spacing-3); }
.afb__toggle, .afb__sheet-head, .afb__sheet-foot, .afb__backdrop { display: none; }
.afb__meta { margin-left: auto; color: var(--text-muted); font-size: var(--font-size-xs); white-space: nowrap; }
.afb__toggle .badge-count { margin-left: var(--spacing-1); }

@media (max-width: 767.98px) {
  .afb__main { flex-basis: 100%; }
  .afb__toggle { display: inline-flex; min-height: var(--min-touch-target); }
  .afb__panel { display: none; }
  .afb__panel.is-open {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1150;
    max-height: 82dvh;
    overflow-y: auto;
    padding: var(--spacing-4) var(--spacing-4) calc(var(--spacing-4) + var(--safe-bottom));
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    background: var(--bg-surface);
    color: var(--text-main);
    box-shadow: var(--shadow-lg);
  }
  .afb__panel.is-open .afb__sheet-head { display: flex; align-items: center; justify-content: space-between; }
  .afb__panel.is-open .afb__sheet-foot { display: block; }
  .afb__panel.is-open .afb__filters { flex-direction: column; align-items: stretch; }
  .afb__panel.is-open .afb__filters > * { width: 100%; }
  .afb__panel.is-open .form-select,
  .afb__panel.is-open input { min-height: var(--min-touch-target); }
  .afb__backdrop { display: block; position: fixed; inset: 0; z-index: 1140; background: var(--bg-overlay); }
  .afb__meta { margin-left: 0; }
}
