/* ===========================================================================================================
   Yönetim paneli (ADR-027; görsel dil v2: ADR-044) — onaylı taslak: docs/tasarim/yonetim/yonetim-v2.html.
   Tek panel ve tek menü: koyu lacivert sol menü işin türüne göre gruplu (Bugün, Onaylar, Operasyon, Müşteri, Katalog, Finans,
   Kişiler, Sistem), gruplar katlanır, menü simge şeridine daralır; üstte konum çubuğu ("Operasyon › Siparişler"), genel arama
   (Ctrl+K), bölüm süzgeci (Tümü | Çarşı | Yemek | Usta), ortam etiketi (canlıda "Canlı"), tema, bildirim ve kullanıcı. Kurallar
   yalnızca .adm kabuğunun altında geçerlidir; uygulamanın diğer sayfalarına sızmaz. Renkler bu dosyadaki tek belirteç setinden
   gelir (taslağın :root değerleri); koyu tema [data-theme="dark"] ile değişir. Tek yazı ailesi (Inter), rakamlar eşit genişlikte.
   =========================================================================================================== */

.adm {
  --adm-rail: #0d1a2b; --adm-rail-2: #13243a; --adm-rail-ink: #e6ecf4; --adm-rail-mute: #8597ad; --adm-rail-line: rgba(255, 255, 255, .07);
  --adm-bg: #f2f4f7; --adm-surface: #ffffff; --adm-surface-2: #f8f9fb; --adm-line: #e3e7ed; --adm-line-2: #d4dae3;
  --adm-ink: #101b29; --adm-ink-2: #3d4a5b; --adm-mute: #6a7687;
  --adm-brand: #1b4f9c; --adm-brand-ink: #ffffff; --adm-brand-soft: #e9f0fa; --adm-accent: #f08a00;
  --adm-carsi: #dd8500; --adm-yemek: #d1461a; --adm-usta: #12865f;
  --adm-ok: #137a3f; --adm-ok-bg: #e9f6ee; --adm-late: #bf3a10; --adm-late-bg: #fdece6;
  /* Uyarı: --adm-warn çubuk ve simgede (taslak #d99a1e); yazıda koyu ton --adm-warn-ink (taslak --warn, açık zeminde 6:1). */
  --adm-warn: #d99a1e; --adm-warn-ink: #8f5c00; --adm-warn-bg: #fff4dc;
  /* Dolu tehlike düğmesi ve kırmızı rozet: beyaz yazıyla iki temada da okunur (koyu temanın --adm-late'i açık bir tondur). */
  --adm-danger: #bf3a10;
  --adm-focus: #1b4f9c;
  --adm-r-s: 8px; --adm-r-m: 10px; --adm-r-l: 12px;
  --adm-shadow: 0 1px 2px rgba(16, 27, 41, .06);
  --adm-font: "Inter", system-ui, sans-serif; --adm-display: var(--adm-font);
  --adm-rail-w: 248px; --adm-rail-w-min: 64px; --adm-top-h: 56px;

  display: grid;
  grid-template-columns: var(--adm-rail-w) minmax(0, 1fr);
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--adm-bg);
  color: var(--adm-ink);
  font-family: var(--adm-font);
  font-size: 14px;
  line-height: 1.5;
  font-feature-settings: "tnum" 1, "cv11" 1;
}
.adm.adm--rail-collapsed { grid-template-columns: var(--adm-rail-w-min) minmax(0, 1fr); }

[data-theme="dark"] .adm {
  --adm-rail: #0a1422; --adm-rail-2: #112033; --adm-rail-ink: #e6ecf4; --adm-rail-mute: #7f91a8;
  --adm-bg: #0c1522; --adm-surface: #121e2d; --adm-surface-2: #0f1a28; --adm-line: #1f2d40; --adm-line-2: #2a3b51;
  --adm-ink: #e7edf5; --adm-ink-2: #b4c0cf; --adm-mute: #8696aa;
  --adm-brand: #5d95e0; --adm-brand-ink: #0b1522; --adm-brand-soft: #17283f;
  --adm-ok: #46c27b; --adm-ok-bg: #12301f; --adm-late: #f2865c; --adm-late-bg: #3a1d12;
  --adm-warn: #e2ad48; --adm-warn-ink: #e2ad48; --adm-warn-bg: #33270f;
  --adm-danger: #c2410c; --adm-focus: #5d95e0;
  --adm-shadow: none;
}

.adm :focus-visible { outline: 2px solid var(--adm-focus); outline-offset: 2px; }
.adm .adm-rail :focus-visible { outline-color: var(--adm-accent); }
.adm .num, .adm-num { font-variant-numeric: tabular-nums; }
.adm [hidden] { display: none !important; }

/* ------------------------------------------------------------------ Sol menü */
.adm-rail {
  position: sticky; top: 0; height: 100vh; height: 100dvh; min-width: 0;
  display: flex; flex-direction: column;
  background: var(--adm-rail); color: var(--adm-rail-ink);
  z-index: 30;
}
.adm-rail__head { display: flex; align-items: center; gap: 8px; height: var(--adm-top-h); padding: 0 12px 0 16px; border-bottom: 1px solid var(--adm-rail-line); flex-shrink: 0; }
.adm-rail__brand { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: inherit; text-decoration: none; }
/* Yazı logosu (OP #48): koyu rayda açık sürüm; altında "Yönetim". */
.adm-rail__logo { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adm-rail__brand .brand-logo__word { height: 19px; max-width: 100%; }
.adm-rail__brand small { display: block; font-size: 11px; color: var(--adm-rail-mute); font-weight: 500; }
.adm-rail__close { display: none; }
.adm-rail__scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 10px 8px; scrollbar-width: thin; scrollbar-color: #24405f transparent; }
.adm-rail__group { margin-bottom: 6px; }
/* Grup başlığı katlanır: taslaktaki gibi sönük, sağda ok. */
.adm-rail__title {
  display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 8px 10px 4px;
  border: 0; border-radius: 6px; background: none; color: var(--adm-rail-mute); cursor: pointer;
  font: inherit; font-size: 12px; font-weight: 600; text-align: left;
}
.adm-rail__title:hover { color: var(--adm-rail-ink); }
.adm-rail__title .icon { width: 14px; height: 14px; opacity: .6; transition: transform .15s ease; }
.adm-rail__title[aria-expanded="false"] .icon { transform: rotate(-90deg); }
.adm-rail__items.is-closed { display: none; }
.adm-rail__item {
  position: relative; display: flex; align-items: center; gap: 10px; width: 100%; height: 34px; padding: 0 10px;
  border: 0; border-radius: 7px; background: transparent; color: var(--adm-rail-ink); opacity: .86;
  text-align: left; text-decoration: none; cursor: pointer; font-size: 13.5px; line-height: 1.3;
}
.adm-rail__item:hover { background: var(--adm-rail-2); color: var(--adm-rail-ink); opacity: 1; }
.adm-rail__item.active, .adm-rail__item[aria-current="page"] { background: var(--adm-rail-2); opacity: 1; font-weight: 600; }
.adm-rail__item.active::before { content: ""; position: absolute; left: -8px; top: 7px; bottom: 7px; width: 3px; border-radius: 0 3px 3px 0; background: var(--adm-accent); }
.adm-rail__item .icon { width: 18px; height: 18px; flex-shrink: 0; opacity: .8; }
.adm-rail__item .lbl { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Sayılar gri; yalnızca süresi geçen iş varsa kırmızı. */
.adm-cnt {
  display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: rgba(255, 255, 255, .1); color: var(--adm-rail-ink); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.adm-cnt--late { background: #c2410c; color: #fff; }
.adm-rail__foot { display: flex; align-items: center; gap: 6px; padding: 10px 10px 10px 12px; border-top: 1px solid var(--adm-rail-line); flex-shrink: 0; }
.adm-rail__me { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 4px; border-radius: 8px; color: inherit; text-decoration: none; }
.adm-rail__me:hover { background: var(--adm-rail-2); color: inherit; }
.adm-rail__who { min-width: 0; }
.adm-rail__me b { display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-rail__me small { display: block; color: var(--adm-rail-mute); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-rail__collapse {
  display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; padding: 0;
  border: 0; border-radius: 6px; background: none; color: var(--adm-rail-mute); cursor: pointer;
}
.adm-rail__collapse:hover { background: var(--adm-rail-2); color: var(--adm-rail-ink); }
.adm-rail__collapse .icon { width: 16px; height: 16px; }

/* Simge şeridi (menü daraltılmış, yalnızca masaüstünde): adlar ekran okuyucuya kalır, ipucunda yazar; gruplar ince çizgiyle
   ayrılır ve hepsi görünür; bekleyen iş sayısı simgenin köşesinde nokta olur. */
@media (min-width: 901px) {
  .adm--rail-collapsed .adm-rail__head { justify-content: center; padding: 0; }
  .adm--rail-collapsed .adm-rail__brand { flex: 0 0 auto; justify-content: center; }
  .adm--rail-collapsed .adm-rail__brand small, .adm--rail-collapsed .adm-rail__brand .brand-logo__word { display: none; }
  .adm--rail-collapsed .adm-rail__brand .brand-logo__mark { display: block; width: 30px; height: 30px; }
  .adm--rail-collapsed .adm-rail__scroll { padding: 8px; scrollbar-width: none; }
  .adm--rail-collapsed .adm-rail__title { display: none; }
  .adm--rail-collapsed .adm-rail__group + .adm-rail__group { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--adm-rail-line); }
  .adm--rail-collapsed .adm-rail__items.is-closed { display: block; }
  .adm--rail-collapsed .adm-rail__item { justify-content: center; padding: 0; }
  .adm--rail-collapsed .adm-rail__item .lbl, .adm--rail-collapsed .adm-rail__who {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
  }
  .adm--rail-collapsed .adm-rail__item .adm-cnt { position: absolute; top: 5px; right: 9px; min-width: 0; width: 8px; height: 8px; padding: 0; font-size: 0; background: var(--adm-rail-mute); }
  .adm--rail-collapsed .adm-rail__item .adm-cnt--late { background: #f2865c; }
  .adm--rail-collapsed .adm-rail__foot { flex-direction: column; padding: 10px 0; }
  .adm--rail-collapsed .adm-rail__me { flex: 0 0 auto; }
}

/* Bölüm noktaları (AdminSectionDots): kuyruk satırında, bölüm süzgecinde ve listelerde (menüde v2'de çizilmez). */
.adm-dots { display: inline-flex; gap: 3px; flex-shrink: 0; }
.adm-dots i { width: 6px; height: 6px; border-radius: 50%; display: block; }
.adm-dots--lg i { width: 8px; height: 8px; }
.adm-d-carsi { background: var(--adm-carsi); }
.adm-d-yemek { background: var(--adm-yemek); }
.adm-d-usta { background: var(--adm-usta); }

/* Avatar */
.adm-avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #27466f; color: #fff; font-size: 11.5px; font-weight: 700; flex-shrink: 0; }
.adm-avatar--sm { width: 24px; height: 24px; font-size: 10px; }
.adm-avatar--lg { width: 40px; height: 40px; font-size: 14px; }

/* ------------------------------------------------------------------ Üst çubuk: konum, arama, bölüm, ortam */
.adm-main { min-width: 0; display: flex; flex-direction: column; }
.adm-top {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; gap: 12px; height: var(--adm-top-h); padding: 0 24px;
  background: var(--adm-surface); border-bottom: 1px solid var(--adm-line);
}
.adm-top .adm-top__menu { display: none; }
.adm-crumb { display: flex; align-items: center; gap: 6px; min-width: 0; flex-shrink: 1; font-size: 13px; color: var(--adm-mute); white-space: nowrap; }
.adm-crumb__group { flex-shrink: 0; }
.adm-crumb b { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--adm-ink); font-weight: 600; }
.adm-search {
  display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; max-width: 460px; height: 34px; margin-left: auto; padding: 0 10px;
  border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); background: var(--adm-surface-2); color: var(--adm-mute);
  cursor: text; font: inherit; font-size: 13px; text-align: left;
}
.adm-search:hover { border-color: var(--adm-mute); }
.adm-search .icon { width: 16px; height: 16px; flex-shrink: 0; }
.adm-search__ph { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Bootstrap'in <kbd> koyu zemini ezilir: önceden koyu zemin üstünde gri yazı okunmuyordu (2026-10-19). */
.adm-kbd { display: inline-block; min-width: 22px; padding: 0 5px; border: 1px solid var(--adm-line-2); border-radius: 5px;
  background: var(--adm-surface); box-shadow: none; font-size: 11px; font-weight: 600; line-height: 1.6; text-align: center; color: var(--adm-ink-2); font-family: inherit; white-space: nowrap; }
/* Bölüm süzgeci: bitişik düğme grubu, seçili olan açık mavi. Nokta + ad (renk tek başına bilgi taşımaz). */
.adm-sec { display: inline-flex; flex-shrink: 0; border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); overflow: hidden; background: var(--adm-surface); }
.adm-sec button {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px;
  border: 0; border-left: 1px solid var(--adm-line); background: transparent; cursor: pointer;
  font: inherit; font-size: 13px; font-weight: 500; color: var(--adm-ink-2); white-space: nowrap;
}
.adm-sec button:first-child { border-left: 0; }
.adm-sec button[aria-pressed="true"] { background: var(--adm-brand-soft); color: var(--adm-brand); font-weight: 600; }
.adm-sec i { width: 7px; height: 7px; border-radius: 50%; display: block; flex-shrink: 0; }
/* Ortam etiketi: canlıda yeşil, noktası hafifçe atan "Canlı" (ürün sahibi 2026-10-30: kırmızı hata gibi okunuyordu); deneme
   sunucusu turuncu "Test", yerel gri "Yerel". */
.adm-env {
  display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; height: 26px; padding: 0 10px; border-radius: 999px;
  border: 1px solid var(--adm-line); background: var(--adm-surface-2); color: var(--adm-ink-2);
  font-size: 12px; font-weight: 600; white-space: nowrap;
}
.adm-env::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.adm-env--canli { background: var(--adm-ok-bg); border-color: transparent; color: var(--adm-ok); }
.adm-env--canli::before { box-shadow: 0 0 0 0 color-mix(in srgb, var(--adm-ok) 55%, transparent); animation: adm-env-live 2.4s ease-out infinite; }
@keyframes adm-env-live { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--adm-ok) 55%, transparent); } 70%, 100% { box-shadow: 0 0 0 6px transparent; } }
@media (prefers-reduced-motion: reduce) { .adm-env--canli::before { animation: none; } }
.adm-env--test { background: var(--adm-warn-bg); border-color: transparent; color: var(--adm-warn-ink); }
.adm-env--yerel { background: var(--adm-surface-2); border-color: var(--adm-line); color: var(--adm-ink-2); }
.adm-top__actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.adm-icon-btn {
  position: relative; display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0;
  border: 1px solid var(--adm-line); border-radius: var(--adm-r-s); background: var(--adm-surface); color: var(--adm-ink); cursor: pointer;
}
.adm-icon-btn .icon { width: 18px; height: 18px; }
/* Üst çubukta ve sağ panel başlığında simge düğmeleri çerçevesiz (taslak); üzerine gelince belirir. */
.adm-top .adm-icon-btn, .adm-drawer__head .adm-icon-btn { border-color: transparent; background: transparent; color: var(--adm-ink-2); }
.adm-top .adm-icon-btn:hover, .adm-drawer__head .adm-icon-btn:hover { background: var(--adm-surface-2); border-color: var(--adm-line); }
/* Dokunmatikte en az 44 px; dar üst çubukta büzülmez (telefon taraması 2026-10-17: menü düğmesi 17 px'e iniyordu). */
@media (pointer: coarse) { .adm-icon-btn { width: 44px; height: 44px; } }
.adm-top .btn-icon { color: var(--adm-ink-2); }
.adm-top .avatar { background: #27466f; color: #fff; }

/* ------------------------------------------------------------------ Sayfa */
.adm-page { padding: 20px 24px 32px; width: 100%; max-width: 1760px; flex: 1; }
/* Sakin başlık: 21 px, açıklama sönük ve kısa, eylemler sağda. */
.adm-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; margin-bottom: 16px; }
.adm-page-head h1 { margin: 0; font-family: var(--adm-font); font-size: 21px; font-weight: 650; letter-spacing: -.01em; line-height: 1.3; color: var(--adm-ink); }
.adm-page-head p { margin: 2px 0 0; color: var(--adm-mute); font-size: 13.5px; max-width: 80ch; }
.adm-page-head p strong { color: var(--adm-late); }
.adm-legend { display: flex; flex-wrap: wrap; gap: 14px; color: var(--adm-mute); font-size: 12.5px; }
.adm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.adm-legend i { width: 8px; height: 8px; border-radius: 50%; display: block; }
.adm-main__loading { display: grid; gap: 16px; }

/* Düğmeler (taslak) */
.adm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 12px;
  border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); background: var(--adm-surface); color: var(--adm-ink);
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; text-decoration: none;
}
.adm-btn:hover { background: var(--adm-surface-2); color: var(--adm-ink); }
.adm-btn:disabled { opacity: .55; cursor: not-allowed; }
.adm-btn .icon { width: 16px; height: 16px; }
.adm-btn--pri { background: var(--adm-brand); border-color: var(--adm-brand); color: var(--adm-brand-ink); }
.adm-btn--pri:hover { background: var(--adm-brand); color: var(--adm-brand-ink); filter: brightness(1.08); }
.adm-btn--ok { background: var(--adm-ok); border-color: var(--adm-ok); color: #fff; }
.adm-btn--ok:hover { background: var(--adm-ok); color: #fff; filter: brightness(1.05); }
[data-theme="dark"] .adm-btn--ok, [data-theme="dark"] .adm-btn--ok:hover { color: #0b1522; }
.adm-btn--danger { color: var(--adm-late); }
.adm-btn--ghost { border-color: transparent; background: transparent; }
.adm-btn--sm { height: 28px; padding: 0 10px; font-size: 12.5px; }

/* Panel ve çipler */
.adm-panel { background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-l); box-shadow: var(--adm-shadow); min-width: 0; overflow: hidden; }
.adm-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; padding: 12px 16px; border-bottom: 1px solid var(--adm-line); }
.adm-panel__head h2 { margin: 0; font-size: 14px; font-weight: 650; color: var(--adm-ink); }
.adm-panel__head p { margin: 2px 0 0; color: var(--adm-mute); font-size: 12.5px; }
.adm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
/* Süzgeç çipi: seçilmemiş kesik çizgili, seçili dolu (taslak). En küçük genişlik: "İl" gibi kısa seçenekler daire gibi küçük
   kalmasın (pencere denetimi 2026-10-22). */
.adm-chip {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 28px; min-width: 44px; padding: 0 10px;
  border: 1px dashed var(--adm-line-2); border-radius: 999px; background: transparent;
  font: inherit; font-size: 12.5px; font-weight: 500; color: var(--adm-ink-2); cursor: pointer; white-space: nowrap;
}
.adm-chip:hover { border-color: var(--adm-mute); }
.adm-chip[aria-pressed="true"] { border-style: solid; border-color: transparent; background: var(--adm-brand-soft); color: var(--adm-brand); font-weight: 600; }
.adm-chip b { font-weight: 700; font-variant-numeric: tabular-nums; }
/* Durum etiketi: tek etikette, köşeli (taslaktaki .pill). */
.adm-tag {
  display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 6px;
  font-size: 12px; font-weight: 600; line-height: 1; background: var(--adm-surface-2); border: 1px solid var(--adm-line); color: var(--adm-ink-2); white-space: nowrap;
}
.adm-tag--ok { background: var(--adm-ok-bg); border-color: transparent; color: var(--adm-ok); }
.adm-tag--warn { background: var(--adm-warn-bg); border-color: transparent; color: var(--adm-warn-ink); }
.adm-tag--late { background: var(--adm-late-bg); border-color: transparent; color: var(--adm-late); }
/* Gecikme ayrı etiket yerine satır içinde kırmızı not (taslak). */
.adm-late-note { display: block; margin-top: 2px; color: var(--adm-late); font-size: 12px; font-weight: 600; white-space: nowrap; }

/* ------------------------------------------------------------------ Sekmeler (AdminTabs, kayıtlı görünümler)
   "Tümü 132 · Süren 5 · Geciken 5" sekme çizgisinde durur: seçili sekmenin altı marka renginde çizgili, sayısı sönük. Düğmeler
   süzgeç seçimidir (aria-pressed); sağ paneldeki gerçek sekmeler role="tab" taşır. Dar ekranda yana kayar. */
.adm-tabs {
  display: flex; gap: 2px; padding: 0 12px; border-bottom: 1px solid var(--adm-line);
  overflow-x: auto; scrollbar-width: none;
}
.adm-tabs::-webkit-scrollbar { display: none; }
.adm-tabs button {
  display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 10px 10px 9px;
  border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; cursor: pointer;
  font: inherit; font-size: 13px; font-weight: 500; color: var(--adm-ink-2); white-space: nowrap;
}
.adm-tabs button:hover { color: var(--adm-ink); }
.adm-tabs button[aria-pressed="true"], .adm-tabs button[aria-selected="true"] { color: var(--adm-ink); font-weight: 600; border-bottom-color: var(--adm-brand); }
.adm-tabs .n { font-size: 12px; font-weight: 500; color: var(--adm-mute); font-variant-numeric: tabular-nums; }
.adm-tabs button[aria-pressed="true"] .n, .adm-tabs button[aria-selected="true"] .n { color: var(--adm-brand); }
.adm-tabs--late .n { color: var(--adm-late); }

/* ------------------------------------------------------------------ Ölçü şeridi (adm-kpis)
   Ayrı kartlar yerine tek kutuda yan yana hücreler; satır kırınca da hücreler ince çizgiyle ayrılır (çizgi hücrenin gölgesidir,
   kutunun dışına taşan kısmı kırpılır; boş kalan son hücreler zemin rengindedir). */
.adm-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0;
  background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-l); box-shadow: var(--adm-shadow); overflow: hidden;
}
.adm-kpis > * { min-width: 0; padding: 12px 16px; box-shadow: 1px 0 0 var(--adm-line), 0 1px 0 var(--adm-line); }
.adm-kpis small { display: flex; align-items: center; gap: 6px; color: var(--adm-mute); font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-kpis b { display: block; margin-top: 2px; font-size: 20px; font-weight: 650; letter-spacing: -.01em; line-height: 1.3; font-variant-numeric: tabular-nums; color: var(--adm-ink); overflow-wrap: anywhere; }
.adm-kpis em, .adm-kpis .delta { display: block; font-style: normal; font-size: 12px; font-weight: 500; color: var(--adm-ok); overflow-wrap: anywhere; }
.adm-kpis em.down { color: var(--adm-late); }
.adm-kpis em.flat, .adm-kpis .delta { color: var(--adm-mute); }
.adm-kpis-cap { margin: 0 0 6px; color: var(--adm-mute); font-size: 12px; font-weight: 600; }

/* ------------------------------------------------------------------ Kuyruk tablosu (Masam ve listeler)
   Sıkı tablo: satır 46 px, başlık satırı sönük; tutarlar sağa yaslı (adm-q__num). */
.adm-q { width: 100%; border-collapse: collapse; font-size: 13px; }
.adm-q-wrap { overflow-x: auto; }
/* İlk sütun kalan genişliği alır ve taşan metni üç noktayla keser; diğer sütunlar içeriği kadar. */
.adm-q td.adm-q__main { width: 100%; max-width: 0; }
.adm-q td.adm-q__nowrap, .adm-q th.adm-q__nowrap { white-space: nowrap; width: 1%; }
.adm-q th { padding: 8px 12px; font-size: 12px; font-weight: 600; color: var(--adm-mute); text-align: left; white-space: nowrap; border-bottom: 1px solid var(--adm-line); background: var(--adm-surface-2); }
.adm-q td { height: 46px; padding: 6px 12px; border-bottom: 1px solid var(--adm-line); vertical-align: middle; color: var(--adm-ink); }
.adm-q tbody tr:last-child td { border-bottom: 0; }
.adm-q tbody tr { cursor: pointer; }
.adm-q tbody tr:hover td { background: var(--adm-surface-2); }
.adm-q tbody tr[aria-selected="true"] td { background: var(--adm-brand-soft); }
.adm-q tbody tr[aria-selected="true"] td:first-child { box-shadow: inset 3px 0 0 var(--adm-brand); }
.adm-kind { display: flex; align-items: center; gap: 12px; min-width: 0; }
.adm-kind > div { min-width: 0; }
.adm-kind__ic {
  position: relative; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px;
  background: var(--adm-surface-2); border: 1px solid var(--adm-line); flex-shrink: 0; color: var(--adm-ink-2);
}
.adm-kind__ic .icon { width: 16px; height: 16px; }
.adm-kind__ic::after { content: ""; position: absolute; right: -2px; bottom: -2px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--adm-surface); background: var(--adm-sc, var(--adm-brand)); }
.adm-kind__ic--carsi { --adm-sc: var(--adm-carsi); }
.adm-kind__ic--yemek { --adm-sc: var(--adm-yemek); }
.adm-kind__ic--usta { --adm-sc: var(--adm-usta); }
.adm-kind > div { flex: 1; }
.adm-kind b { display: block; font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70ch; }
.adm-kind small { display: block; color: var(--adm-mute); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90ch; }
.adm-kind .adm-tag { flex-shrink: 0; }

/* Kalan süre çubuğu (AdminSlaBar): Masam'ın akılda kalan tek öğesi. */
.adm-sla { display: grid; gap: 4px; min-width: 150px; }
.adm-sla span { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--adm-ink-2); }
.adm-sla i { display: block; height: 6px; border-radius: 99px; background: var(--adm-line); overflow: hidden; }
.adm-sla i::before { content: ""; display: block; height: 100%; width: var(--p, 0%); border-radius: inherit; background: var(--adm-ok); }
.adm-sla--warn span { color: var(--adm-warn-ink); }
.adm-sla--warn i::before { background: var(--adm-warn); }
.adm-sla--late span { color: var(--adm-late); }
.adm-sla--late i::before { background: var(--adm-late); width: 100%; }

.adm-who { display: flex; align-items: center; gap: 8px; color: var(--adm-ink-2); font-size: 12.5px; white-space: nowrap; }
.adm-who--none { color: var(--adm-mute); }
.adm-row-act { display: flex; gap: 6px; justify-content: flex-end; }
.adm-pager { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 12px; color: var(--adm-mute); font-size: 12.5px; border-top: 1px solid var(--adm-line); }
.adm-empty { padding: 40px 16px; text-align: center; color: var(--adm-mute); }
.adm-empty b { display: block; color: var(--adm-ink); font-size: 14px; margin-bottom: 4px; }

/* ------------------------------------------------------------------ Masam
   Üstte günün ölçü şeridi; altında tam genişlikte sekmeli kuyruk ve sağda sistem ile ekip. */
.adm-desk-wrap { display: grid; gap: 16px; }
.adm-desk { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.adm-side { display: grid; gap: 16px; align-content: start; min-width: 0; }
.adm-today { display: grid; grid-template-columns: 1fr 1fr; }
.adm-today > div { padding: 12px 16px; border-bottom: 1px solid var(--adm-line); min-width: 0; }
.adm-today > div:nth-child(odd) { border-right: 1px solid var(--adm-line); }
.adm-today > div:nth-last-child(-n+2) { border-bottom: 0; }
.adm-today small { display: flex; align-items: center; gap: 6px; color: var(--adm-mute); font-size: 12px; }
.adm-today b { display: block; margin-top: 2px; font-size: 20px; font-weight: 650; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--adm-ink); overflow-wrap: anywhere; }
/* Sağ paneldeki kutular dar: "Doğrulanmadı" gibi değerler telefonda kutudan taşıyordu (pencere denetimi 2026-10-22). */
.adm-drawer .adm-today b { font-size: 17px; }
.adm-today em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--adm-ok); }
.adm-today em.down { color: var(--adm-late); }
.adm-today em.flat { color: var(--adm-mute); }
.adm-health { margin: 0; padding: 4px 16px; list-style: none; }
.adm-health li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--adm-line); font-size: 13px; color: var(--adm-ink); }
.adm-health li:last-child { border-bottom: 0; }
.adm-health .st { width: 7px; height: 7px; border-radius: 50%; background: var(--adm-ok); flex-shrink: 0; }
.adm-health .st--warn { background: var(--adm-warn); }
.adm-health .st--fail { background: var(--adm-late); }
.adm-health li > span:last-child { margin-left: auto; color: var(--adm-mute); font-size: 12.5px; text-align: right; }
.adm-team { margin: 0; padding: 8px 16px 12px; list-style: none; display: grid; gap: 10px; }
.adm-team li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--adm-ink); }
.adm-team small { color: var(--adm-mute); }
.adm-team b { margin-left: auto; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.adm-team__more { width: calc(100% - 32px); margin: 0 16px 12px; justify-content: center; color: var(--adm-brand); font-weight: 600; }
/* Ekip yükü: kişinin açık işi en kalabalık kişiye göre çubukla. */
.adm-team__bar { flex-basis: 100%; height: 4px; margin: -4px 0 0 34px; border-radius: 99px; background: var(--adm-line); overflow: hidden; }
.adm-team__bar i { display: block; height: 100%; border-radius: inherit; background: var(--adm-brand); }
.adm-team li { flex-wrap: wrap; }

/* Telefon kartları (Masam satırları kart olur) */
.adm-cards { display: none; }
.adm-card { padding: 12px; border: 1px solid var(--adm-line); border-radius: 10px; background: var(--adm-surface); display: grid; gap: 8px; }
.adm-card .adm-kind b, .adm-card .adm-kind small { max-width: 100%; }
.adm-card__row { display: flex; align-items: center; gap: 8px; }
.adm-card__row .adm-btn { flex: 1; height: 40px; }

/* ------------------------------------------------------------------ Onay pencereleri (CustomDialog) yönetim içinde
   Sitenin penceresi saydam "Vazgeç" ve yuvarlak onay düğmesi kullanıyor; yönetimde vazgeç düğmesi düz yazı gibi görünüyor, düğmeler
   panelin köşeli düğmeleriyle uyuşmuyordu (pencere denetimi 2026-10-22). Yönetim kabuğunda panel düğme diline çevrilir. */
.adm .modal-content { border-radius: var(--adm-r-l); font-family: var(--adm-font); color: var(--adm-ink); background: var(--adm-surface); }
.adm .modal-title { font-size: 16px; font-weight: 650; letter-spacing: -.01em; }
.adm .modal-body { font-size: 13.5px; color: var(--adm-ink-2); overflow-wrap: anywhere; }
.adm .modal-footer { gap: 8px; }
.adm .modal-footer .btn { border-radius: var(--adm-r-s); min-height: 34px; padding: 0 14px; font-size: 13px; font-weight: 600; box-shadow: none; }
.adm .modal-footer .btn-light { background: var(--adm-surface); border: 1px solid var(--adm-line-2); color: var(--adm-ink); }
.adm .modal-footer .btn-light:hover { background: var(--adm-surface-2); }
.adm .modal-footer .btn-danger { background: var(--adm-danger); border-color: var(--adm-danger); color: #fff; }
.adm .modal-footer .btn-primary { background: var(--adm-brand); border-color: var(--adm-brand); color: var(--adm-brand-ink); }
@media (max-width: 600px) { .adm .modal-footer .btn { flex: 1; min-height: 44px; } }

/* ------------------------------------------------------------------ Sağ ayrıntı paneli (AdminDrawer)
   Başlık (kayıt adı, durum, kısa satır), isteğe bağlı sekmeler (Özet, Geçmiş…), kaydırılan gövde, altta sabit eylemler. */
.adm-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1060; width: min(560px, 100vw);
  display: flex; flex-direction: column; background: var(--adm-surface); color: var(--adm-ink);
  border-left: 1px solid var(--adm-line); box-shadow: -24px 0 48px -32px rgba(11, 31, 56, .45);
  animation: adm-drawer-in .24s cubic-bezier(.16, 1, .3, 1);
}
.adm-drawer--wide { width: min(720px, 100vw); }
.adm-drawer__head { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--adm-line); }
/* Boşluksuz uzun başlık (ör. kullanıcı girdisi) panelin dışına taşıyordu; satıra bölünür (pencere denetimi 2026-10-22). */
.adm-drawer__head h2 { margin: 0; font-size: 16px; font-weight: 650; letter-spacing: -.01em; color: var(--adm-ink); overflow-wrap: anywhere; }
.adm-drawer__head p { margin: 2px 0 0; color: var(--adm-mute); font-size: 12.5px; overflow-wrap: anywhere; }
.adm-drawer__title { flex: 1; min-width: 0; }
.adm-drawer > .adm-tabs { padding: 0 8px; flex-shrink: 0; }
/* Gövde sütun düzenidir (ızgara değil): yüksekliği sınırlı kapta ızgara satırları taşan tabloyu ezebiliyordu. */
.adm-drawer__body { flex: 1; min-height: 0; overflow-y: auto; padding: 14px 16px; display: flex; flex-direction: column; gap: 16px; }
.adm-drawer__body > * { flex-shrink: 0; min-width: 0; }
.adm-drawer__foot { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--adm-line); background: var(--adm-surface-2); }
.adm-drawer__foot .grow { flex: 1; }
.adm-tabpanel { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.adm-scrim { position: fixed; inset: 0; z-index: 1055; background: rgba(11, 31, 56, .25); animation: adm-fade-in .2s; }
/* Geniş ekranda panel listenin yanında durur (taslaktaki "liste + sağ panel"): üst çubuğun altından başlar, liste panel kadar
   daralır ve görünür kalır; örtü saydamdır ve tıklamayı geçirir, başka satıra tek tıkla geçilir (önceden ilk tık örtüye gidip
   paneli kapatıyordu; yönetim denetimi 2026-10-22). Kapatma: X ya da Esc. Panel açıkken listede "adm-hide-docked" sütunları
   gizlenir (bilgi panelde). */
@media (min-width: 1700px) {
  .adm-scrim { background: transparent; pointer-events: none; }
  .adm-drawer { top: var(--adm-top-h); box-shadow: none; animation: adm-fade-in .15s; }
  .adm-page:has(.adm-drawer) { padding-right: calc(min(560px, 100vw) + 24px); }
  .adm-page:has(.adm-drawer--wide) { padding-right: calc(min(720px, 100vw) + 24px); }
  .adm-page:has(.adm-drawer) .adm-hide-docked { display: none; }
  /* Panel açıkken yan sütunlu düzenler tek sütuna iner (yan sütun listenin altına): liste panelin yanında okunur kalır. */
  .adm-page:has(.adm-drawer) .adm-desk, .adm-page:has(.adm-drawer) .adm-split, .adm-page:has(.adm-drawer) .adm-yu-split { grid-template-columns: minmax(0, 1fr); }
}
@keyframes adm-drawer-in { from { transform: translateX(102%); } to { transform: none; } }
@keyframes adm-fade-in { from { opacity: 0; } to { opacity: 1; } }

.adm-facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0; font-size: 13px; }
.adm-facts dt { color: var(--adm-mute); font-weight: 500; }
.adm-facts dd { margin: 0; font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.adm-diff-wrap { border: 1px solid var(--adm-line); border-radius: var(--adm-r-s); overflow-x: auto; }
.adm-diff { width: 100%; border-collapse: collapse; font-size: 13px; }
.adm-diff th, .adm-diff td { padding: 8px 12px; border-bottom: 1px solid var(--adm-line); text-align: left; vertical-align: top; }
.adm-diff tr:last-child td { border-bottom: 0; }
.adm-diff th { background: var(--adm-surface-2); font-size: 12px; color: var(--adm-mute); font-weight: 600; }
.adm-diff td.old { color: var(--adm-mute); text-decoration: line-through; }
.adm-diff td.new { font-weight: 600; }
.adm-diff td.up { color: var(--adm-late); font-weight: 600; }
.adm-diff td.dn { color: var(--adm-ok); font-weight: 600; }
.adm-note { padding: 10px 12px; border-radius: var(--adm-r-s); background: var(--adm-warn-bg); color: var(--adm-ink); font-size: 13px; }
.adm-field label { display: block; margin-bottom: 4px; font-size: 12.5px; font-weight: 600; color: var(--adm-ink-2); }
.adm-field textarea, .adm-field select, .adm-field input {
  width: 100%; padding: 7px 10px; border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); background: var(--adm-surface); color: var(--adm-ink); font: inherit;
}
.adm-field select, .adm-field input { min-height: 34px; }
.adm-field small { display: block; margin-top: 4px; color: var(--adm-mute); font-size: 12px; }
/* Zaman çizelgesi: solda saat ve noktalı çizgi (taslaktaki sipariş durumu). */
.adm-timeline { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; font-size: 13px; }
.adm-timeline li { display: grid; grid-template-columns: 84px 1fr; gap: 10px; color: var(--adm-ink-2); }
.adm-timeline time { color: var(--adm-mute); font-variant-numeric: tabular-nums; }
.adm-steps { margin: 0; padding: 0; list-style: none; display: grid; font-size: 13px; }
.adm-steps li { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 10px; padding-bottom: 10px; color: var(--adm-ink); }
.adm-steps li::before { content: ""; position: absolute; left: 6px; top: 14px; bottom: -2px; width: 2px; background: var(--adm-line); }
.adm-steps li:last-child { padding-bottom: 0; }
.adm-steps li:last-child::before { display: none; }
.adm-steps__dot { position: relative; z-index: 1; width: 14px; height: 14px; margin-top: 2px; border-radius: 50%; border: 2px solid var(--adm-brand); background: var(--adm-surface); }
.adm-steps__dot.is-done { background: var(--adm-brand); }
.adm-steps__dot.is-late { border-color: var(--adm-late); }
.adm-steps li small { display: block; color: var(--adm-mute); font-size: 12px; overflow-wrap: anywhere; }
.adm-steps time { color: var(--adm-mute); font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Kurye kartı (sipariş panelinin Özet sekmesi). */
.adm-person { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--adm-line); border-radius: var(--adm-r-s); }
.adm-person > div { flex: 1; min-width: 0; }
.adm-person b { display: block; font-size: 13px; }
.adm-person small { display: block; color: var(--adm-mute); font-size: 12px; overflow-wrap: anywhere; }
.adm-person .adm-tag { flex-shrink: 0; }
.adm-section-title { margin: 0 0 8px; font-weight: 600; font-size: 12px; color: var(--adm-mute); }
.adm-msg { padding: 10px 12px; border-radius: var(--adm-r-s); background: var(--adm-surface-2); border: 1px solid var(--adm-line); font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.adm-msg--staff { background: var(--adm-brand-soft); }
.adm-msg header { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; font-size: 12px; color: var(--adm-mute); }

/* ------------------------------------------------------------------ Liste araç çubuğu (AdminListToolbar)
   Kayıtlı görünümler sekme çizgisinde; altında tek satırlık süzgeç satırı (arama, süzgeçler, eylemler). Telefonda süzgeçler
   "Süzgeçler" düğmesinin arkasına iner, içerikten önce ekranı kaplamaz. */
.adm-toolbar { border-bottom: 1px solid var(--adm-line); }
.adm-toolbar__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 12px; }
.adm-toolbar__filters { display: contents; }
.adm-toolbar__toggle { display: none; }
.adm-toolbar__actions { margin-left: auto; }
.adm-views { display: flex; gap: 2px; padding: 0 12px; border-bottom: 1px solid var(--adm-line); overflow-x: auto; scrollbar-width: none; }
.adm-views::-webkit-scrollbar { display: none; }
.adm-toolbar > .adm-views:last-child { border-bottom: 0; }
.adm-views button {
  display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 10px 10px 9px;
  border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; cursor: pointer;
  font: inherit; font-size: 13px; font-weight: 500; color: var(--adm-ink-2); white-space: nowrap;
}
.adm-views button:hover { color: var(--adm-ink); }
.adm-views button[aria-pressed="true"] { color: var(--adm-ink); font-weight: 600; border-bottom-color: var(--adm-brand); }
.adm-toolbar__search {
  display: flex; align-items: center; gap: 6px; width: min(320px, 100%); min-width: 0; height: 30px; padding: 0 10px;
  border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); background: var(--adm-surface); color: var(--adm-mute);
}
.adm-toolbar__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--adm-ink); font: inherit; font-size: 13px; }
.adm-toolbar__search .icon { width: 15px; height: 15px; }
.adm-toolbar__search:focus-within { border-color: var(--adm-brand); }
/* "Tümünü seç" yalnız telefonda (900 px altı tablo başlığındaki "hepsini seç" kutusu gizlenir). */
.adm-bulk .adm-bulk__all { display: none; }
@media (max-width: 900px) { .adm-bulk .adm-bulk__all { display: inline-flex; } }
.adm-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 16px; background: var(--adm-brand-soft); border-bottom: 1px solid var(--adm-line); font-size: 13px; font-weight: 600; }

/* ------------------------------------------------------------------ Roller ve personel */
.adm-roles { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.adm-role-list { margin: 0; padding: 8px; list-style: none; display: grid; gap: 4px; }
.adm-role-list button { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; width: 100%; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; text-align: left; cursor: pointer; font: inherit; color: var(--adm-ink); }
.adm-role-list button:hover { background: var(--adm-surface-2); }
.adm-role-list button[aria-pressed="true"] { border-color: var(--adm-line-2); background: var(--adm-surface-2); }
.adm-role-list b { font-weight: 700; }
.adm-role-list small { grid-column: 1 / -1; color: var(--adm-mute); font-size: 12.5px; }
.adm-role-list .adm-tag { align-self: center; }
.adm-perm-group { border-top: 1px solid var(--adm-line); }
.adm-perm-group summary { display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; font-weight: 700; list-style: none; color: var(--adm-ink); }
.adm-perm-group summary::-webkit-details-marker { display: none; }
.adm-perm-group summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--adm-mute); border-bottom: 2px solid var(--adm-mute); transform: rotate(-45deg); transition: transform .15s; margin-left: 4px; }
.adm-perm-group[open] summary::after { transform: rotate(45deg); }
.adm-perm-group summary small { margin-left: auto; color: var(--adm-mute); font-weight: 600; font-variant-numeric: tabular-nums; }
.adm-perm { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; padding: 10px 16px 10px 44px; border-top: 1px dashed var(--adm-line); }
.adm-perm b { grid-column: 1; font-weight: 600; color: var(--adm-ink); }
.adm-perm small { color: var(--adm-mute); grid-column: 1; }
.adm-perm .sens { color: var(--adm-late); font-size: 12px; font-weight: 700; margin-left: 6px; }
.adm-perm .req { color: var(--adm-mute); font-size: 12px; font-weight: 500; margin-left: 6px; }
.adm-perm--locked { opacity: .6; }
.adm-switch { position: relative; grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 40px; height: 22px; border-radius: 99px; background: var(--adm-line-2); border: 0; cursor: pointer; flex-shrink: 0; padding: 0; }
/* Görünen anahtar 40×22; dokunma alanı her yöne 8 px büyür (arayüz denetimi 2026-10-21, telefonda 24 px altı hedef). */
.adm-switch::before { content: ""; position: absolute; inset: -8px; }
.adm-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; }
.adm-switch[aria-checked="true"] { background: var(--adm-ok); }
.adm-switch[aria-checked="true"]::after { transform: translateX(18px); }
.adm-switch:disabled { cursor: not-allowed; opacity: .6; }
.adm-preview-menu { margin: 0; padding: 8px; list-style: none; border-radius: 12px; background: var(--adm-rail); color: var(--adm-rail-ink); font-size: 13px; }
.adm-preview-menu li { padding: 6px 8px; border-radius: 7px; }
.adm-preview-menu li.h { color: var(--adm-rail-mute); font-size: 12px; padding-top: 10px; }
.adm-members { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.adm-members li { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--adm-line); border-radius: 10px; font-size: 13px; }
.adm-members li > div { flex: 1; min-width: 0; }
.adm-members small { display: block; color: var(--adm-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-roles__foot { padding: 14px 16px; border-top: 1px solid var(--adm-line); display: grid; gap: 16px; }
.adm-roles__fields { display: grid; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--adm-line); }
.adm-roles__aside { display: grid; gap: 16px; align-content: start; min-width: 0; }
.adm-roles__aside .text-muted { color: var(--adm-mute); font-size: 13px; }

/* ------------------------------------------------------------------ Telefon alt gezinmesi */
.adm-bottom { display: none; }

/* ------------------------------------------------------------------ Genel arama (Ctrl+K) */
.adm-palette { position: fixed; inset: 0; z-index: 1200; display: grid; justify-items: center; align-items: start; padding: 10vh 16px 16px; background: rgba(11, 31, 56, .35); animation: adm-fade-in .15s; }
.adm-palette__panel { width: min(640px, 100%); max-height: 76vh; display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; background: var(--adm-surface, #fff); color: var(--adm-ink, #12202f); box-shadow: 0 30px 60px -20px rgba(11, 31, 56, .5); border: 1px solid var(--adm-line, #e3e8ef); }
.adm-palette__search { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--adm-line, #e3e8ef); }
.adm-palette__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; font-size: 16px; }
.adm-palette__list { margin: 0; padding: 6px; list-style: none; overflow-y: auto; }
.adm-palette__h { padding: 10px 10px 4px; font-size: 12px; font-weight: 700; color: var(--adm-mute, #66768a); }
.adm-palette__item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; cursor: pointer; }
.adm-palette__item.is-active { background: color-mix(in srgb, var(--adm-brand, #1f5fae) 10%, transparent); }
.adm-palette__item .lbl { flex: 1; min-width: 0; }
.adm-palette__item .lbl b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-palette__item .lbl small { display: block; color: var(--adm-mute, #66768a); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-palette__item .grp { color: var(--adm-mute, #66768a); font-size: 12px; }
.adm-palette__empty { padding: 24px 14px; color: var(--adm-mute, #66768a); text-align: center; }
.adm-palette__hint { display: flex; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--adm-line, #e3e8ef); color: var(--adm-mute, #66768a); font-size: 12px; }

/* ------------------------------------------------------------------ Geniş ekran: içerik büyür, yanlar boş kalmaz */
@media (min-width: 1100px) {
  .adm-roles { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (min-width: 1100px) and (max-width: 1699.98px) {
  .adm-roles__aside { grid-column: 2; }
}
@media (min-width: 1280px) {
  .adm-desk { grid-template-columns: minmax(0, 1fr) 340px; }
}
@media (min-width: 1700px) {
  .adm-desk { grid-template-columns: minmax(0, 1fr) 380px; }
  .adm-roles { grid-template-columns: 340px minmax(0, 1fr) 320px; }
  .adm-roles__aside { display: grid; }
}
@media (min-width: 2100px) {
  .adm { --adm-rail-w: 272px; }
  .adm-page { max-width: none; padding: 24px 40px 40px; }
  .adm-desk { grid-template-columns: minmax(0, 1fr) 440px; }
}

/* ------------------------------------------------------------------ Orta genişlik (901–1279 px): üst çubuk sığsın
   Arama yalnızca simge ve kısayol olur; 1100 px altında konumun grup adı ve bölüm adları gizlenir (nokta kalır, ad ipucunda ve
   ekran okuyucuda). */
@media (min-width: 901px) and (max-width: 1279.98px) {
  .adm-top { padding: 0 16px; gap: 8px; }
  .adm-search { flex: 0 0 auto; }
  .adm-search__ph { display: none; }
  .adm-sec button { padding: 0 9px; }
}
@media (min-width: 901px) and (max-width: 1099.98px) {
  .adm-crumb__group, .adm-crumb__sep { display: none; }
  .adm-sec button:not([data-section="all"]) span {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
  }
}

/* ------------------------------------------------------------------ Dar ekran (telefon, tablet)
   Taslağın telefon ekranı: üst satırda menü, ekranın adı, ortam, arama, bildirim ve kullanıcı; altında bölüm süzgeci adıyla
   (yalnız nokta değil) tek satırda, sığmazsa yana kayar. Liste satırları kart olur, süzgeçler düğmenin arkasına iner. */
@media (max-width: 900px) {
  .adm, .adm.adm--rail-collapsed { grid-template-columns: minmax(0, 1fr); padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .adm-rail { display: none; }
  .adm--drawer .adm-rail {
    display: flex; position: fixed; inset: 0 auto 0 0; z-index: 1100; width: min(320px, 86vw); height: 100%;
    box-shadow: 0 0 40px rgba(0, 0, 0, .35); animation: adm-rail-in .18s ease-out;
  }
  .adm--drawer .adm-rail__close { display: inline-grid; }
  .adm-rail__close { place-items: center; width: 40px; height: 40px; border: 0; border-radius: var(--adm-r-s); background: rgba(255, 255, 255, .08); color: var(--adm-rail-ink); cursor: pointer; }
  .adm-rail__collapse { display: none; }
  .adm-rail__item { height: 40px; }
  .adm-backdrop { position: fixed; inset: 0; z-index: 1090; background: rgba(11, 31, 56, .45); }
  .adm-top { flex-wrap: wrap; height: auto; min-height: 52px; padding: 4px 8px 0; gap: 0 4px; }
  .adm-top .adm-top__menu { display: inline-grid; }
  .adm-crumb { flex: 1 1 0; padding-left: 4px; }
  .adm-crumb__group, .adm-crumb__sep { display: none; }
  .adm-crumb b { font-size: 14px; }
  .adm-env { order: 1; height: 24px; padding: 0 8px; font-size: 11.5px; }
  .adm-search { order: 2; flex: 0 0 40px; width: 40px; height: 40px; max-width: none; margin-left: 0; padding: 0; justify-content: center; border-color: transparent; background: transparent; color: var(--adm-ink-2); }
  .adm-top__actions { order: 3; gap: 0; }
  .adm-hide-sm, .adm-search .adm-kbd, .adm-search__ph { display: none; }
  .adm-sec {
    order: 10; flex: 1 1 100%; display: flex; gap: 6px; margin: 4px -8px 0; padding: 6px 8px; min-width: 0;
    border: 0; border-top: 1px solid var(--adm-line); border-radius: 0; overflow-x: auto; scrollbar-width: none; background: var(--adm-surface);
  }
  .adm-sec::-webkit-scrollbar { display: none; }
  .adm-sec button, .adm-sec button:first-child { flex-shrink: 0; height: 40px; padding: 0 14px; border: 1px solid var(--adm-line-2); border-radius: 999px; }
  .adm-sec button[aria-pressed="true"] { background: var(--adm-ink); border-color: var(--adm-ink); color: var(--adm-surface); }
  .adm-page { padding: 12px 12px 16px; }
  .adm-page-head { margin-bottom: 12px; }
  .adm-page-head h1 { font-size: 19px; }
  .adm-kpis b { font-size: 18px; }
  .adm-kpis > * { padding: 10px 12px; }
  .adm-desk .adm-q-wrap { display: none; }
  .adm-desk .adm-cards { display: grid; gap: 10px; padding: 12px; }
  .adm-q.adm-q--stack thead { display: none; }
  .adm-q.adm-q--stack, .adm-q.adm-q--stack tbody, .adm-q.adm-q--stack tr, .adm-q.adm-q--stack td { display: block; width: 100%; }
  .adm-q.adm-q--stack tr { padding: 10px 12px; border-bottom: 1px solid var(--adm-line); }
  .adm-q.adm-q--stack td { height: auto; padding: 4px 0; border: 0; }
  /* Kart düzeninde hücre yüksekliği içerik kadardır (masaüstündeki 46 px satır yüksekliği kartta üst üste bindiriyordu). */
  .adm-q.adm-q--cards td, .adm-yu-table td { height: auto; }
  .adm-row-act { justify-content: flex-start; }
  /* Süzgeç satırı: arama ve "Süzgeçler" düğmesi yan yana; süzgeçler düğmeyle açılır. */
  .adm-toolbar__row { flex-wrap: wrap; }
  .adm-toolbar__search { flex: 1 1 160px; width: auto; height: 40px; }
  .adm-toolbar__toggle { display: inline-flex; height: 40px; }
  .adm-toolbar__filters { display: none; }
  .adm-toolbar__filters.is-open { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: center; gap: 8px; }
  .adm-drawer, .adm-drawer--wide { width: 100vw; }
  .adm-drawer__foot .adm-btn { flex: 1; min-height: 44px; }
  .adm-drawer__foot { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .adm-drawer > .adm-tabs button { min-height: 44px; }
  /* Telefonda sağ panel tam ekrandır ve alt gezinmenin üstünde açılır; panel açıkken alt gezinme gizlenir. Böylece panelin alt
     eylemleri (Askıya al, Reddet…) üstlerine açılan onay penceresiyle birlikte de alt gezinmenin altında kalmış sayılmaz. */
  .adm:has(.adm-drawer) .adm-bottom { display: none; }
  /* Alt gezinme üst çubuk gibi yarı saydam buzlu camdır. Opak sabit bir katman WebGL haritasının (operasyon haritası) altını
     örtünce Chromium'un çizim örtüşme ayıklaması (draw occlusion) harita dokusunu örtülen yükseklik kadar aşağı kaydırıyor,
     haritanın üstünde boş bir bant kalıyordu (telefonda; masaüstünde alt gezinme yok). Saydam katman örtücü sayılmaz. */
  .adm-bottom {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    border-top: 1px solid var(--adm-line); padding-bottom: env(safe-area-inset-bottom);
    background: color-mix(in srgb, var(--adm-surface) 92%, transparent); backdrop-filter: saturate(1.4) blur(10px);
  }
  .adm-bottom a, .adm-bottom button {
    position: relative; display: grid; justify-items: center; align-content: center; gap: 2px; padding: 8px 0 6px; border: 0; background: transparent;
    font: inherit; font-size: 11px; color: var(--adm-mute); text-decoration: none; cursor: pointer; min-height: 56px;
  }
  .adm-bottom .icon { width: 20px; height: 20px; }
  .adm-bottom a.active { color: var(--adm-brand); font-weight: 600; }
  .adm-bottom .adm-cnt { position: absolute; top: 2px; left: 54%; height: 18px; background: #c2410c; color: #fff; font-size: 10px; min-width: 18px; padding: 0 5px; }
}
@keyframes adm-rail-in { from { transform: translateX(-24px); opacity: 0; } to { transform: none; opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .adm-drawer, .adm-scrim, .adm--drawer .adm-rail, .adm-palette { animation: none; }
  .adm-switch::after, .adm-perm-group summary::after { transition: none; }
}

/* Eski sayfalar yeni kabukta: kartlar ve başlıklar kabuk zemininde okunur kalır. */
.adm .admin-main > .page-header:first-child, .adm .adm-page > .page-header:first-child { margin-top: 0; }

/* === Grup C: Yemek ve Usta === */
/* Yönetim 2. aşama (ADR-027): Yemek ve Usta yönetim ekranları taslağın liste düzeninde (başlık + açıklama, araç çubuğu,
   tablo, sağ ayrıntı paneli). Bu bölümün sınıfları adm-yu- (Yemek/Usta) önekiyle başlar; ortak gerekçe formu
   (AdminReasonForm) adm-reason sınıflarını kullanır. Renkler kabuğun belirteçlerinden gelir (açık/koyu tema). */


/* Başlık eylemleri ve panel içi küçük parçalar */
.adm-yu-head-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm-yu-stack { display: grid; gap: 20px; min-width: 0; }
.adm-yu-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 8px 12px; border-bottom: 1px solid var(--adm-line); color: var(--adm-mute); font-size: 12.5px; }
.adm-yu-meta strong { color: var(--adm-ink); }
.adm-yu-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm-yu-select { height: 30px; padding: 0 28px 0 10px; border: 1px solid var(--adm-line-2); border-radius: 999px; background-color: var(--adm-surface); color: var(--adm-ink-2); font: inherit; font-size: 12.5px; font-weight: 600; max-width: 100%; }
.adm-yu-date { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--adm-mute); }
.adm-yu-date .df { width: 150px; }
.adm-yu-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--adm-ink-2); cursor: pointer; white-space: nowrap; }
.adm-yu-toggle input, .adm-yu-check input, .adm-yu-checkline input { width: 16px; height: 16px; accent-color: var(--adm-brand); flex-shrink: 0; }
.adm-yu-note { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--adm-surface-2); border: 1px solid var(--adm-line); color: var(--adm-ink-2); font-size: 13px; }
.adm-yu-note--warn { background: var(--adm-warn-bg); border-color: transparent; color: var(--adm-ink); }
.adm-yu-note--late { background: var(--adm-late-bg); border-color: transparent; color: var(--adm-ink); }
.adm-yu-note a { color: var(--adm-brand); font-weight: 600; }
.adm-yu-hint { margin: 0; color: var(--adm-mute); font-size: 12.5px; }
.adm-yu-error { display: block; margin-top: 4px; color: var(--adm-late); font-size: 12.5px; font-weight: 600; }

/* Tarih süzgeci ve paneldeki tarih alanı (ortak DateField) kabuğun ölçü ve renginde */
.adm .adm-yu-filters .df__input, .adm .adm-yu-date--block .df__input { height: 30px; min-height: 30px; padding: 0 36px 0 10px; border: 1px solid var(--adm-line-2); border-radius: var(--adm-r-s); background: var(--adm-surface); color: var(--adm-ink); font-size: 13px; }
.adm .adm-yu-date--block .df__input { height: 34px; min-height: 34px; font-size: 13.5px; border-radius: var(--adm-r-s); }
.adm .adm-yu-filters .df__toggle, .adm .adm-yu-date--block .df__toggle { width: 30px; height: 30px; right: 2px; color: var(--adm-mute); }

/* Liste tablosu: masaüstünde tablo, telefonda (≤900 px) etiketli kart */
.adm-yu-table td { vertical-align: middle; font-size: 13px; }
.adm-yu-table .adm-q__main .adm-yu-clip { max-width: 100%; }
/* Kırpılan (üç noktalı) sütun sıkışıp kaybolmasın; ilk sütun sayfanın %40'ını aşmasın */
.adm-yu-table td.adm-yu-minw { min-width: 220px; }
.adm-yu-table td.adm-yu-w40 { width: 40%; max-width: 0; }
.adm-yu-panel .adm-tag .icon, .adm-drawer .adm-tag .icon { width: 13px; height: 13px; }
/* Eylemi olmayan sağ panelde boş alt çubuk görünmesin */
.adm-drawer__foot:empty { display: none; }
@media (max-width: 900px) {
  .adm-yu-table td.adm-yu-minw { min-width: 0; }
  .adm-yu-table td.adm-yu-w40 { width: auto; max-width: none; }
  /* Kartta vurgu satırın tamamına (hücre hücre değil) */
  .adm-yu-table tbody tr:hover td, .adm-yu-table tbody tr[aria-selected="true"] td { background: transparent; }
  .adm-yu-table tbody tr:hover { background: var(--adm-surface-2); }
  .adm-yu-table tbody tr[aria-selected="true"] { background: color-mix(in srgb, var(--adm-brand) 8%, var(--adm-surface)); }
  .adm-yu-date { display: grid; gap: 2px; flex: 1 1 calc(50% - 8px); }
}
.adm-yu-table th.adm-yu-num, .adm-yu-table td.adm-yu-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm-yu-table td.adm-yu-check, .adm-yu-table th.adm-yu-check { width: 36px; padding-right: 0; }
.adm-yu-table tr.is-late td:first-child { box-shadow: inset 3px 0 0 var(--adm-late); }
.adm-yu-table tr.is-off td { color: var(--adm-mute); }
.adm-yu-table tr.is-off .adm-kind b { color: var(--adm-ink-2); }
.adm-yu-table .adm-kind small { max-width: 60ch; }
.adm-yu-main { display: block; font-weight: 700; color: var(--adm-ink); }
.adm-yu-sub { display: block; margin-top: 1px; color: var(--adm-mute); font-size: 12.5px; }
.adm-yu-clip { display: block; max-width: 36ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-yu-flags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.adm-yu-tags { display: inline-flex; gap: 4px; }
.adm-yu-link { color: var(--adm-brand); font-weight: 700; text-decoration: none; }
.adm-yu-link:hover { text-decoration: underline; color: var(--adm-brand); }
.adm-yu-group td { padding: 8px 12px; background: var(--adm-surface-2); font-size: 12px; font-weight: 700; color: var(--adm-mute); cursor: default; }
.adm-yu-table tbody tr.adm-yu-group:hover td { background: var(--adm-surface-2); }
/* Hizmet ağacı (2026-10-30): Çarşı kategorileriyle aynı düzen — aç/kapa oku ad sütununda, alt hizmetler girintili. */
.adm-yu-tree { display: flex; align-items: center; gap: 8px; min-width: 0; padding-left: calc(var(--depth, 0) * 22px); }
.adm-yu-tree .adm-kind { flex: 1; min-width: 0; }
/* Ad .adm-yu-expander: .adm-yu-toggle onay anahtarının (Restoran değişiklikleri sayfası) sınıfıdır; aynı ad etiketi 30 px'e sıkıştırıp
   taşırıyordu (E2E derin tarama 2026-10-30). */
.adm-yu-expander { width: 30px; height: 30px; flex-shrink: 0; }
.adm-yu-expander--leaf { display: inline-grid; place-items: center; color: var(--adm-line-2); }
.adm-yu-expander .icon { width: 16px; height: 16px; }
@media (pointer: coarse) { .adm-yu-expander { width: 40px; height: 40px; } }
.adm-yu-table .ec-tile--sm, .adm-drawer__head .ec-tile--sm { width: 34px; height: 34px; border-radius: 10px; box-shadow: none; }
.adm-yu-table .ec-tile--sm .icon, .adm-drawer__head .ec-tile--sm .icon { width: 17px; height: 17px; }
.adm-yu-usta-avatar { background: var(--adm-usta); }
.adm-yu-perks { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13.5px; color: var(--adm-mute); }
.adm-yu-perks li { display: inline-flex; align-items: center; gap: 6px; }
.adm-yu-perks li.is-on { color: var(--adm-ink); font-weight: 600; }
.adm-yu-perks li.is-on .icon { color: var(--adm-ok); }
.adm-yu-perks .icon { width: 16px; height: 16px; }
.adm-yu-review { display: grid; gap: 8px; }
.adm-yu-review.is-hidden > :not(.adm-yu-note) { opacity: .6; }
.adm-yu-section .adm-timeline li.is-next { color: var(--adm-mute); }
.adm-yu-section .adm-timeline li.is-current b { color: var(--adm-ok); }
.adm-yu-stars { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; white-space: nowrap; }
.adm-yu-stars .icon { width: 14px; height: 14px; color: var(--adm-warn); fill: currentColor; }

@media (max-width: 900px) {
  .adm-yu-table thead { display: none; }
  .adm-yu-table, .adm-yu-table tbody { display: block; width: 100%; }
  .adm-yu-table tr { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 14px; padding: 12px 14px; border-bottom: 1px solid var(--adm-line); }
  .adm-yu-table tbody tr:last-child { border-bottom: 0; }
  .adm-yu-table td, .adm-yu-table td.adm-q__main, .adm-yu-table td.adm-q__nowrap { display: block; width: auto; max-width: none; padding: 0; border: 0; white-space: normal; }
  .adm-yu-table td.adm-q__main, .adm-yu-table td.adm-yu-wide { grid-column: 1 / -1; }
  .adm-yu-table td.adm-yu-num { text-align: left; }
  .adm-yu-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 1px; font-size: 11.5px; font-weight: 600; color: var(--adm-mute); }
  .adm-yu-table td.adm-yu-check { position: absolute; top: 14px; right: 12px; width: auto; }
  .adm-yu-table tr:has(td.adm-yu-check) td.adm-q__main { padding-right: 32px; }
  .adm-yu-table td.adm-yu-act { grid-column: 1 / -1; }
  .adm-yu-table td.adm-yu-act .adm-row-act { justify-content: flex-start; }
  .adm-yu-table td.adm-yu-act .adm-btn { min-height: 40px; }
  .adm-yu-table td.adm-yu-hide-sm { display: none; }
  .adm-yu-table .adm-kind b, .adm-yu-table .adm-kind small { white-space: normal; max-width: none; }
  .adm-yu-tree { padding-left: calc(var(--depth, 0) * 12px); }
  .adm-yu-table tr.is-late td:first-child { box-shadow: none; }
  .adm-yu-table tr.is-late { box-shadow: inset 3px 0 0 var(--adm-late); }
  .adm-yu-table tr.adm-yu-group { display: block; padding: 0; }
  .adm-yu-clip { max-width: none; white-space: normal; }
  .adm-yu-date { flex: 1 1 140px; }
  .adm-yu-date .df { width: 100%; }
}

/* Göstergeler (Yemek özeti, Usta özeti): ayrı kutucuklar yerine tek ölçü şeridi (ADR-044, adm-kpis gibi); hücreler ince
   çizgiyle ayrılır, geniş ekranda sütun sayısı artar. Bağlantılı hücre üzerine gelince açılır, sorunlu olanın solunda kırmızı
   çizgi ve kırmızı sayı. */
.adm-yu-kpis {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0;
  background: var(--adm-surface); border: 1px solid var(--adm-line); border-radius: var(--adm-r-l); box-shadow: var(--adm-shadow); overflow: hidden;
}
.adm-yu-kpi {
  position: relative; display: grid; gap: 2px; align-content: start; min-width: 0; padding: 12px 16px;
  border: 0; border-radius: 0; background: transparent; color: var(--adm-ink); text-decoration: none;
  box-shadow: 1px 0 0 var(--adm-line), 0 1px 0 var(--adm-line);
}
a.adm-yu-kpi:hover { background: var(--adm-surface-2); color: var(--adm-ink); }
a.adm-yu-kpi::after { content: ""; position: absolute; top: 16px; right: 14px; width: 6px; height: 6px; border-top: 2px solid var(--adm-mute); border-right: 2px solid var(--adm-mute); transform: rotate(45deg); opacity: .5; }
.adm-yu-kpi small { display: flex; align-items: center; gap: 6px; padding-right: 14px; color: var(--adm-mute); font-size: 12px; font-weight: 500; }
.adm-yu-kpi small .icon { width: 14px; height: 14px; }
.adm-yu-kpi b { font-size: 20px; font-weight: 650; letter-spacing: -.01em; font-variant-numeric: tabular-nums; line-height: 1.3; }
.adm-yu-kpi em { font-style: normal; font-size: 12px; color: var(--adm-mute); }
.adm-yu-kpi em a { color: var(--adm-brand); font-weight: 600; }
.adm-yu-kpi.is-hot { box-shadow: inset 3px 0 0 var(--adm-late), 1px 0 0 var(--adm-line), 0 1px 0 var(--adm-line); }
.adm-yu-kpi.is-hot b { color: var(--adm-late); }
.adm-yu-split { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1280px) { .adm-yu-split { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
@media (min-width: 2100px) { .adm-yu-kpis { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); } }
/* Telefonda iki sütun: 12 gösterge tek sütunda sayfayı 1.800 px uzatıyordu; Masam'ın "Bugün" şeridiyle aynı düzen
   (arayüz tutarlılık incelemesi 2026-10-16). */
@media (max-width: 599.98px) {
  .adm-yu-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .adm-yu-kpi { padding: 10px 12px; }
  .adm-yu-kpi b { font-size: 18px; }
  .adm-yu-kpi small { font-size: 12px; }
}

/* Sağ panel içeriği: formlar, bölümler, fotoğraflar */
.adm-yu-form { display: grid; gap: 14px; }
.adm-yu-row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.adm-yu-checkline, .adm-field .adm-yu-checkline { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13.5px; font-weight: 500; color: var(--adm-ink); cursor: pointer; }
.adm-field .adm-yu-checkline input, .adm-yu-checkline input { width: 16px; height: 16px; padding: 0; margin: 0; border: 0; }
.adm-yu-checks { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.adm-yu-section { display: grid; gap: 8px; min-width: 0; }
.adm-yu-section > h3 { margin: 0; font-size: 14px; font-weight: 750; color: var(--adm-ink); }
.adm-yu-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 13.5px; }
.adm-yu-list li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px dashed var(--adm-line); color: var(--adm-ink-2); min-width: 0; }
.adm-yu-list li:last-child { border-bottom: 0; }
.adm-yu-list li > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.adm-yu-list li > b, .adm-yu-list li > span:last-child:not(:first-child) { flex-shrink: 0; color: var(--adm-ink); }
.adm-yu-photos { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.adm-yu-photos a { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: var(--adm-surface-2); }
.adm-yu-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.adm-yu-text { margin: 0; font-size: 13.5px; white-space: pre-line; overflow-wrap: anywhere; color: var(--adm-ink); }
.adm-yu-amounts { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.adm-yu-amounts td { padding: 7px 0; border-bottom: 1px solid var(--adm-line); vertical-align: top; color: var(--adm-ink); }
.adm-yu-amounts td:last-child { text-align: right; white-space: nowrap; padding-left: 12px; font-variant-numeric: tabular-nums; }
.adm-yu-amounts tfoot td { color: var(--adm-ink-2); border-bottom: 0; padding: 4px 0; }
.adm-yu-amounts tfoot tr.is-total td { padding-top: 8px; border-top: 1px solid var(--adm-line-2); font-size: 15px; font-weight: 800; color: var(--adm-ink); }
.adm-yu-amounts tfoot tr.is-discount td { color: var(--adm-ok); }
.adm-yu-amounts .qty { width: 40px; font-weight: 800; color: var(--adm-ink-2); }
.adm-yu-preview { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; background: var(--adm-surface-2); border: 1px solid var(--adm-line); }
.adm-yu-preview b { display: block; }
/* Hizmet görseli (ADR-058): telefondaki kartın ve web'deki simge kutusunun önizlemesi, yükle/değiştir/kaldır. */
.adm-yu-img { display: grid; gap: 6px; }
.adm-yu-img__label { font-size: 12.5px; font-weight: 600; color: var(--adm-ink-2); }
.adm-yu-img__row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px; padding: 12px; border-radius: 12px; background: var(--adm-surface-2); border: 1px solid var(--adm-line); }
.adm-yu-img__fig { display: grid; justify-items: center; gap: 6px; margin: 0; }
.adm-yu-img__fig figcaption { font-size: 12px; color: var(--adm-mute); }
.adm-yu-img__phone {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; width: 132px; height: 110px; padding: 8px 10px;
  border-radius: 16px; color: #fff; background: linear-gradient(150deg, var(--c1, var(--adm-usta)), var(--c2, var(--adm-rail)));
}
.adm-yu-img__phone::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6, 10, 18, 0) 40%, rgba(6, 10, 18, .45) 100%); }
.adm-yu-img__phone.has-photo::before { background: linear-gradient(180deg, rgba(6, 10, 18, 0) 30%, rgba(6, 10, 18, .8) 100%); }
.adm-yu-img__phone img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.adm-yu-img__phone b { font-size: 13px; font-weight: 700; line-height: 1.2; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); overflow-wrap: anywhere; }
.adm-yu-img__glyph { position: absolute; top: 8px; left: 8px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: rgba(255, 255, 255, .2); }
.adm-yu-img__glyph .icon { width: 17px; height: 17px; }
.adm-yu-img__body { display: grid; gap: 8px; flex: 1 1 200px; min-width: 0; }
.adm-yu-img__status { margin: 0; font-size: 13px; color: var(--adm-ink); }
.adm-yu-img__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.adm-yu-img__actions label.adm-btn { cursor: pointer; }
.adm-yu-img__actions label.adm-btn.is-busy { opacity: .55; cursor: progress; }
.adm-yu-img__actions label.adm-btn:focus-within { outline: 2px solid var(--adm-focus); outline-offset: 2px; }
.adm-yu-img__body small { color: var(--adm-mute); font-size: 12px; }
.adm-yu-color { width: 100%; height: 38px; padding: 3px; border: 1px solid var(--adm-line-2); border-radius: 10px; background: var(--adm-surface); cursor: pointer; }
.adm-yu-btn-danger { background: var(--adm-danger); border-color: var(--adm-danger); color: #fff; }
.adm-yu-btn-danger:hover { background: var(--adm-danger); color: #fff; filter: brightness(1.08); }
.adm-yu-drawer-links { display: flex; flex-wrap: wrap; gap: 8px; }
.adm-yu-date--block { display: grid; gap: 6px; align-content: start; }
.adm-yu-date--block .df { width: 100%; }
.adm-yu-table tbody tr.adm-yu-static { cursor: default; }
.adm-yu-list li.is-off { opacity: .6; }
.adm-yu-stars.is-low .icon { color: var(--adm-late); }
@media (min-width: 1500px) { .adm-yu-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.adm-yu-columns { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); align-items: start; }
.adm-yu-thumb { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--adm-line); background: var(--adm-surface-2); }
.adm-yu-image { display: block; max-width: 100%; max-height: 320px; border-radius: 12px; border: 1px solid var(--adm-line); object-fit: contain; background: var(--adm-surface-2); }
.adm-yu-diff { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; font-size: 13px; color: var(--adm-ink-2); min-width: 0; }
.adm-yu-diff li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46ch; }
.adm-yu-diff__field { color: var(--adm-mute); margin-right: 4px; }
.adm-yu-diff s { color: var(--adm-mute); }
.adm-yu-diff__arrow { margin: 0 4px; color: var(--adm-mute); }
.adm-yu-diff b { color: var(--adm-ink); }
.adm-yu-diff em { font-style: normal; font-weight: 700; margin-left: 4px; }
.adm-yu-diff em.up { color: var(--adm-late); }
.adm-yu-diff em.dn { color: var(--adm-ok); }
@media (max-width: 900px) { .adm-yu-diff li { white-space: normal; max-width: none; } }
.adm-yu-skel { display: grid; gap: 10px; padding: 16px; }
.adm-yu-skel i { display: block; height: 40px; border-radius: 10px; background: linear-gradient(90deg, var(--adm-surface-2) 25%, var(--adm-line) 50%, var(--adm-surface-2) 75%); background-size: 200% 100%; animation: adm-yu-shimmer 1.2s linear infinite; }
@keyframes adm-yu-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .adm-yu-skel i { animation: none; } }
.adm-yu-panel .empty-state, .adm-yu-panel .error-state { margin: 16px; }

/* Ortak gerekçe formu (AdminReasonForm): ret, askı, iptal, iade… panelin içinde açılır */
.adm-reason { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--adm-line-2); border-radius: 12px; background: var(--adm-surface-2); }
.adm-reason--danger { border-color: color-mix(in srgb, var(--adm-late) 45%, var(--adm-line-2)); }
.adm-reason h3 { margin: 0; font-size: 14.5px; font-weight: 750; color: var(--adm-ink); }
.adm-reason p { margin: 0; color: var(--adm-ink-2); font-size: 13px; }
.adm-reason textarea { width: 100%; padding: 9px 11px; border: 1px solid var(--adm-line-2); border-radius: 10px; background: var(--adm-surface); color: var(--adm-ink); font: inherit; }
.adm-reason textarea[aria-invalid="true"] { border-color: var(--adm-late); }
.adm-reason__presets { display: flex; flex-wrap: wrap; gap: 6px; }
.adm-reason__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
@media (max-width: 900px) { .adm-reason__actions .adm-btn { flex: 1; min-height: 44px; } }

/* === Grup B: Çarşı, Destek, Sistem === */
/* Liste ekranları (Talepler, Teklifler, Moderasyon, Kategoriler, Şikâyetler, Destek, Bildirim şablonları, Denetim kayıtları)
   aynı düzeni kullanır: araç çubuğunda kayıtlı görünümler, arama ve süzgeç seçimleri; satıra tıklayınca sağ panel. Telefonda
   satır karta döner, hücrenin adı data-label'dan yazılır; ilk hücre (kayıt) ve eylem hücresi etiketsizdir. */
.adm-select {
  height: 30px; max-width: 100%; padding: 0 28px 0 10px; border: 1px solid var(--adm-line-2); border-radius: 999px;
  background-color: var(--adm-surface); color: var(--adm-ink-2); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.adm-tag--info { background: color-mix(in srgb, var(--adm-brand) 10%, var(--adm-surface)); border-color: transparent; color: var(--adm-brand); }
.adm-q th.adm-q__num, .adm-q td.adm-q__num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.adm-q .adm-q__sub { display: block; color: var(--adm-mute); font-size: 12.5px; }
.adm-q td.adm-q__muted { color: var(--adm-mute); font-size: 13px; white-space: nowrap; }
.adm-row-act .adm-icon-btn { width: 32px; height: 32px; border-radius: 9px; }
.adm-row-act .adm-icon-btn .icon { width: 16px; height: 16px; }
.adm-icon-btn--ok { color: var(--adm-ok); }
.adm-icon-btn--danger { color: var(--adm-late); }
.adm-icon-btn--warn { color: var(--adm-warn); }
.adm-icon-btn:disabled { opacity: .5; cursor: not-allowed; }
.adm-pager__pages { display: inline-flex; align-items: center; gap: 6px; }
.adm-head-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm-head-actions .adm-cnt { background: var(--adm-late); color: #fff; }
.adm-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.adm-desc { margin: 0; color: var(--adm-ink-2); font-size: 14px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.adm-note--danger { background: var(--adm-late-bg); }
.adm-note--info { background: color-mix(in srgb, var(--adm-brand) 8%, var(--adm-surface)); }
.adm-drawer__foot .adm-btn--danger { border-color: color-mix(in srgb, var(--adm-late) 45%, var(--adm-line-2)); }
.adm-btn--late { background: var(--adm-danger); border-color: var(--adm-danger); color: #fff; }
.adm-btn--late:hover { background: var(--adm-danger); color: #fff; filter: brightness(1.08); }
.adm-btn .spinner { width: 14px; height: 14px; }
.adm-diff td.num { text-align: right; white-space: nowrap; }
@media (max-width: 900px) {
  .adm-q.adm-q--stack tbody tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .adm-q.adm-q--stack td.adm-q__main { max-width: none; }
  .adm-q.adm-q--stack td.adm-q__nowrap, .adm-q.adm-q--stack td.adm-q__num, .adm-q.adm-q--stack td.adm-q__muted { width: auto; white-space: normal; }
  .adm-q.adm-q--stack td[data-label] { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: right; }
  .adm-q.adm-q--stack td[data-label]::before {
    content: attr(data-label); flex-shrink: 0; max-width: 45%; color: var(--adm-mute); font-size: 12px; font-weight: 600; text-align: left;
  }
  .adm-q.adm-q--stack td .adm-row-act { justify-content: flex-end; padding-top: 4px; }
  .adm-q.adm-q--stack .adm-row-act .adm-icon-btn, .adm-q.adm-q--stack .adm-row-act .adm-btn { min-width: 40px; min-height: 40px; }
  .adm-select { height: 36px; }
}
/* Bu blok birleştirmede kapanmamıştı: dosyanın geri kalanı (Grup A/B/C) yalnızca 900 px altında geçerli oluyor, masaüstünde sağ
   panel listeleri, ikincil yazılar ve süzgeçler stilsiz kalıyordu (2026-10-10). */

/* === Grup A: Kişiler ve Finans === */
/* Kullanıcılar, Firmalar ve işletmeler, Bakiye ve iadeler, Havale bildirimleri, Ücretler ve fiyatlar, Kampanyalar, Üyelik
   paketleri ve Davet programı taslaktaki liste düzenindedir: kayıtlı görünümler, arama, süzgeç çipleri, toplu işlem çubuğu,
   satıra tıklayınca sağdan açılan ayrıntı paneli, sayfalama. Telefonda satırlar karta döner (hücre etiketleri data-label). */

/* Liste tablosu ekleri: seçim kutusu, sayısal sütun, ikincil satır, pasif kayıt */
.adm-q th.adm-q__check, .adm-q td.adm-q__check { width: 40px; padding-right: 0; }
.adm-q__check input { width: 16px; height: 16px; margin: 0; accent-color: var(--adm-brand); cursor: pointer; vertical-align: middle; }
/* Telefonda seçim kutuları ve etiketli anahtarlar 24 px dokunma alanına büyür (arayüz denetimi 2026-10-21). */
@media (pointer: coarse) {
  .adm-q__check input, .adm-yu-toggle input, .adm-yu-check input, .adm-yu-checkline input { width: 24px; height: 24px; }
  .adm-yu-toggle { min-height: 40px; }
  /* Küçük düğme (ör. bekleyen firmada "Onayla") ve satır içi bağlantı (yemek siparişlerinde restoran/müşteri) telefonda 40 px
     dokunma alanına büyür (E2E derin tarama 2026-10-30). */
  .adm-btn--sm { min-height: 40px; }
  .adm-yu-link { display: inline-flex; align-items: center; min-height: 40px; }
  /* Firma çekmecesindeki bilgi bağlantıları (sahip hesabı, başvuru, web sitesi) telefonda 16 px yüksekti (E2E 2026-10-31). */
  .adm-facts dd > a { display: inline-flex; align-items: center; min-height: 40px; }
}
.adm-q th.adm-q__num, .adm-q td.adm-q__num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm-sub { display: block; color: var(--adm-mute); font-size: 12.5px; font-weight: 500; }
.adm-dash { color: var(--adm-mute); }
/* Ana sütun sıkışıp boşalmasın (diğer sütunlar içerik kadar; ana sütun kalan alanı alır, en az 200 px). */
.adm-list .adm-q td.adm-q__main { min-width: 200px; }
.adm-q tbody tr.is-off td { color: var(--adm-mute); }
.adm-q tbody tr.is-off .adm-kind b { color: var(--adm-ink-2); }
.adm-q tbody tr:focus-visible { outline: 2px solid var(--adm-focus); outline-offset: -2px; }
.adm-q .adm-row-act .adm-btn { height: 30px; }
.adm-q .adm-kind .adm-avatar { flex-shrink: 0; }
.adm-plus { color: var(--adm-ok); font-weight: 700; }
.adm-minus { color: var(--adm-late); font-weight: 700; }

/* Süzgeç seçimi: çip görünümlü açılır liste ("Tür: Hepsi", "Katılma: son 30 gün") */
.adm-select {
  height: 28px; max-width: 100%; padding: 0 28px 0 10px; border: 1px dashed var(--adm-line-2); border-radius: 999px;
  background-color: transparent; color: var(--adm-ink-2); font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 15px) 52%, calc(100% - 10px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.adm-select:hover { border-color: var(--adm-mute); }
/* Seçili süzgeç dolu (taslak: seçili olan dolu, seçilmemiş olan çizgili). */
.adm-select.is-set { background-color: var(--adm-brand-soft); border-color: transparent; color: var(--adm-brand); }
.adm-select option { color: var(--adm-ink); background: var(--adm-surface); }
.adm-chip .icon { width: 13px; height: 13px; }

/* Kayıtlı görünüm sayısı adından ayrık ve sönük okunur ("Hepsi 6.434"; Razor sayının önündeki boşluğu kırpıyordu: "Hepsi4",
   aralık gap'ten gelir); seçili sekmede marka renginde (taslak). */
.adm-views button .num { margin: 0; color: var(--adm-mute); font-size: 12px; font-weight: 500; }
.adm-views button[aria-pressed="true"] .num { color: var(--adm-brand); }

/* Sayfalama */
.adm-pager__nav { display: inline-flex; align-items: center; gap: 8px; }
.adm-pager__page { min-width: 52px; text-align: center; }

/* Liste + yan sütun (Bakiye, Havale, Davet): geniş ekranda sağ sütun büyür, yanlar boş kalmaz */
.adm-split { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.adm-split > .adm-split__side { display: grid; gap: 16px; align-content: start; min-width: 0; }
.adm-panel__body { padding: 14px 16px 16px; display: grid; gap: 12px; }
.adm-panel__body > p { margin: 0; color: var(--adm-ink-2); font-size: 13.5px; }

/* Ayrıntı paneli parçaları */
.adm-today--box { border: 1px solid var(--adm-line); border-radius: 12px; overflow: hidden; }
.adm-rows { margin: 0; padding: 0; list-style: none; border: 1px solid var(--adm-line); border-radius: 12px; overflow: hidden; }
.adm-rows > li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--adm-line); font-size: 13.5px; color: var(--adm-ink); min-width: 0; }
.adm-rows > li:last-child { border-bottom: 0; }
.adm-rows .grow { flex: 1; min-width: 0; }
.adm-rows b { font-weight: 650; overflow-wrap: anywhere; }
.adm-rows small { display: block; color: var(--adm-mute); font-size: 12.5px; overflow-wrap: anywhere; }
.adm-rows .adm-tag, .adm-rows .adm-btn { flex-shrink: 0; }
.adm-none { padding: 14px; color: var(--adm-mute); font-size: 13px; border: 1px dashed var(--adm-line-2); border-radius: 12px; text-align: center; }
.adm-taglist { display: flex; flex-wrap: wrap; gap: 6px; }
.adm-code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12px; padding: 1px 6px; border-radius: 6px; color: var(--adm-ink); background: var(--adm-surface-2); border: 1px solid var(--adm-line); overflow-wrap: anywhere; font-weight: 500; }
.adm-copy { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.adm-note--info { background: color-mix(in srgb, var(--adm-brand) 9%, var(--adm-surface)); }
.adm-note--late { background: var(--adm-late-bg); }
.adm-note b { font-weight: 700; }
.adm-mini-wrap { border: 1px solid var(--adm-line); border-radius: 12px; overflow-x: auto; }
.adm-mini { width: 100%; border-collapse: collapse; font-size: 13px; }
.adm-mini th, .adm-mini td { padding: 8px 10px; border-bottom: 1px solid var(--adm-line); text-align: left; vertical-align: top; color: var(--adm-ink); }
.adm-mini th { background: var(--adm-surface-2); font-size: 12px; color: var(--adm-mute); font-weight: 600; }
.adm-mini tr:last-child td { border-bottom: 0; }
.adm-mini .num { text-align: right; white-space: nowrap; }
/* Tarih sütunu tek satırda; dar ekranda tablo ezilip kelime kelime bölünmek yerine yatay kayar (cüzdan hareketleri, pencere denetimi
   2026-10-22). */
.adm-mini td:first-child { white-space: nowrap; }
@media (max-width: 600px) { .adm-mini { min-width: 560px; } }
.adm-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 10px; background: var(--adm-surface-2); border: 1px solid var(--adm-line); }
.adm-seg button { height: 32px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: var(--adm-ink-2); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.adm-seg button[aria-pressed="true"] { background: var(--adm-surface); color: var(--adm-ink); box-shadow: 0 1px 2px rgba(11, 31, 56, .12), inset 0 0 0 1px var(--adm-line-2); }
.adm-field-row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.adm-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--adm-ink); cursor: pointer; }
.adm-check input { width: 16px; height: 16px; accent-color: var(--adm-brand); }
.adm-form { display: grid; gap: 14px; }
.adm-form .form-group { margin-bottom: 0; }

@media (min-width: 1280px) {
  .adm-split { grid-template-columns: minmax(0, 1fr) 340px; }
  /* Sütunu çok tablo (Havale): yan sütun yalnızca geniş ekranda sağda, daha darda listenin altında. */
  .adm-split.adm-split--late { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1700px) {
  .adm-split, .adm-split.adm-split--late { grid-template-columns: minmax(0, 1fr) 400px; }
}
@media (min-width: 2100px) {
  .adm-split, .adm-split.adm-split--late { grid-template-columns: minmax(0, 1fr) 460px; }
}

/* Telefon ve dar tablet: tablo satırları karta döner; araç çubuğu alt alta */
@media (max-width: 900px) {
  .adm-q.adm-q--cards thead { display: none; }
  .adm-q.adm-q--cards, .adm-q.adm-q--cards tbody { display: block; width: 100%; }
  .adm-q.adm-q--cards tr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 12px 14px; border-bottom: 1px solid var(--adm-line); }
  .adm-q.adm-q--cards tbody tr:last-child { border-bottom: 0; }
  .adm-q.adm-q--cards td { display: block; padding: 0; border: 0; background: transparent !important; width: auto; max-width: none; font-size: 13px; }
  .adm-q.adm-q--cards td.adm-q__main { flex: 1 1 calc(100% - 48px); order: -1; min-width: 0; width: auto; max-width: none; }
  .adm-q.adm-q--cards td.adm-q__check { order: -2; width: auto; }
  .adm-q.adm-q--cards td.adm-q__num { text-align: left; }
  .adm-q.adm-q--cards td[data-label]::before { content: attr(data-label) ": "; color: var(--adm-mute); font-weight: 500; }
  .adm-q.adm-q--cards td.adm-q__act { flex: 1 1 100%; }
  .adm-q.adm-q--cards td.adm-q__act .adm-row-act { justify-content: stretch; }
  .adm-q.adm-q--cards td.adm-q__act .adm-btn { flex: 1; height: 40px; }
  .adm-q.adm-q--cards tbody tr:hover, .adm-q.adm-q--cards tbody tr[aria-selected="true"] { background: var(--adm-surface-2); }
  .adm-q.adm-q--cards .adm-kind b, .adm-q.adm-q--cards .adm-kind small { white-space: normal; overflow-wrap: anywhere; }
  /* Yalnızca bu bölümün liste panelleri (.adm-list) ve başlıkları (.adm-page-head--list); diğer ekranlar etkilenmez. */
  .adm-list .adm-pager { padding: 10px 12px; }
  .adm-page-head--list > .adm-chips { width: 100%; }
  .adm-page-head--list > .adm-chips .adm-btn { flex: 1 1 auto; }
}

/* === Telefonda dokunma hedefleri (2026-10-10, E2E bulgusu) ===
   Bölüm süzgeci (v2'de telefonda adıyla ikinci satırda), kayıtlı görünüm düğmeleri ve süzgeç çipleri 30 px yükseklikteydi;
   telefonda en az 40 × 40 px olur (SiteWideLayoutTests eşiği). */
@media (max-width: 900px) {
  .adm-sec button { height: 40px; min-width: 40px; justify-content: center; }
  .adm-views button { height: 40px; }
  .adm-chip { height: 40px; }
  .adm-search { flex-basis: 40px; width: 40px; height: 40px; }
}
