/* Metronic 9 (Tailwind) köprü katmanı — açık tema.
   Temel bileşenler (.btn/.card/.table/.badge/.input/.menu) metronic/css/styles.css'ten gelir;
   burada yalnız bizim özel bileşenlerimiz ve Metronic'in kapsamadığı desenler var. */

a { color: var(--tw-primary); text-decoration: none; }
a.plain { color: inherit; }

/* Tailwind preflight input çerçevelerini sıfırlar — her form alanına temel görünüm.
   :where() özgüllüğü sıfırlar; sınıf bazlı kurallar (quick-search vb.) ezebilir. */
:where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="hidden"], [type="file"]), select, textarea) {
  border: 1px solid var(--tw-gray-300); border-radius: 0.375rem; padding: 8px 10px;
  font-size: 13px; background: var(--tw-light); color: var(--tw-gray-800); font-family: inherit; }
:where(input, textarea):focus-visible { outline: 2px solid var(--tw-primary); outline-offset: 0; }

/* Tailwind preflight başlık boyutlarını sıfırlar — sayfa başlıkları geri gelsin */
h1 { font-size: 1.375rem; font-weight: 600; color: var(--tw-gray-900); margin: 0 0 16px; }
h2 { font-size: 1rem; font-weight: 600; color: var(--tw-gray-800); margin: 24px 0 12px; }
h3 { font-size: 0.875rem; font-weight: 600; margin: 18px 0 10px; color: var(--tw-gray-600); }
.muted { color: var(--tw-gray-500); font-weight: 400; }

/* Flex zincirindeki içerik sütunları içeriğinden dar kalabilsin (tablo taşması sayfayı genişletmesin) */
body > .flex.grow { min-width: 0; }
.wrapper { min-width: 0; }

.brand { font-weight: 700; font-size: 17px; color: var(--tw-gray-900); }
.brand span { color: var(--tw-primary); }
.brand.big { font-size: 24px; padding: 0 0 4px; }

/* Üst çubuk içeriği */
.topbar-left { align-items: center; gap: 14px; } /* display'i utility sınıfları yönetir (mobilde hidden) */
.user { display: flex; align-items: center; gap: 12px; color: var(--tw-gray-600); font-size: 13px; }
.user form { margin: 0; }
.quick-search { display: flex; align-items: center; gap: 8px; border: 1px solid var(--tw-gray-300); border-radius: 0.5rem; background: var(--tw-light); padding: 0 12px; color: var(--tw-gray-500); }
.quick-search input { border: 0; outline: 0; background: transparent; padding: 8px 0; font-size: 13px; width: 260px; color: var(--tw-gray-800); }
.bell { display: inline-flex; align-items: center; gap: 5px; background: #FFEEF3; color: var(--tw-danger); padding: 6px 12px; border-radius: 0.5rem; font-size: 13px; font-weight: 600; }

/* Mobil menü (elle drawer — core.bundle CSP nedeniyle kullanılmıyor) */
.nav-backdrop { display: none; }
body.mobile-nav-open .nav-backdrop { display: block; position: fixed; inset: 0; z-index: 40; background: rgba(7, 20, 55, 0.3); }
body.mobile-nav-open .sidebar { display: flex; position: fixed; top: 0; bottom: 0; left: 0; z-index: 50; width: 270px; box-shadow: 0 10px 30px rgba(7, 20, 55, 0.2); }
body.mobile-nav-open .sidebar .sidebar-header { display: flex; padding-top: 16px; }

/* Panel istatistik kartları (Metronic .card + bizim iç düzen) */
.cards { display: flex; gap: 16px; flex-wrap: wrap; }
.cards .card { padding: 20px 28px; min-width: 160px; }
.card-num { font-size: 28px; font-weight: 700; color: var(--tw-gray-900); }
.card-label { color: var(--tw-gray-600); margin-top: 4px; font-size: 13px; }

code { background: #EFF6FF; color: var(--tw-primary); padding: 1px 6px; border-radius: 4px; font-size: 12px; }

/* Giriş / hata sayfaları */
.auth-wrap { flex: 1; min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.auth-card { background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 0.75rem; box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.03); padding: 36px; width: 380px; max-width: calc(100vw - 32px); display: flex; flex-direction: column; gap: 14px; }
.auth-card label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--tw-gray-600); }
.auth-card input { border: 1px solid var(--tw-gray-300); border-radius: 0.375rem; padding: 10px 12px; font-size: 14px; background: var(--tw-light); }
.auth-card input:focus { outline: 2px solid var(--tw-primary); }
.auth-card .btn { width: 100%; justify-content: center; }
.alert { background: #FFEEF3; color: var(--tw-danger); border-radius: 0.5rem; padding: 10px 14px; font-size: 13px; }
.flash { background: #EAFFF1; color: #04B440; border-radius: 0.5rem; padding: 10px 14px; font-size: 13px; margin-bottom: 16px; }
.flash-err { background: #FFEEF3; color: var(--tw-danger); }
.filter-note { background: #FFF8DD; color: var(--tw-warning); border-radius: 0.5rem; padding: 8px 14px; font-size: 13px; margin-bottom: 14px; }

/* Filtre çubukları */
.filters { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 0.75rem; padding: 12px 16px; }
.filters input[type="text"], .filters input[type="date"], .filters select, .filters input[type="number"] {
  border: 1px solid var(--tw-gray-300); border-radius: 0.375rem; padding: 8px 10px; font-size: 13px; background: var(--tw-light); color: var(--tw-gray-800); }
.filters input[type="text"] { min-width: 240px; }
.filters .check { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--tw-gray-600); }
.num { width: 70px; }

/* Buton ilaveleri (temel .btn Metronic'ten) */
.btn.slim { height: 2rem; padding-left: 0.75rem; padding-right: 0.75rem; font-size: 12px; width: auto; }
.btn:focus-visible, a:focus-visible { outline: 2px solid var(--tw-primary); outline-offset: 2px; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
form button.btn { justify-content: center; }

/* Rozet varyantları (temel .badge Metronic'ten) */
.badge-fr { background: #EFF6FF; color: var(--tw-primary); }
.badge-oda { background: #FFF8DD; color: var(--tw-warning); }
.badge-dg { background: #F8F5FF; color: var(--tw-info); }
.badge-dkb, .badge-diger { background: var(--tw-gray-100); color: var(--tw-gray-600); }
.badge-success { background: #EAFFF1; color: #04B440; }
.badge-late { background: #FFEEF3; color: var(--tw-danger); }
.badge-grade { background: #EFF6FF; color: var(--tw-primary); font-weight: 700; }
.badge-sev-yuksek { background: #FFEEF3; color: var(--tw-danger); }
.badge-sev-orta { background: #FFF8DD; color: var(--tw-warning); }
.badge-sev-dusuk { background: #EFF6FF; color: var(--tw-primary); }
.badge-st-acik { background: var(--tw-gray-100); color: var(--tw-gray-600); }
.badge-st-onaylandi { background: #EAFFF1; color: #04B440; }
.badge-st-reddedildi { background: #FFEEF3; color: var(--tw-danger); }
.badge-st-duzenlendi { background: #F8F5FF; color: var(--tw-info); }
.row-fr td { background: #FBFDFF; }

/* Tablolar (temel .table Metronic'ten) */
.table { background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 0.75rem; overflow: hidden; }
.table th, .table td { font-size: 13px; }
.table.kv th { width: 220px; text-align: left; }
.table-scroll { overflow-x: auto; }
.table.facts td, .table.facts th { white-space: nowrap; }
.table.facts td:first-child { white-space: normal; min-width: 280px; }
.num-col { text-align: right; font-variant-numeric: tabular-nums; }
td form { margin: 0; }

.pagination { display: flex; gap: 12px; align-items: center; margin-top: 16px; font-size: 13px; }
.actions { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 16px; }
.actions form { margin: 0; }
.inline-form { display: flex; gap: 8px; align-items: flex-end; }
.inline-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--tw-gray-600); }

/* Sekmeler */
.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--tw-gray-200); margin-bottom: 18px; }
.tabs a { padding: 9px 16px; color: var(--tw-gray-600); border-bottom: 2px solid transparent; font-size: 14px; }
.tabs a.active { color: var(--tw-primary); border-bottom-color: var(--tw-primary); font-weight: 600; }

/* Bulgu kartları */
.finding { background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-left: 4px solid var(--tw-gray-400); border-radius: 0.75rem; padding: 14px 18px; margin-bottom: 12px; }
.finding.sev-yuksek { border-left-color: var(--tw-danger); }
.finding.sev-orta { border-left-color: #F6C000; }
.finding.sev-dusuk { border-left-color: var(--tw-primary); }
.finding-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.finding-title { font-weight: 600; margin-bottom: 4px; color: var(--tw-gray-900); }
.finding-detail { font-size: 13px; color: var(--tw-gray-600); }
.finding-suggestion { font-size: 13px; color: var(--tw-gray-600); margin-top: 6px; }
.finding-actions { display: flex; gap: 8px; margin-top: 10px; }
.evidence { background: var(--tw-gray-100); border: 1px dashed var(--tw-gray-300); border-radius: 0.5rem; padding: 8px 12px; font-size: 12px; color: var(--tw-gray-600); margin-top: 8px; }
.evidence q { font-style: italic; }

/* Skor kartı */
.score-row { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 16px; }
.score-card { background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 0.75rem; padding: 26px 34px; text-align: center; min-width: 150px; }
.score-grade { font-size: 44px; font-weight: 800; color: var(--tw-primary); letter-spacing: -1px; }
.score-num { color: var(--tw-gray-600); margin-top: 4px; }

/* Düzenleme formları */
.edit-form { display: flex; flex-direction: column; gap: 12px; max-width: 760px; background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 0.75rem; padding: 20px; }
.edit-form label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--tw-gray-600); }
.edit-form input, .edit-form textarea, .edit-form select { border: 1px solid var(--tw-gray-300); border-radius: 0.375rem; padding: 9px 11px; font-size: 14px; background: var(--tw-light); font-family: inherit; color: var(--tw-gray-800); }
.edit-form input:focus, .edit-form textarea:focus { outline: 2px solid var(--tw-primary); }

/* Çipler */
.chips { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 18px; }
.chip { display: inline-flex; align-items: center; gap: 6px; background: var(--tw-light); border: 1px solid var(--tw-gray-200); border-radius: 20px; padding: 6px 14px; font-size: 12px; color: var(--tw-gray-600); }
.chip b { color: var(--tw-gray-900); }
.chip-ok::before { content: "●"; color: var(--tw-success); }
.chip-warn::before { content: "●"; color: #F6C000; }
.chip-err::before { content: "●"; color: var(--tw-danger); }

.nav-sub { margin-top: 8px; border-top: 1px solid var(--tw-gray-200); padding-top: 8px; }

details.raw summary { cursor: pointer; color: var(--tw-primary); font-size: 12px; }
details.raw pre { background: var(--tw-gray-100); border: 1px solid var(--tw-gray-200); border-radius: 0.5rem; padding: 8px; font-size: 11px; overflow-x: auto; max-width: 700px; }

/* Mobil ilaveler */
@media (max-width: 1023px) {
  .cards { gap: 10px; }
  .cards .card { min-width: 104px; padding: 14px 16px; flex: 1; }
  .filters input[type="text"] { min-width: 0; width: 100%; }
  .score-row { flex-direction: column; }
  .user { gap: 8px; }
}
