/* BİSİM V6 - Ortak arayüz iyileştirmeleri.
   Kapsam: ortak başlık/altbilgi, form öğeleri, tablolar, mobil ve erişilebilirlik.
   Eski sayfa-özel düzenleri mümkün olduğunca korur. */
:root {
  --text-main:var(--text,#e7eaf6);
  --text-soft:var(--muted,#a8b0c6);
  --accent:#34d399;
  --focus-ring:#93c5fd;
  --control-height:38px;
  color-scheme:dark;
}
html[data-theme="light"] {
  --text-main:var(--text,#192038);
  --text-soft:var(--muted,#59627a);
  --accent:#067c59;
  --focus-ring:#2563eb;
  color-scheme:light;
}
html { -webkit-text-size-adjust:100%; scroll-padding-top:85px; }
body { min-width:320px; }
:where(.page, main, .section, .container, .grid, .kpi, .user-box, .main-nav) { min-width:0; }
:where(img,svg,video,canvas) { max-width:100%; }
img { height:auto; }
:where(button,input,select,textarea) { font:inherit; }
:where(button,[type="button"],[type="submit"],[role="button"]) { touch-action:manipulation; }
:where(a,button,input,select,textarea,summary,[role="button"]):focus-visible {
  outline:2px solid var(--focus-ring); outline-offset:3px;
}
:where(a,button,input,select,textarea):disabled,
:where([aria-disabled="true"]) { cursor:not-allowed; opacity:.6; }
:where(input,select,textarea) { min-width:0; max-width:100%; }
/* style.css tüm input'ları width:100% yapıyordu: checkbox ve radio akışını düzelt. */
input[type="checkbox"], input[type="radio"] {
  width:auto; height:auto; min-width:1rem; min-height:1rem;
  flex:0 0 auto; padding:0; border-radius:initial; accent-color:var(--primary);
  vertical-align:middle;
}
input[type="file"] { overflow:hidden; }
input[type="color"] { min-height:var(--control-height); padding:3px; }
input[type="search"] { -webkit-appearance:none; appearance:none; }
input[type="range"] { padding:0; accent-color:var(--primary); }
textarea { resize:vertical; }
label { min-width:0; }
html[data-theme="light"] label { color:#334155; }
html[data-theme="light"] details > summary { color:#17233c; }
html[data-theme="light"] .section > header,
html[data-theme="light"] .kpi h4 { color:#17233c; }
html[data-theme="light"] .brand,
html[data-theme="light"] .brand-text { color:var(--text-main); }
html[data-theme="light"] .site-footer {
  color:var(--text-main); background:rgba(255,255,255,.95); border-top:1px solid #dce3ef;
}
html[data-theme="light"] .btn.secondary { --btn-bg:#eef3ff; --btn-fg:#1f3e81; --btn-bd:#ccd8f0; }
html[data-theme="light"] .btn.quiet { --btn-bg:transparent; --btn-fg:#42526b; --btn-bd:#dbe3ef; }
html[data-theme="light"] .btn.quiet:hover { color:#124888; background:#eff6ff; }
.btn { justify-content:center; text-align:center; font-weight:600; line-height:1.35; }
.btn:active { transform:translateY(1px); }
.btn:where(:disabled,[aria-disabled="true"]) { transform:none; filter:none; }
/* Alt bilgi mobil ve uzun formları örtmesin. */
.site-footer { position:relative; bottom:auto; margin-top:auto; }
.footer-inner { gap:.8rem; flex-wrap:wrap; padding-block:12px; }
.footer-actions { flex-wrap:wrap; align-items:center; }
/* Navigasyon: fare, klavye ve dokunmatik kullanım. */
.site-header { z-index:100; }
.nav-item.dropdown { isolation:isolate; }
@media (min-width:1181px) {
  .nav-item.dropdown > .dropdown-menu { top:100%; }
  .nav-item.dropdown:focus-within > .dropdown-menu {
    opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
  }
}
.main-nav .nav-link[aria-current="page"],
.dropdown-menu .dropdown-item[aria-current="page"] {
  color:var(--accent); font-weight:700; background:rgba(52,211,153,.12);
}
html[data-theme="light"] .main-nav .nav-link[aria-current="page"] { background:rgba(6,124,89,.09); }
.header-admin-tools,.header-phone-search,.user-box { min-width:0; }
.user-name { min-width:0; }
.saha-approval-tooltip { max-width:min(250px,90vw); }
/* Temel tablolar; sayfa içinde mevcut yatay kaydırıcıları bozmaz. */
.table-wrap,.table-scroll,.table-responsive,.table-container,
.table-scroll-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.table-wrap:focus-visible,.table-scroll:focus-visible,.table-responsive:focus-visible {
  outline:2px solid var(--focus-ring); outline-offset:2px;
}
:where(table) { max-width:100%; }
:where(table) th { overflow-wrap:normal; }
:where(table) th, :where(table) td { vertical-align:middle; }
:where(.table-wrap,.table-scroll,.table-responsive) table { min-width:max-content; }
:where(.table-wrap,.table-scroll,.table-responsive) table.tbl.fit,
:where(.table-wrap,.table-scroll,.table-responsive) table[data-fit="true"] { min-width:0; }
/* Modal odaklanabilir içerik ve küçük ekran yüksekliği. */
.modal-backdrop { padding:clamp(8px,2.5vw,20px); }
.modal { max-width:100%; max-height:min(86dvh,920px); overscroll-behavior:contain; }
.modal .modal-body { min-width:0; overflow-wrap:anywhere; }
.modal .kv { grid-template-columns:minmax(105px,150px) minmax(0,1fr); }
.modal .close { min-width:34px; min-height:34px; }
:where(.modal-backdrop.open) { overflow-y:auto; }
/* Sayfada açık olmayan details alt boşluk bırakmasın. */
details:not([open]) > summary { margin-bottom:0; }
/* Durum etiketleri ve uzun alanlar taşmasın. */
:where(.section,.kpi,.card,.box) { overflow-wrap:break-word; }
:where(.user-name,.dropdown-item-title) { overflow-wrap:normal; }
/* Taşma: küçük ekranda tüm ana içeriğe nefes payı. */
@media (max-width:1180px) {
  .container { width:100%; padding-inline:clamp(12px,3vw,20px); }
  .page { padding-block:18px 38px; }
  .header-inner { gap:8px; }
  .header-admin-tools { margin-left:auto; order:3; }
  .header-inner.is-mobile-open .main-nav { max-height:min(65dvh,620px); overflow-y:auto; overscroll-behavior:contain; }
  .header-inner.is-mobile-open .nav-item.dropdown { align-self:stretch; }
  .user-box .user-chip { max-width:100%; min-width:0; }
  .footer-inner { align-items:flex-start; }
  .footer-actions { width:100%; }
  .modal .kv { grid-template-columns:1fr; gap:3px; }
  .modal .kv > div:nth-child(even) { margin-bottom:8px; }
}
@media (max-width:520px) {
  .kpi-grid { gap:10px; }
  .section { padding:14px; }
  .footer-inner { flex-direction:column; align-items:stretch; }
  .footer-actions { justify-content:flex-start; }
  .header-admin-tools { gap:5px; }
  .header-phone-search { min-width:0; }
  .site-header .brand-text { max-width:160px; overflow:hidden; text-overflow:ellipsis; }
}
@media (max-width:380px) {
  .site-header .brand-text { max-width:120px; }
  .header-admin-tools { width:auto; }
  .saha-approval-tooltip { right:-8px; }
}
/* Kullanıcının animasyon tercihine saygı. */
@media (prefers-reduced-motion:reduce) {
  :where(*,*::before,*::after) { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
@media print {
  .site-header,.site-footer,.bg-decor,.mobile-menu-toggle,.saha-approval-wrap { display:none !important; }
  html,body { background:#fff !important; color:#111827 !important; }
  .page,.container { max-width:none !important; padding:0 !important; }
  .section { box-shadow:none !important; }
  .modal-backdrop:not(.open) { display:none !important; }
}

/* === BİSİM V6.2: Ortak tema tutarlılığı ve okunabilirlik === */
:root {
  --ui-surface:var(--panel,#121933);--ui-foreground:var(--text,#e7eaf6);
  --ui-subtle:var(--muted,#a8b0c6);--ui-divider:var(--border,#2a355f);
  --ui-field:var(--panel-2,#1a244a);
}
html[data-theme="light"] {
  --ui-surface:#fff;--ui-foreground:#192038;--ui-subtle:#4b556f;
  --ui-divider:#d7e0f0;--ui-field:#fff;
}
/* Önceki tema bazı panellerde başlığı kalıcı beyaz yapıyordu. */
html[data-theme="light"] .section > header,
html[data-theme="light"] .section > header *,
html[data-theme="light"] .kpi h4,
html[data-theme="light"] details > summary,
html[data-theme="light"] .modal .modal-title {color:var(--ui-foreground);}
html[data-theme="light"] .small,
html[data-theme="light"] .table-hint,
html[data-theme="light"] .modal .kv > div:nth-child(odd) {color:var(--ui-subtle);}
html[data-theme="light"] .nav-link {color:#334155;}
html[data-theme="light"] .site-header .dropdown-menu .dropdown-item {color:#1e293b;}
html[data-theme="light"] .site-header .dropdown-menu .dropdown-item span:not(.nav-icon) {color:#52637e;}
html[data-theme="dark"] .site-header .dropdown-menu .dropdown-item span:not(.nav-icon) {color:#aebbd5;}
html[data-theme="light"] .site-header .user-name {color:#17233c;}
html[data-theme="light"] :where(input,select,textarea)::placeholder {color:#66758f;opacity:1;}
html[data-theme="dark"] :where(input,select,textarea)::placeholder {color:#a4b0c8;opacity:1;}
/* Genel form alanlarının metinleri buton/rozet renkleriyle karışmasın. */
html[data-theme="light"] :where(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],input[type="date"],textarea,select) {color:#192038;}
html[data-theme="light"] select option {background:#fff;color:#192038;}
html[data-theme="dark"] select option {background:#141b34;color:#e7eaf6;}
/* Açık temada modal açıklamaları ve yardım metinleri görünür olsun. */
html[data-theme="light"] .modal .desc-box {background:#f7f9fe;border-color:#dbe5f3;color:#253450;}
html[data-theme="light"] .modal header {color:#192038;}
html[data-theme="light"] .modal .close {color:#465774;}
html[data-theme="light"] .modal .close:hover {color:#142443;}
html[data-theme="light"] .site-header .avatar {color:#192038;background:#f0f4fa;border-color:#d8e2ef;}
/* Saha/bisiklet menüsünün mevcut beyaza zorlayan kuralını nötralize et. */
.site-header .bike-menu > .dropdown-toggle {color:var(--text-main)!important;}
.site-header .bike-menu:hover > .dropdown-toggle {color:var(--accent)!important;}
/* Tablolarda görünür metin hiyerarşisi */
html[data-theme="light"] table {color:#1e293b;}
html[data-theme="light"] thead th {color:#263a59;}
html[data-theme="light"] tbody td {color:#263a59;}
/* Yazı ve ikonlar dışarı taşmasın, ancak verinin tamamını gizleme. */
.site-header .dropdown-menu .dropdown-item-title {overflow-wrap:break-word;}
.site-header .dropdown-menu .dropdown-item span:not(.nav-icon) {white-space:normal;overflow-wrap:break-word;}
/* Input stilinin seçim kontrollerini bozmasını kesinleştir. */
input[type="checkbox"],input[type="radio"] {width:16px;max-width:16px;height:16px;min-width:16px;min-height:16px;padding:0;box-shadow:none;}
/* Kart ve tablo kenarları için ortak kontrast */
html[data-theme="light"] .section,html[data-theme="light"] .kpi {border-color:#e1e8f4;}
html[data-theme="light"] hr {background:#dce4f0;}
@media (max-width:1320px) {
  .site-header > .header-inner .header-menu-content {box-sizing:border-box;}
}
