/* Form alanları için ortak stil (Django form render'ı için) */
form input[type=text], form input[type=email], form input[type=number], form input[type=date], form input[type=file],
form select, form textarea {
  width: 100%; border: 1px solid #cbd5e1; border-radius: .375rem; padding: .4rem .6rem; font-size: .875rem; background: #fff;
}
form input:focus, form select:focus, form textarea:focus { outline: 2px solid #0ea5e9; outline-offset: 0; border-color: #0ea5e9; }
.errorlist { color: #be123c; font-size: .8rem; list-style: none; padding: 0; margin: .25rem 0 0; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:.45rem .9rem; border-radius:.375rem; font-size:.875rem; font-weight:500; text-align:center; }
.btn-primary { background:#0f172a; color:#fff; } .btn-primary:hover { background:#1e293b; }
.btn-secondary { background:#fff; color:#0f172a; border:1px solid #cbd5e1; } .btn-secondary:hover { background:#f1f5f9; }
.badge { display:inline-block; padding:.1rem .5rem; border-radius:9999px; font-size:.75rem; font-weight:500; }

/* Veri giriş ekranlarının uzun dosya açıklamaları büyütülmüş yazıda taşmasın. */
.management-entry-form code { overflow-wrap:anywhere; }
.management-context-link { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
/* Yükleme sonucu: dosya ve satır hataları uzun olsa da eylem ve hata metni okunur. */
.upload-result-file { max-width:100%; overflow-wrap:anywhere; }
.upload-result-back {
  display:inline-flex; align-items:center; min-height:44px; max-width:100%;
  margin:.5rem 0 1rem; padding:.5rem .75rem; border:1px solid #bae6fd;
  border-radius:.375rem; background:#f0f9ff; color:#0369a1;
  font-size:.875rem; font-weight:500; overflow-wrap:anywhere;
}
.upload-result-error-table { width:100%; min-width:24rem; table-layout:fixed; }
.upload-result-error-table :is(th,td) { overflow-wrap:anywhere; white-space:normal; }
.upload-result-error-table :is(th,td):first-child { width:6rem; }
@media (max-width:639px) {
  .management-entry-form input:not([type="hidden"]):not([type="checkbox"]),
  .management-entry-form select,
  .management-entry-form textarea { min-height:44px; }
  .management-list-filter input:not([type="hidden"]),
  .management-list-filter select { min-height:44px; }
}

/* Başvuru yönetimindeki filtre ve karar kontrolleri dar ekranda rahat dokunulur. */
@media (max-width: 640px) {
  .basvuru-admin-form input:not([type="hidden"]):not([type="checkbox"]),
  .basvuru-admin-form select,
  .basvuru-admin-form textarea,
  .basvuru-admin-form .btn { min-height: 2.75rem; }
}
.basvuru-admin-form [role="alert"] a {
  display:inline-flex; align-items:center; min-height:44px; max-width:100%;
  overflow-wrap:anywhere;
}

/* Yönetim ve filo gezintisi: dar ekranda bağlantılar belge genişliğini taşırmaz. */
.skip-link { position:absolute; z-index:50; top:-5rem; left:1rem; padding:.6rem .9rem; border-radius:.375rem; background:#fff; color:#0f172a; }
.skip-link:focus { top:.5rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-nav { background:#0f172a; color:#e2e8f0; }
.site-nav-wrap { position:relative; max-width:80rem; margin-inline:auto; padding:.5rem 1rem; }
.site-nav-mobile { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:2.5rem; }
.site-nav-brand { color:#fff; font-weight:600; letter-spacing:-.02em; white-space:nowrap; }
.site-nav-brand[aria-current="page"] { text-decoration:underline; text-decoration-color:#38bdf8; text-decoration-thickness:2px; text-underline-offset:.4rem; }
.site-nav-brand-detail { color:#cbd5e1; font-weight:400; }
.site-nav-toggle { display:flex; align-items:center; justify-content:center; min-height:2.75rem; min-width:4.5rem; padding:.4rem .7rem; border:1px solid #64748b; border-radius:.375rem; cursor:pointer; list-style:none; color:#fff; }
.site-nav-toggle::-webkit-details-marker { display:none; }
.site-nav-toggle::after { content:"▾"; padding-left:.35rem; }
.site-nav-mobile-menu[open] .site-nav-toggle::after { content:"▴"; }
.site-nav-mobile-links { position:absolute; z-index:30; top:100%; left:0; right:0; display:grid; gap:.1rem; max-height:calc(100vh - 3.5rem); max-height:calc(100dvh - 3.5rem); overflow-y:auto; padding:.5rem 1rem 1rem; background:#0f172a; box-shadow:0 .75rem 1rem rgb(15 23 42 / .2); }
.site-nav-mobile-links a, .site-nav-mobile-links button { display:flex; align-items:center; min-height:2.75rem; width:100%; padding:.45rem .7rem; border-radius:.375rem; text-align:left; color:#cbd5e1; }
.site-nav-mobile-links a:hover, .site-nav-mobile-links button:hover { background:#1e293b; color:#fff; }
.site-nav-mobile-links a[aria-current="page"] { background:#334155; color:#fff; font-weight:600; box-shadow:inset 3px 0 #38bdf8; }
.site-nav-mobile-links form { margin:0; }
.site-nav-mobile-links .site-nav-user { padding:.75rem .7rem .3rem; color:#cbd5e1; overflow-wrap:anywhere; font-size:.875rem; }
.site-nav-desktop { display:none; }
@media (min-width:1280px) {
  .site-nav-mobile { display:none; }
  .site-nav-desktop { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.2rem; min-height:2.5rem; font-size:.875rem; white-space:nowrap; }
  .site-nav-desktop a:not(.site-nav-brand), .site-nav-desktop button { color:#cbd5e1; }
  .site-nav-desktop a:hover, .site-nav-desktop button:hover { color:#fff; }
  .site-nav-desktop a[aria-current="page"]:not(.site-nav-brand) { color:#fff; font-weight:600; text-decoration:underline; text-decoration-color:#38bdf8; text-decoration-thickness:2px; text-underline-offset:.5rem; }
  .site-nav-desktop .site-nav-user { margin-left:auto; min-width:0; max-width:10rem; overflow:hidden; text-overflow:ellipsis; color:#94a3b8; }
  .site-nav-desktop form { flex:none; }
}

/* Geniş veri tabloları yalnızca kendi bölgelerinde kayar; sayfa yatay taşmaz. */
.fleet-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain; }
.fleet-table { min-width:40rem; }
.fleet-table th, .fleet-table td { white-space:nowrap; }
.fleet-table-scroll:focus-visible { outline:2px solid #0284c7; outline-offset:2px; }
.fleet-table-hint { display:none; margin:.5rem 0; color:#475569; font-size:.8rem; }
.fleet-card-value { overflow-wrap:anywhere; }
/* Fatura kayıtları: dar ekranda tam alan adlarıyla okunur, geniş ekranda tablo kalır. */
.invoice-mobile-list { display:none; }
.report-mobile-list { display:none; }
@media (max-width:639px) {
  .invoice-desktop-table, .fleet-table-hint.invoice-desktop-table { display:none; }
  .report-desktop-table, .fleet-table-hint.report-desktop-table { display:none; }
  .invoice-mobile-list { display:grid; gap:.75rem; }
  .report-mobile-list { display:grid; gap:.75rem; }
  .report-mobile-card { min-width:0; padding:1rem; border:1px solid #e2e8f0; border-radius:.5rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .08); overflow-wrap:anywhere; }
  .report-mobile-type { margin-bottom:.2rem; color:#475569; font-size:.75rem; font-weight:600; }
  .report-mobile-title { min-width:0; font-size:1rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
  .report-mobile-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:.5rem; margin-top:.75rem; }
  .report-mobile-fields > div { min-width:0; padding-top:.45rem; border-top:1px solid #e2e8f0; }
  .report-mobile-fields dt { color:#475569; font-size:.75rem; font-weight:600; }
  .report-mobile-fields dd { min-width:0; margin-top:.1rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
  .invoice-mobile-card { min-width:0; padding:1rem; border-radius:.5rem; background:#fff; box-shadow:0 1px 3px rgb(15 23 42 / .1); overflow-wrap:anywhere; }
  .invoice-mobile-card--warning { border-left:4px solid #e11d48; }
  .invoice-mobile-title { min-width:0; font-size:1rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
  .invoice-mobile-title a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; color:#0369a1; text-decoration:underline; overflow-wrap:anywhere; }
  .invoice-mobile-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:.5rem; margin-top:.75rem; }
  .invoice-mobile-fields > div { min-width:0; padding-top:.45rem; border-top:1px solid #e2e8f0; }
  .invoice-mobile-fields dt { color:#475569; font-size:.75rem; font-weight:600; }
  .invoice-mobile-fields dd { min-width:0; margin-top:.1rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
}
.report-kpi-grid > div { min-width:0; }
.report-kpi-value { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; line-height:1.2; }
.report-filter-form > * { min-width:0; }
.report-filter-error {
  grid-column:1 / -1; padding:.75rem; border:1px solid #fda4af;
  border-radius:.375rem; background:#fff1f2; color:#881337;
  overflow-wrap:anywhere;
}
.report-filter-error p { margin-top:.25rem; }
.report-filter-error ul { margin-top:.5rem; padding-left:1.25rem; list-style:disc; }
.report-filter-error a {
  display:inline-flex; align-items:center; min-height:44px; max-width:100%;
  font-weight:600; text-decoration:underline; text-underline-offset:.2em;
  overflow-wrap:anywhere;
}
.report-field-error { margin-top:.25rem; color:#881337; overflow-wrap:anywhere; }
.portal-status-copy { min-width:0; overflow-wrap:anywhere; }
.portal-document-table { min-width:36rem; }
.portal-document-table th, .portal-document-table td { padding-inline:.5rem; }
.portal-document-table .portal-document-name { max-width:23rem; overflow-wrap:anywhere; }
.filter-actions, .fleet-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.pagination-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:.75rem; }
.admin-detail-history-summary { min-height:44px; padding-block:.5rem; }

/* Plaka tablosundaki HTMX limit düzenleyicisi: etiketler ve dokunma hedefleri. */
.limit-inline-trigger { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin-left:.25rem; padding:.35rem .5rem; }
.limit-inline-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.5rem; min-width:0; }
.limit-inline-form .errorlist { flex-basis:100%; }
.limit-inline-field { display:flex; flex-direction:column; gap:.2rem; max-width:100%; min-width:0; }
.limit-inline-field label { font-size:.75rem; font-weight:600; color:#475569; }
.limit-inline-field :is(input,select) { min-width:0; min-height:44px; }
.limit-inline-field--litre { width:6.5rem; }
.limit-inline-field--tl { width:7rem; }
.limit-inline-field--periyot { width:8rem; }
.limit-inline-field--date { width:9.5rem; }
.limit-inline-field--reason { width:10rem; }
.limit-inline-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.limit-inline-actions .btn { min-height:44px; }
.limit-inline-form :is(input,select,button):focus-visible,
.limit-inline-trigger:focus-visible { outline:2px solid #0284c7; outline-offset:2px; }

a:focus-visible, button:focus-visible, summary:focus-visible, .btn:focus-visible {
  outline:2px solid #0284c7;
  outline-offset:2px;
}
@media (max-width:639px) {
  .btn, .filter-actions button { min-height:2.75rem; }
  .report-filter-form :is(input:not([type="hidden"]), select) {
    min-width:0; max-width:100%; min-height:44px;
  }
  .fleet-table-scroll a[href] { display:inline-flex; align-items:center; min-height:44px; }
  .filter-actions > * { flex:1 1 7rem; }
  .fleet-actions > * { flex:1 1 7rem; }
  .fleet-table-hint { display:block; }
  .pagination-controls .pagination-status { flex-basis:100%; order:-1; }
  .pagination-controls .btn { flex:1 1 auto; }
}
@media (max-width:479px) {
  .site-nav-brand { min-width:0; }
  .site-nav-brand-detail { display:none; }
  .site-nav-toggle { min-width:0; padding-inline:.4rem; }
  .fleet-kpi-grid { grid-template-columns:minmax(0,1fr); }
  .fleet-page-title { overflow-wrap:anywhere; }
  .portal-status-row { flex-wrap:wrap; }
}
