/* Inline override from original index.html line 6 */
:root{
  --sa-primary:#2563eb;
  --sa-primary-600:#1d4ed8;
  --sa-primary-soft:#eaf2ff;
  --sa-success:#059669;
  --sa-info:#0891b2;
  --sa-warning:#d97706;
  --sa-danger:#dc2626;
  --sa-bg:#f6f8fb;
  --sa-surface:#ffffff;
  --sa-border:#dbe4ef;
  --sa-text:#172033;
  --sa-muted:#64748b;
  --sa-shadow:0 10px 28px rgba(15,23,42,0.08);
  --analysis-part-gap:20px;
  --analysis-part-rule-gap:14px;
  --analysis-part-rule-width:min(420px, 74%);
}
html,body{background:var(--sa-bg) !important;color:var(--sa-text);font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;}

/* ===== GENEL ===== */
#loader { display:none; position:fixed; inset:0; width:100%; height:100%; background:rgba(15,23,42,0.78); z-index:9999; justify-content:center; align-items:center; flex-direction:column; color:#fff; font-size:1.2em; }
.loader-spinner { width:3rem; height:3rem; }
body.auth-pending #loader { display:flex; background:radial-gradient(circle at top left, #ffffff 0, #eef6ff 42%, #eaf7f3 100%); color:var(--sa-text); }
body.auth-pending .loader-spinner { color:var(--sa-primary) !important; border-width:0.18rem; }
#loginScreen { display:none; justify-content:center; align-items:center; min-height:100vh; background:radial-gradient(circle at 20% 20%, rgba(37,99,235,0.12), transparent 35%), radial-gradient(circle at 80% 10%, rgba(5,150,105,0.12), transparent 30%), linear-gradient(135deg,#f8fbff 0%,#eef6ff 55%,#edf8f4 100%); }
.login-card { width:100%; max-width:400px; box-shadow: var(--sa-shadow); border:1px solid rgba(219,228,239,0.85); border-radius:12px; overflow:hidden; }
.login-card .card-header { background:linear-gradient(135deg,var(--sa-primary),#0f766e) !important; color:#fff !important; border-radius:12px 12px 0 0 !important; border-bottom:none !important; }
.login-card .card-header *, .login-card .card-header h3, .login-card .card-header p { color:#fff !important; }
.login-subtitle { font-size:0.85em; }
.password-input { border-right:0; }
.password-toggle { cursor:pointer; background:transparent; border-left:0; }
.forgot-link { font-size:0.85em; color:var(--sa-primary); }
#loginError { display:none; }
.sa-topbar {
  min-height: 56px;
  border-bottom: 1px solid var(--sa-border);
  box-shadow: 0 1px 0 rgba(15,23,42,0.03);
}
.top-icon-link {
  width: 42px;
  height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #263241 !important;
}
.top-icon-link:hover,
.top-icon-link:focus {
  background: var(--sa-primary-soft);
  color: var(--sa-primary) !important;
}
/* Mobil üst bar logosu — sadece ≤991px'de görünür */
.top-mobile-brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  color: var(--sa-primary) !important;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.01em;
  padding: 4px 6px;
  border-radius: 8px;
  transition: background 0.15s ease, opacity 0.15s ease;
  white-space: nowrap;
}
.top-mobile-brand i {
  font-size: 1.05rem;
  color: var(--sa-primary);
}
.top-mobile-brand-icon {
  width: 1.18rem;
  height: 1.18rem;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}
.top-mobile-brand:hover,
.top-mobile-brand:focus {
  background: var(--sa-primary-soft);
  opacity: 0.9;
  outline: none;
}
.top-user-email {
  max-width: min(34vw, 360px);
  min-height: 34px;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  color: var(--sa-muted) !important;
  font-size:0.84rem;
  overflow: hidden;
}
.top-user-email i {
  color: var(--sa-primary);
}
.top-user-email #userEmail {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-nav-card .home-nav-desc { font-size:0.8em; }
.search-wrapper { position:relative; }
.btn-search-clear { border-color:#ced4da; }
.settings-toolbar { gap:10px; }
.settings-search { max-width:250px; }
.selected-student-pill { font-size:0.8em; }
.sa-selected-pill {
  background: rgba(5,150,105,0.12) !important;
  color: #047857 !important;
  border: 1px solid rgba(5,150,105,0.24);
  font-weight: 700;
}
#connBadge,
.conn-badge {
  min-height: 32px;
  margin: 0 4px;
  padding: 4px 10px !important;
  border-radius: 999px;
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  border: none;
  background: #fff;
  color: var(--sa-muted) !important;
  font-size:0.78rem;
  font-weight: 700;
  line-height: 1;
}
.conn-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148,163,184,0.30);
}
.conn-badge.is-online {
  background: transparent;
  color: #047857 !important;
}
.conn-badge.is-pending {
  background: transparent;
  color: #475569 !important;
}
.conn-badge.is-pending .conn-dot {
  background: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148,163,184,0.35);
}
.conn-badge.is-online .conn-dot {
  background: var(--sa-success);
  box-shadow: 0 0 0 3px rgba(5,150,105,0.30);
}
.conn-badge.is-offline {
  background: transparent;
  color: #b91c1c !important;
}
.conn-badge.is-offline .conn-dot {
  background: var(--sa-danger);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.30);
}
.top-action-link {
  min-height: 34px;
  margin-left: 2px;
  padding: 5px 10px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  border-radius: 10px;
  font-weight: 700;
  color: #334155 !important;
}
.top-action-link:hover,
.top-action-link:focus {
  background: #f1f5f9;
  color: var(--sa-primary) !important;
}
#installBtn.top-action-link {
  color: #047857 !important;
}
#installBtn.top-action-link:hover,
#installBtn.top-action-link:focus {
  background: rgba(5,150,105,0.10);
  color: #047857 !important;
}
.logout-link i {
  color: var(--sa-primary);
}
.mb-3 > label,
.form-label { font-weight: 600; margin-bottom: 0.35rem; color: #1f2937; }
.form-control,
.form-select,
select.form-control {
  min-height: 38px;
}
.form-control:focus,
.form-select:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.2rem rgba(13,110,253,0.18);
}
.alert-default-info,
.alert-default-warning {
  border-radius: 6px;
  border: 1px solid transparent;
}
.alert-default-info {
  background: #eef6ff;
  border-color: #b6d9ff;
  color: #084298;
}
.alert-default-warning {
  background: #fff8e1;
  border-color: #ffe08a;
  color: #664d03;
}
.chart-box { height:380px; position:relative; width:100%; }
.chart-box-sm { height:200px; }
.chart-box-xs { height:190px; }
.chart-box-md { height:220px; }
.chart-box-lg { height:260px; }
.chart-box-xl { height:280px; }
.chart-box-tight { margin:8px 0 10px; }
.chart-box-top { margin-top:10px; }
.chart-title { font-size:11px; font-weight:700; color:#4a6fa5; margin-bottom:4px; text-align:left; }
.table-compact { font-size:0.85em; }
.table-readable { font-size:0.9em; }
.table-scroll-compact { max-height:200px; }
.rank-warning-cell { background:#fff3cd !important; color:#856404 !important; font-weight:700; }
.card-title-sm { font-size:14px !important; }
.card-title-md { font-size:15px !important; font-weight:700 !important; }
.card-title-subtle { font-weight:400; }
.pane { display:none; }
.pane.active-pane,
.pane[aria-hidden="false"] { display:block; }
.sa-content-header {
  padding: 10px 0.5rem;
  border-bottom: 1px solid var(--sa-border);
  background: rgba(255,255,255,0.88);
  box-shadow: 0 1px 0 rgba(15,23,42,0.03);
  margin-bottom: 14px;
}
@media (max-width: 991px) {
  .sa-content-header {
    display: none !important;
  }
  .app-content {
    padding-top: 14px !important;
  }
}
.sa-breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
  min-height: 32px;
  display: flex;
  align-items: center;
  font-size: 0.96rem;
  line-height: 1.25;
}
.sa-breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--sa-muted);
}
.sa-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #94a3b8;
  padding-right: 0.55rem;
}
.sa-breadcrumb-active {
  font-weight: 700;
  color: var(--sa-text);
}
.sa-footer {
  font-size: 0.85em;
}
.sa-table-scroll-sm {
  max-height: 300px;
  overflow-y: auto;
}
body[data-active-pane="anasayfa_genel"] #anasayfa_genel,
body[data-active-pane="anasayfa"] #anasayfa,
body[data-active-pane="sonuclar"] #sonuclar,
body[data-active-pane="rapor"] #rapor,
body[data-active-pane="ayarlar"] #ayarlar { display:block; }
.scroll { overflow-x:auto; }
.list-scroll { max-height:min(72vh, 680px); overflow:auto; overscroll-behavior:contain; border-radius:8px; position: relative; background: #fff; }
tr.print-title-row { display: none; }
.scroll.list-scroll {
  padding-top: 0 !important;
  background: #fff;
}
.scroll.list-scroll table {
  margin-top: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.scroll.list-scroll table thead {
  position: sticky;
  top: -2px;
  z-index: 80;
  background: #f8fafc;
  transform: translateZ(0);
}
.scroll.list-scroll table thead::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -2px;
  height: calc(100% + 3px);
  background: #f8fafc;
  border-bottom: 1px solid var(--sa-border);
  z-index: -1;
}
.scroll.list-scroll table thead tr {
  background: #f8fafc;
}
.scroll.list-scroll table thead tr.print-title-row,
.scroll.list-scroll table thead tr.print-title-row th {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 0 !important;
}
.scroll table thead th,
.table-responsive table thead th,
.list-scroll table thead th {
  position: sticky;
  top: -2px;
  z-index: 81;
  background: #f8fafc !important;
  background-clip: padding-box;
  box-shadow: 0 1px 0 rgba(15,23,42,0.08);
}
.scroll table thead th:first-child,
.table-responsive table thead th:first-child,
.list-scroll table thead th:first-child {
  z-index: 83;
}
.app-main .table-responsive:has(table) {
  border: 1px solid var(--sa-border);
  border-radius: 8px;
  background: #fff;
}
.app-main .table-responsive:has(table) > .table,
.app-main .table-responsive:has(table) table.table {
  margin-bottom: 0;
}
.app-main table.table {
  --bs-table-bg: transparent;
  --bs-table-border-color: #e8eef6;
  color: #334155;
}
.app-main table.table > thead > tr > th,
.app-main table.table > thead th {
  background: #f8fafc !important;
  color: #334155 !important;
  border-bottom: 1px solid var(--sa-border) !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  vertical-align: middle;
}
.app-main table.table > tbody > tr > td {
  border-color: #edf2f7;
  vertical-align: middle;
}
.app-main .table-hover > tbody > tr:hover > * {
  background-color: #f8fbff !important;
  color: var(--sa-text) !important;
}
.home-nav-card {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  min-height: 84px;
}
.home-nav-card:hover,
.home-nav-card:focus {
  transform: translateY(-2px);
  filter: saturate(1.05);
  outline: none;
}
.home-nav-card:focus-visible {
  box-shadow: 0 0 0 0.24rem rgba(13,110,253,0.25) !important;
}

.analysis-filter-card .card-header {
  min-height: 52px;
}
.filter-summary {
  display: none !important;
  border-bottom: 1px solid #edf1f5;
  background: #fbfcfe;
  padding: 8px 12px;
}
.filter-summary-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid #dbe3ec;
  background: #fff;
  color: #26323f;
  font-size: 0.78rem;
  line-height: 1.2;
}
.filter-chip small {
  color: #6c757d;
  font-weight: 700;
  font-size: 0.68rem;
  text-transform: uppercase;
}
.filter-chip.chip-primary { border-color: rgba(13,110,253,0.28); background: rgba(13,110,253,0.06); }
.filter-chip.chip-success { border-color: rgba(25,135,84,0.28); background: rgba(25,135,84,0.07); }
.filter-chip.chip-muted { color: #6c757d; background: #f8f9fa; }
.filter-reset-btn { margin-left: auto; white-space: nowrap; }
.filter-reset-header {
  border-color: var(--sa-border);
  color: var(--sa-muted);
  background: #fff;
  white-space: nowrap;
}
.filter-reset-header:hover,
.filter-reset-header:focus {
  border-color: var(--sa-primary);
  color: var(--sa-primary);
  background: var(--sa-primary-soft);
}
.methodology-card {
  border: 1px solid rgba(37,99,235,0.16);
  border-radius: 8px;
  background: #fff;
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15,23,42,0.06);
}
.methodology-toggle {
  width: 100%;
  border: 0;
  background: linear-gradient(135deg, #ffffff, #f4f8ff);
  color: #172033;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
  text-align: left;
}
.methodology-toggle > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.methodology-toggle .fa-circle-info {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--sa-primary-soft);
  color: var(--sa-primary);
}
.methodology-toggle .fa-chevron-down {
  color: var(--sa-muted);
  transition: transform 0.18s ease, color 0.18s ease;
}
.methodology-toggle[aria-expanded="true"] .fa-chevron-down {
  transform: rotate(180deg);
  color: var(--sa-primary);
}
.methodology-toggle:hover,
.methodology-toggle:focus-visible {
  background: #eef6ff;
  outline: none;
}
.methodology-body {
  display: block;
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(37,99,235,0.10);
  font-size: 0.83rem;
  color: #475569;
  line-height: 1.45;
}
.methodology-intro {
  color: #34465c;
  margin-bottom: 10px;
}
.methodology-context {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f4f8ff;
  color: #31537a;
  font-size: 0.78rem;
  margin-bottom: 12px;
}
.methodology-section h5 {
  font-size: 0.96rem;
  font-weight: 800;
  color: #203449;
  margin: 0 0 6px;
}
.methodology-section-intro {
  margin: 0 0 10px;
  color: #64748b;
}
.methodology-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.methodology-item {
  border: 1px solid #e6edf7;
  background: linear-gradient(135deg, #ffffff, #fbfdff);
  padding: 10px 11px 9px;
  border-radius: 8px;
  box-shadow: inset 3px 0 0 rgba(37,99,235,0.24);
}
.methodology-item-head {
  margin-bottom: 7px;
}
.methodology-item h6 {
  margin: 0;
  color: #213b5c;
  font-weight: 800;
  font-size: 0.84rem;
  line-height: 1.18;
}
.methodology-original {
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.25;
  margin-top: 2px;
}
.methodology-when {
  display: inline-flex;
  align-items: flex-start;
  gap: 4px;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 7px;
  background: #f4f8ff;
  border: 1px solid #dbeafe;
  color: #496984;
  font-size: 0.72rem;
  line-height: 1.25;
  margin-bottom: 7px;
}
.methodology-copy {
  display: grid;
  gap: 5px;
}
.methodology-copy p {
  margin: 0;
  color: #475569;
  line-height: 1.38;
}
.methodology-copy span {
  display: inline-flex;
  margin-right: 6px;
  color: #31537a;
  font-size: 0.70rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.methodology-item p {
  margin: 0 0 5px;
}
.methodology-item p:last-child {
  margin-bottom: 0;
}
.methodology-empty {
  border: 1px dashed #cbd9ee;
  background: #f8fbff;
  color: #52657d;
  border-radius: 8px;
  padding: 10px 12px;
}
.risk-note {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 10px;
  padding: 7px 10px;
  border-radius: 8px;
  background: #fff8e1;
  border: 1px solid #ffe08a;
  color: #664d03;
  font-size: 0.8rem;
}

/* Tablo renkleri */
.absent-row td { background:rgba(220,53,69,0.07) !important; color:#999 !important; }
tr.highlight-row td { background-color:rgba(255,193,7,0.35) !important; font-weight:bold !important; color:#212529 !important; }

/* ===== ORTALAMA SATIRI TASARIMI ===== */
tr.avg-row td { background-color: #e7f1ff !important; color: #0a58ca !important; font-weight: bold !important; border-top: 2px solid #0d6efd !important; font-size: 0.95em; vertical-align: middle !important; }
tr.avg-row td:first-child { letter-spacing: 0.5px; }
.avg-label { text-align:right; padding-right:15px !important; }
.avg-label-sm { text-align:right; padding-right:12px !important; }
.avg-row-subtotal td { background:#e8f5e9 !important; }
.avg-row-strong .avg-label,
.avg-row-strong .avg-label-sm { font-weight:700 !important; }

/* Yetki */
.admin-only { display:none !important; }
body.is-admin div.admin-only:not(.pane), body.is-admin span.admin-only, body.is-admin i.admin-only { display:inline-block !important; }
body.is-admin li.admin-only { display:block !important; }
body.is-admin button.admin-only { display:inline-block !important; }
body.is-admin button.w-100.admin-only { display:block !important; }

/* ===== YENİ BİRLEŞTİRİLMİŞ BAŞLIK TASARIMI (Hem Ekran Hem Yazıcı) ===== */
.report-header { display: flex !important; align-items: center; justify-content: space-between; padding: 12px 20px; border-radius: 4px 4px 0 0; margin-bottom: 15px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.report-header-tight { margin-bottom:10px !important; }
.report-title-main { font-size:16px; }
.report-title-sub { font-size:13px; }
.report-card { border-top:3px solid #0d6efd; }
.sa-report-info { border-top-color: var(--sa-info); }
.sa-report-success { border-top-color: var(--sa-success); }
.sa-report-warning { border-top-color: var(--sa-warning); }
.sa-report-primary { border-top-color: var(--sa-primary); }
.sa-report-soft { background:#f4f6f9; }
.report-card-body { padding-top:5px; }
.report-card-body-spacious { padding-top:8px; }
.avoid-break-row { page-break-inside:avoid; break-inside:avoid; }
.sec-value-compact { font-size:1.05em; }
.sec-value-small { font-size:0.95em; }
.sec-unit { font-size:0.62em; font-weight:600; color:#6c757d; }
.sec-unit-muted { font-size:0.62em; font-weight:600; }
.sec-inline-summary { font-size:0.55em; font-weight:400; color:#6c757d; letter-spacing:0; }
.sec-label-note { font-weight:400; color:#6c757d; }
.sec-sub-strong { font-weight:600; }
.sec-sub-comparison { color:var(--metric-color, #6c757d); font-weight:600; }
.comparison-list { margin-top:4px; max-height:80px; overflow-y:auto; }
.summary-pill { font-size:0.78em; background:#f1f3f5; border-radius:6px; padding:2px 8px; color:#495057; }

/* Toplu Rapor > Liste: ekranda okunabilir tablo yoğunluğu */
.rapor-list-report .rapor-list-table {
  font-size: 0.88rem;
  line-height: 1.34;
  /* Dinamik: tarayıcı içeriğe göre sütun genişliği belirler */
  table-layout: auto;
  width: 100%;
}
.rapor-list-report .rapor-list-table > thead > tr > th,
.rapor-list-report .rapor-list-table > thead th {
  font-size: 0.82rem;
  line-height: 1.3;
  padding: 0.46rem 0.5rem !important;
  white-space: nowrap;
}
.rapor-list-report .rapor-list-table > tbody > tr > td {
  line-height: 1.34;
  padding: 0.44rem 0.5rem !important;
}
.rapor-list-report .list-scroll {
  position: relative;
  background: #fff;
  border: 1px solid var(--sa-border);
  border-radius: 8px;
}
.rapor-list-report .rapor-list-table > thead > tr:not(.print-title-row) > th,
.rapor-list-report .rapor-list-table > thead th {
  position: sticky !important;
  top: -2px;
  z-index: 82;
  background: #f8fafc !important;
  box-shadow: 0 1px 0 rgba(15,23,42,0.10);
}
.rapor-list-report .rapor-list-table > thead > tr.print-title-row {
  display: none !important;
}
/* Ad sütunu: uzun isimlerde satır kırabilir, minimum alan garantili */
.rapor-list-report .rapor-list-table .rl-name {
  font-weight: 600;
  min-width: 7rem;
  word-break: break-word;
  white-space: normal;
  text-align: left !important;
}
/* Ders sütunları: başlık (th) ve veri (td) birlikte ortaya hizalanır */
.rapor-list-report .rapor-list-table th.rl-sub,
.rapor-list-report .rapor-list-table .rl-sub {
  text-align: center !important;
  white-space: nowrap;
  min-width: 3rem;
}
/* Sayısal/sıra sütunları: th dahil tümü ortaya — th.rl-* açıkça belirtilmesi gerekir
   çünkü AdminLTE/Bootstrap thead th'lere text-align:left uygulayabilir */
.rapor-list-report .rapor-list-table th.rl-idx,
.rapor-list-report .rapor-list-table .rl-idx,
.rapor-list-report .rapor-list-table th.rl-class,
.rapor-list-report .rapor-list-table .rl-class,
.rapor-list-report .rapor-list-table th.rl-date,
.rapor-list-report .rapor-list-table .rl-date,
.rapor-list-report .rapor-list-table th.rl-publisher,
.rapor-list-report .rapor-list-table .rl-publisher,
.rapor-list-report .rapor-list-table th.rl-net,
.rapor-list-report .rapor-list-table .rl-net,
.rapor-list-report .rapor-list-table th.rl-score,
.rapor-list-report .rapor-list-table .rl-score,
.rapor-list-report .rapor-list-table th.rl-rank,
.rapor-list-report .rapor-list-table .rl-rank,
.rapor-list-report .rapor-list-table th.rl-count,
.rapor-list-report .rapor-list-table .rl-count {
  text-align: center !important;
  white-space: nowrap;
}

/* ===== PRINT — Tüm cihazlar için temel kurallar ===== */


/* ===== PRINT — Sadece masaüstü/geniş ekran optimizasyonu ===== */


/* ===== ARAMA ===== */
#anlStuSearchWrapper { position:relative; }
#anlStuRes { position:absolute; z-index:1050; width:100%; background:#fff; border:1px solid #ced4da; border-radius:0 0 4px 4px; max-height:320px; overflow-y:auto; box-shadow:0 4px 12px rgba(0,0,0,0.15); display:none; }
#anlStuRes:empty { display:none; }
.anlStu-item { padding:10px 14px; cursor:pointer; border-bottom:1px solid #f0f0f0; font-size:0.92em; display:flex; justify-content:space-between; align-items:center; gap:10px; transition:background 0.15s ease; line-height:1.35; }
.anlStu-item:hover { background:#e8f4ff; }
.anlStu-item:last-child { border-bottom:none; }
.anlStu-item strong { color:#0d6efd; font-weight:600; margin-right:4px; }
#anlStuBadge { margin-top:4px; min-height:22px; }
.anlStu-main { flex:1; min-width:0; }
#sRes { position:absolute; z-index:1050; width:100%; background:#fff; border:1px solid #ced4da; border-radius:0 0 4px 4px; max-height:320px; overflow-y:auto; box-shadow:0 4px 12px rgba(0,0,0,0.15); display:none; }
#sRes:empty { display:none; }
.s-item { padding:10px 14px; cursor:pointer; border-bottom:1px solid #f0f0f0; font-size:0.92em; display:flex; justify-content:space-between; align-items:center; gap:10px; transition:background 0.15s ease; }
.s-item:hover { background:#e8f4ff; }
.s-item:last-child { border-bottom:none; }
.s-item .s-info { flex:1; min-width:0; line-height:1.35; }
.s-item .s-info strong { color:#0d6efd; font-weight:600; margin-right:4px; }
.s-item .s-actions { display:flex; gap:4px; flex-shrink:0; opacity:0.55; transition:opacity 0.15s; }
.s-item:hover .s-actions { opacity:1; }
.s-item .s-actions .btn { padding:3px 8px; font-size:0.75rem; line-height:1.2; border-radius:6px; }

/* Kutular */
.preview-box { background: #f8f9fa; border-left: 4px solid #17a2b8; padding: 10px 15px; margin-bottom: 15px; border-radius: 4px; }
.preview-box.warning { border-left-color: #ffc107; background: #fff3cd; }
.preview-box.danger { border-left-color: #dc3545; background: #f8d7da; }
.preview-box.compact { padding:10px; }
.preview-box.danger-strong { background:#f8d7da; border-color:#dc3545; }
.preview-count-lg { font-size:1.5em; }
.preview-count-md { font-size:1.3em; }
.preview-alert { font-size:0.85em; padding:8px; }
.preview-error-table { max-height:200px; border:1px solid #f5c6cb; }
.preview-error-table table { font-size:0.85em; }
.preview-error-table thead th { background:#f8d7da !important; color:#721c24 !important; }
.preview-col-row { width:60px; }
.preview-col-no { width:100px; }

/* ===== TOAST ===== */
#toastContainer { position: fixed; top: 70px; right: 20px; z-index: 10000; display: flex; flex-direction: column; gap: 10px; max-width: 350px; }
.toast-item { display: flex; align-items: center; padding: 12px 16px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); animation: slideInRight 0.3s ease-out; font-size: 0.9em; color: #fff; }
.toast-item.success { background: linear-gradient(135deg, #28a745, #20c997); }
.toast-item.error { background: linear-gradient(135deg, #dc3545, #e74c3c); }
.toast-item.warning { background: linear-gradient(135deg, #ffc107, #fd7e14); color: #212529; }
.toast-item.info { background: linear-gradient(135deg, #0dcaf0, #0d6efd); }
.toast-item i { margin-right: 10px; font-size: 1.2em; }
.toast-item .toast-close { margin-left: auto; cursor: pointer; opacity: 0.7; padding: 0 5px; }
@keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes slideOutRight { from { transform: translateX(0); opacity: 1; } to { transform: translateX(100%); opacity: 0; } }

/* ===== PWA POPUP ===== */
#pwaInstallPopup { position: fixed; top: 70px; left: 50%; transform: translateX(-50%); z-index: 99999; background: rgba(255,255,255,0.98); border-radius: 10px; box-shadow: var(--sa-shadow); padding: 14px 16px; display: none; align-items: center; gap: 12px; max-width: 390px; width: 92%; animation: popupSlideDown 0.4s ease-out; border:1px solid var(--sa-border); border-left: 4px solid var(--sa-primary); backdrop-filter: blur(10px); }
#pwaInstallPopup .pwa-icon { font-size: 1.35em; flex:0 0 42px; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:var(--sa-primary-soft); color:var(--sa-primary); }
#pwaInstallPopup .pwa-text { flex: 1; }
#pwaInstallPopup .pwa-text strong { display: block; font-size: 0.95em; color: var(--sa-text); margin-bottom: 2px; }
#pwaInstallPopup .pwa-text span { font-size: 0.8em; color: var(--sa-muted); }
#pwaInstallPopup .pwa-actions { display: flex; flex-direction: column; gap: 6px; flex-shrink: 0; }
#pwaInstallPopup .btn-pwa-install { background: var(--sa-primary); color: #fff; border: none; border-radius: 7px; padding: 6px 14px; font-size: 0.82em; cursor: pointer; white-space: nowrap; box-shadow:0 3px 8px rgba(37,99,235,0.2); }
#pwaInstallPopup .btn-pwa-install:hover { background: var(--sa-primary-600); }
#pwaInstallPopup .btn-pwa-close { background: transparent; color: #94a3b8; border: none; font-size: 1.05em; cursor: pointer; align-self: flex-start; line-height: 1; }
#pwaInstallPopup .pwa-progress { position: absolute; bottom: 0; left: 0; height: 3px; background: linear-gradient(90deg,var(--sa-primary),var(--sa-success)); border-radius: 0 0 0 10px; animation: pwaBar 4s linear forwards; }

@keyframes popupSlideDown { from { transform: translateX(-50%) translateY(-20px); opacity: 0; } to { transform: translateX(-50%) translateY(0); opacity: 1; } }
@keyframes popupSlideUp { from { transform: translateX(-50%) translateY(0); opacity: 1; } to { transform: translateX(-50%) translateY(-20px); opacity: 0; } }
@keyframes pwaBar { from { width: 100%; } to { width: 0%; } }

/* ===== EŞLEŞTİRME SİHİRBAZI ===== */
.wizard-section { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 6px; padding: 15px; margin-bottom: 15px; }
.wizard-section h6 { margin-top: 0; margin-bottom: 15px; font-weight: bold; color: #5a7fa8; border-bottom: 2px solid #9ab3d5; padding-bottom: 5px; display: inline-block; }
.mapping-info { font-size:0.9em; }
.mapping-footer-actions { gap:6px; }
.wizard-note { font-size:0.85em; }
.wizard-subject-note { font-size:0.85em; margin-top:-10px; }
.wizard-progress { margin-bottom:12px; }
.wizard-step-row { display:flex; justify-content:space-between; margin-bottom:4px; }
.wizard-step-label { flex:1; text-align:center; font-size:0.72em; font-weight:700; padding:0 2px; color:#adb5bd; word-break:break-word; line-height:1.3; }
.wizard-step-label.is-active { color:#4a6fa5; }
.wizard-step-label.is-complete { color:#28a745; }
.wizard-progress .progress { height:7px; border-radius:4px; }
.wizard-progress .progress-bar { border-radius:4px; transition:width 0.3s; }
.wizard-progress-bar { background: var(--sa-primary) !important; }
.subj-map-row { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; background: #fff; padding: 10px; border-radius: 4px; border: 1px dashed #ccc; }
.subj-map-row select, .subj-map-row input { flex: 1; }
.subj-map-row .btn-remove { flex: 0 0 auto; }
.wiz-steps { display: flex; justify-content: space-between; font-size: 0.78em; margin-bottom: 4px; }
.wiz-step-label { text-align: center; flex: 1; padding: 0 2px; line-height: 1.3; }
#mMappingsFooter { position: sticky; bottom: 0; z-index: 10; }

/* ===== MOBİL ===== */
@media (max-width: 768px) {
  .app-content-header { padding: 8px 0.5rem !important; margin-bottom: 10px !important; }
  .app-content { padding: 0 0.25rem 0.75rem !important; }
  .breadcrumb { font-size: 0.92rem !important; line-height: 1.25; }
  .navbar .nav-link { padding-left: 0.5rem; padding-right: 0.5rem; }
  .top-icon-link { width: 38px; height: 38px; }
  .top-mobile-brand { margin-left: 6px; }
  #connBadge { min-width: 30px; justify-content: center; padding-left: 8px !important; padding-right: 8px !important; }
  #connTxt { display: none; }
  .logout-link span { display: none; }
  .logout-link { min-width: 34px; justify-content: center; padding-left: 8px !important; padding-right: 8px !important; }
  .table-responsive { font-size: 0.8em; }
  .table th, .table td { padding: 0.4rem 0.3rem !important; white-space: nowrap; }
  .table th { font-size: 0.75em; }
  .card-header { padding: 0.5rem 0.75rem; }
  .card-header .card-title { font-size: 0.95em; }
  .filter-summary { padding: 7px 9px; }
  .filter-summary-inner { gap: 5px; }
  .filter-chip { max-width: 100%; font-size: 0.74rem; }
  .filter-reset-btn { width: 100%; margin-left: 0; }
  .methodology-toggle { padding: 10px 12px; }
  .methodology-body { padding: 12px; font-size: 0.78rem; }
  .methodology-items { grid-template-columns: 1fr; }
  .methodology-item { padding: 9px 10px 8px; box-shadow: inset 3px 0 0 rgba(37,99,235,0.22); }
  .methodology-item h6 { font-size: 0.82rem; }
  .methodology-original,
  .methodology-when { font-size: 0.70rem; }
  .methodology-context { display: flex; }
  .home-nav-card { min-height: 72px; }
  .chart-box { height: 250px !important; }
  #toastContainer { left: 10px; right: 10px; max-width: none; top: auto; bottom: 70px; }
  .scroll { -webkit-overflow-scrolling: touch; overflow-x: auto; }
  .scroll table { min-width: 480px; }
  .scroll table th, .scroll table td { font-size: 0.75em !important; padding: 0.3rem 0.25rem !important; }
  .rapor-list-report .rapor-list-table {
    font-size: 0.86rem;
  }
  .rapor-list-report .rapor-list-table > thead > tr > th,
  .rapor-list-report .rapor-list-table > thead th {
    font-size: 0.8rem !important;
    padding: 0.42rem 0.46rem !important;
  }
  .rapor-list-report .rapor-list-table > tbody > tr > td {
    font-size: 0.86rem !important;
    line-height: 1.34 !important;
    padding: 0.42rem 0.46rem !important;
  }
  .subj-map-row { flex-direction: column; align-items: stretch; }
  .modal-dialog { margin: 6px !important; max-width: calc(100vw - 12px) !important; }
  .modal-content { max-height: calc(100vh - 12px) !important; display: flex; flex-direction: column; overflow: hidden; }
  .modal-body { overflow-y: auto !important; -webkit-overflow-scrolling: touch; flex: 1 1 auto; }
  .modal-footer { flex-shrink: 0 !important; position: sticky; bottom: 0; background: #fff; z-index: 5; border-top: 2px solid #dee2e6 !important; padding: 8px 12px !important; }
  #wizBtnBack, #wizBtnNext, #wizBtnDone { font-size: 0.85em; padding: 6px 12px; }
  .wizard-section { padding: 10px; }
  .wizard-section .row .col-md-4, .wizard-section .row .col-md-6 { margin-bottom: 6px; }
}
/* scroll-hint: tablo gerçekten yatay kayıyorsa görünür */
.scroll-hint {
  display: none;
  position: relative;
  z-index: 7;
  font-size: 0.75em;
  color: #64748b;
  text-align: right;
  margin: 0 0 3px;
  padding: 2px 4px;
  background: linear-gradient(180deg,#fff 72%,rgba(255,255,255,0.92));
}
.scroll-hint.is-needed { display: block; }
@media (max-width: 768px) {
  .scroll-hint {
    display: none;
  }
  .scroll-hint.is-needed { display: block; }
}

/* ===== KUTU GRAFİĞİ ===== */
.boxplot-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.boxplot-svg { display: block; width: 100%; min-width: 280px; }
.boxplot-box { fill: rgba(13,110,253,0.12); stroke: #0d6efd; stroke-width: 2; }
.boxplot-median { stroke: #dc3545; stroke-width: 3; stroke-linecap: round; }
.boxplot-whisker { stroke: #6c757d; stroke-width: 1.5; stroke-dasharray: 5,3; }
.boxplot-whisker-cap { stroke: #6c757d; stroke-width: 2; }
.boxplot-mean { fill: #fd7e14; stroke: #fff; stroke-width: 1.5; }
.boxplot-student { fill: #dc3545; stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 4px rgba(220,53,69,0.7)); }
.boxplot-outlier { fill: none; stroke: #6f42c1; stroke-width: 1.5; }
.boxplot-label { font-family: inherit; font-size: 12px; fill: #343a40; text-anchor: middle; font-weight: 600; }
.boxplot-axis { stroke: #ced4da; stroke-width: 1.5; }
.boxplot-gridline { stroke: #f1f3f5; stroke-width: 1; }
.boxplot-legend { font-size: 11px; fill: #6c757d; }
.boxplot-card {
  background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
  border: 1px solid #d0d9f0;
  border-radius: 10px;
  padding: 14px 14px 10px;
  margin-top: 10px;
  box-shadow: 0 1px 6px rgba(13,110,253,0.07);
}
.stat-limitation {
  margin: 8px 0;
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid #dbe3ec;
  background: #f8fafc;
  color: #64748b;
  font-size: 0.78rem;
}
.boxplot-title {
  font-size: 12px; font-weight: 700; color: #3a5a9a;
  margin-bottom: 6px;
  display: flex; align-items: center; gap: 6px;
}
.boxplot-title .boxplot-icon-class { color:#28a745; }
.boxplot-title .boxplot-icon-school { color:#0d6efd; }
.boxplot-note { font-weight:400; color:#6c757d; font-size:0.85em; }

/* ===== TREND ANALİZİ ===== */
.trend-card { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border-radius: 12px; padding: 16px; margin-bottom: 15px; }
.trend-card .trend-row { overflow-x: visible; flex-wrap: wrap !important; }
.trend-card .trend-metric { min-width: 90px; flex: 1 1 120px; margin-bottom: 8px; position: relative; }
@media (min-width: 576px) {
  .trend-card .trend-row > .trend-metric:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 16%;
    right: 0;
    bottom: 16%;
    width: 1px;
    background: linear-gradient(180deg, transparent, #c7d0dc 16%, #8fa0b5 50%, #c7d0dc 84%, transparent);
    box-shadow: 1px 0 0 rgba(255,255,255,0.9);
  }
}
@media (max-width: 575px) {
  .trend-card .trend-metric { flex: 0 0 50%; min-width: 0; padding-bottom: 12px; }
  .trend-card .trend-metric::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 2px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c7d0dc 18%, #aeb9c8 50%, #c7d0dc 82%, transparent);
    box-shadow: 0 1px 0 rgba(255,255,255,0.9);
  }
  .trend-card .trend-metric:last-child::after,
  .trend-card .trend-metric:nth-last-child(2):nth-child(odd)::after { display: none; }
  .trend-card { padding: 12px; }
}
.trend-card .trend-value { font-size:1.1em; font-weight:700; }
.trend-metric-value { font-size:1.4em; font-weight:700; color:var(--metric-color, #212529); }
.trend-r2-value { font-size:0.9em; color:var(--metric-color, #212529); }
.trend-card .trend-label { font-size:0.75em; }
.trend-card .trend-indicator-sm { font-size:0.8em; }
.trend-tone-up { color:#28a745 !important; }
.trend-tone-down { color:#dc3545 !important; }
.trend-tone-stable { color:#6c757d !important; }
.trend-tone-primary { color:#0d6efd !important; }

.trend-stat-card {
  border: 1px solid #dde5ee;
  overflow: hidden;
  padding: 0;
}
.trend-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-right: -1px;
  margin-bottom: -1px;
}
.trend-stat-item {
  border-right: 1px solid #d7dde5;
  border-bottom: 1px solid #d7dde5;
  min-height: 96px;
  padding: 12px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.trend-stat-value {
  color: var(--metric-color, #334155);
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.2;
  min-height: 1.45rem;
  word-break: break-word;
}
.trend-stat-value .trend-indicator {
  font-size: 0.82rem;
  white-space: nowrap;
}
.trend-stat-label {
  color: #475569;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.15;
  margin-top: 6px;
}
.trend-stat-sub {
  color: #6c757d;
  font-size: 0.70rem;
  line-height: 1.25;
  margin-top: 3px;
}
@media (max-width: 575px) {
  .trend-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .trend-stat-item {
    border-right: 0;
    border-bottom: 0;
    min-height: 88px;
    padding: 10px 8px;
    position: relative;
  }
  .trend-stat-item:nth-child(odd) {
    border-right: 1px solid #d7dde5;
  }
  .trend-stat-item:last-child:nth-child(odd) {
    border-right: 0;
  }
  .trend-stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 14%;
    right: 14%;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c7d0dc 18%, #aeb9c8 50%, #c7d0dc 82%, transparent);
    box-shadow: 0 1px 0 rgba(255,255,255,0.9);
  }
  .trend-stat-item:nth-last-child(2):nth-child(odd)::after,
  .trend-stat-item:last-child::after {
    display: none;
  }
}

.stats-block {
  background: linear-gradient(135deg, #f8f9fa 0%, #eceff3 100%);
  border: 1px solid #e0e6ed;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
  padding: 14px 16px;
}
.stats-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.trend-card .stats-inline-row {
  border-top: 1px solid #d7dde5;
  margin-top: 10px;
  padding-top: 10px;
}
.stats-item {
  flex: 1 1 180px;
  min-width: 160px;
  position: relative;
  padding: 6px 14px;
}
.stats-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 10px;
  width: 1px;
  background: linear-gradient(180deg, transparent, #cfd6df, transparent);
}
.stats-label {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0;
}
.stats-value {
  color: #334155;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 3px;
  word-break: break-word;
}
.stats-item.stat-pos .stats-value { color: #198754; }
.stats-item.stat-neg .stats-value { color: #dc3545; }
.stats-item.stat-neutral .stats-value { color: #495057; }
.stats-sub {
  color: #6c757d;
  font-size: 0.73rem;
  line-height: 1.3;
  margin-top: 2px;
}
.stats-explain {
  border-top: 1px dashed #d7dde5;
  color: #8a94a0;
  font-size: 0.68rem;
  line-height: 1.25;
  margin-top: 5px;
  padding-top: 4px;
}
.stats-sub .comparison-list {
  max-height: 72px;
  overflow-y: auto;
}
.stats-sub .sec-sub {
  color: #6c757d;
  font-size: 0.72rem;
  line-height: 1.25;
  margin-top: 2px;
}
@media (max-width: 575px) {
  .stats-block { padding: 12px; }
  .stats-item {
    flex: 0 0 50%;
    min-width: 0;
    padding: 9px 10px;
    text-align: center;
  }
  .stats-item:nth-child(odd) {
    border-right: 1px solid #d7dde5;
  }
  .stats-item:last-child:nth-child(odd) {
    border-right: 0;
  }
  .stats-item:not(:last-child)::after {
    top: auto;
    right: 14%;
    bottom: 0;
    left: 14%;
    width: auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, #cfd6df, transparent);
  }
  .stats-item:nth-last-child(2):nth-child(odd)::after,
  .stats-item:last-child::after {
    display: none;
  }
}
.trend-tone-purple { color:#6f42c1 !important; }
.trend-indicator { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 20px; font-size: 0.85em; font-weight: bold; }
.trend-up { background-color: rgba(40, 167, 69, 0.15); color: #28a745; }
.trend-down { background-color: rgba(220, 53, 69, 0.15); color: #dc3545; }
.trend-stable { background-color: rgba(108, 117, 125, 0.15); color: #6c757d; }

/* ===== AdminLTE v4 temel uyum katmani ===== */
.btn-success { background-color: var(--sa-success) !important; border-color: var(--sa-success) !important; }
.btn-success:hover { background-color: #047857 !important; border-color: #047857 !important; }
.btn-danger { background-color: var(--sa-danger) !important; border-color: var(--sa-danger) !important; }
.btn-danger:hover { background-color: #b91c1c !important; border-color: #b91c1c !important; }
.btn-warning { background-color: #f59e0b !important; border-color: #f59e0b !important; color: #111827 !important; }
.btn-info { background-color: var(--sa-info) !important; border-color: var(--sa-info) !important; color: #fff !important; }

/* ===== MODALLAR — AU başlık sistemi ===== */
.sa-modal-header {
  border-bottom: 0;
  color: #fff;
}
.sa-modal-header .modal-title,
.sa-modal-header .modal-title * {
  color: inherit !important;
}
.sa-modal-primary { background: var(--sa-primary) !important; }
.sa-modal-info { background: var(--sa-info) !important; }
.sa-modal-danger { background: var(--sa-danger) !important; }
.sa-modal-warning {
  background: #fef3c7 !important;
  color: #78350f;
  border-bottom: 1px solid rgba(217,119,6,0.18);
}

/* ===== SİSTEM YÖNETİMİ — temel yerleşim ===== */
.sys-mgmt-inner { margin: 0 auto; }
.sys-mgmt-section { display: grid; grid-template-columns: 1fr 1fr; }
@media (max-width: 575px) { .sys-mgmt-section { grid-template-columns: 1fr; } }
@media (min-width: 992px) {
  .sys-mgmt-tile .tile-text strong { font-size: 1rem; }
  .sys-mgmt-tile .tile-text span { font-size: 0.82rem; }
  .sys-mgmt-danger .danger-text strong { font-size: 1rem; }
  .sys-mgmt-danger .danger-text span { font-size: 0.82rem; }
  .sys-mgmt-danger .btn-danger-modern { padding: 10px 22px; font-size: 0.92rem; }
}
.sys-mgmt-tile { display: flex; align-items: center; gap: 14px; cursor: pointer; transition: all 0.2s ease; text-align: left; width: 100%; }
.sys-mgmt-tile .tile-icon { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.sys-mgmt-tile .tile-text { flex: 1; min-width: 0; }
.sys-mgmt-tile .tile-text strong { display: block; font-size: 0.92rem; margin-bottom: 2px; }
.sys-mgmt-tile .tile-text span { display: block; font-size: 0.78rem; line-height: 1.3; }
.sys-mgmt-divider { height: 1px; }
.sys-mgmt-danger { display: flex; align-items: center; gap: 14px; }
.sys-mgmt-danger .danger-icon { display: inline-flex; align-items: center; justify-content: center; font-size: 1.2em; flex-shrink: 0; }
.sys-mgmt-danger .danger-text { flex: 1; min-width: 0; }
.sys-mgmt-danger .danger-text strong { display: block; font-size: 0.92rem; margin-bottom: 2px; }
.sys-mgmt-danger .danger-text span { display: block; font-size: 0.78rem; opacity: 0.85; line-height: 1.3; }
.sys-mgmt-danger .btn-danger-modern { color: #fff; border: none; padding: 8px 16px; font-size: 0.85rem; cursor: pointer; transition: all 0.2s; flex-shrink: 0; }
.sys-mgmt-danger .btn-danger-modern:hover { transform: translateY(-1px); }

/* ===== RİSK UYARI SİSTEMİ ===== */
#riskPanel { margin-top: 0; margin-bottom: 14px; }
.risk-panel-card {
  border-top: 3px solid #e05260;
  box-shadow: 0 2px 12px rgba(220,53,69,0.10);
}
.risk-panel-card-header {
  background: linear-gradient(135deg,#fff0f2 0%,#fde8eb 100%);
  padding: 10px 14px;
}
.risk-panel-body {
  padding: 12px 14px;
}
.risk-panel-icon {
  color: #dc3545;
}
.risk-panel-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.risk-panel-header h6 { margin: 0; font-weight: 700; color: #842029; font-size: 0.95rem; display: flex; align-items: center; gap: 7px; }
.risk-filter-bar { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.risk-filter-bar select { font-size: 0.8rem; padding: 3px 8px; border: 1px solid rgba(220,53,69,0.25); border-radius: 6px; background: rgba(255,255,255,0.9); color: #212529; }
.risk-card { border-radius: 10px; border: 1px solid #f5c2c7; background: linear-gradient(135deg, #fff5f5 0%, #ffe9ec 100%); padding: 11px 14px; margin-bottom: 8px; display: flex; align-items: flex-start; gap: 12px; cursor: pointer; transition: box-shadow 0.18s, transform 0.15s; }
.risk-card:hover { box-shadow: 0 4px 14px rgba(220,53,69,0.18); transform: translateY(-1px); }
.risk-card.risk-high { border-color: #dc3545; background: linear-gradient(135deg, #fff0f0, #ffd6d8); }
.risk-card.risk-med  { border-color: #fd7e14; background: linear-gradient(135deg, #fff8f0, #ffe5cc); }
.risk-card.risk-low  { border-color: #ffc107; background: linear-gradient(135deg, #fffdf0, #fff3cc); }
.risk-avatar { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1em; flex-shrink: 0; color: #fff; }
.risk-high .risk-avatar { background: linear-gradient(135deg, #dc3545, #b02a37); }
.risk-med  .risk-avatar { background: linear-gradient(135deg, #fd7e14, #e06a10); }
.risk-low  .risk-avatar { background: linear-gradient(135deg, #ffc107, #d4a000); }
.risk-body { flex: 1; min-width: 0; }
.risk-name { font-weight: 700; font-size: 0.92rem; color: #212529; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.risk-class { font-size: 0.78rem; color: #6c757d; margin-bottom: 4px; }
.risk-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.risk-badge { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 20px; border: 0; font-size: 0.72rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.risk-badge-icon { font-size:0.8em; }
.risk-badge:focus-visible { outline: 2px solid rgba(13,110,253,0.45); outline-offset: 2px; }
.rb-trend  { background: rgba(220,53,69,0.12);  color: #842029; }
.rb-rank   { background: rgba(108,117,125,0.12); color: #495057; }
.rb-subj   { background: rgba(111,66,193,0.12);  color: #4a1d8a; }
.rb-abs    { background: rgba(255,193,7,0.18);   color: #664d03; }
.risk-score-badge { flex-shrink: 0; text-align: center; }
.risk-score-badge span { display: block; font-size: 1.3em; font-weight: 800; line-height: 1; }
.risk-score-badge small { font-size: 0.68rem; color: #6c757d; display: block; margin-top: 2px; }
.risk-high .risk-score-badge span { color: #dc3545; }
.risk-med  .risk-score-badge span { color: #fd7e14; }
.risk-low  .risk-score-badge span { color: #856404; }
.risk-empty { text-align: center; padding: 18px 10px; color: #6c757d; font-size: 0.88rem; }
.risk-class i { font-size:0.75em; }
.risk-info-title { font-size:0.78em; font-weight:700; color:#6c757d; margin-bottom:4px; }
.risk-info-card { border:1px solid #ffc107; border-radius:8px; background:linear-gradient(135deg,#fffdf0,#fff3cc); padding:10px 13px; }
.risk-info-card.risk-high { border-color:#dc3545; background:linear-gradient(135deg,#fff0f0,#ffd6d8); }
.risk-info-card.risk-med { border-color:#fd7e14; background:linear-gradient(135deg,#fff8f0,#ffe5cc); }
.risk-info-card.risk-low { border-color:#ffc107; background:linear-gradient(135deg,#fffdf0,#fff3cc); }
.risk-info-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; }
.risk-info-label { font-weight:700; font-size:0.9em; color:#856404; }
.risk-info-card.risk-high .risk-info-label,
.risk-info-card.risk-high .risk-info-score strong { color:#dc3545; }
.risk-info-card.risk-med .risk-info-label,
.risk-info-card.risk-med .risk-info-score strong { color:#fd7e14; }
.risk-info-card.risk-low .risk-info-label,
.risk-info-card.risk-low .risk-info-score strong { color:#856404; }
.risk-info-score { margin-left:8px; font-size:0.78em; color:#6c757d; }
.risk-info-badges { display:flex; flex-wrap:wrap; gap:3px; }
.risk-stat-card {
  min-height: 64px;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border-radius: 8px;
  padding: 10px 12px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.10);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.risk-stat-high { background: linear-gradient(135deg,#dc3545,#b02a37); }
.risk-stat-med { background: linear-gradient(135deg,#fd7e14,#e06a10); }
.risk-stat-low { background: linear-gradient(135deg,#ffc107,#d4a000); color: #212529; }
.risk-stat-total { background: linear-gradient(135deg,#0d6efd,#0a58ca); }
.risk-stat-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15,23,42,0.14);
}
.risk-stat-card:focus-visible {
  outline: 3px solid rgba(13,110,253,0.35);
  outline-offset: 2px;
}
.risk-stat-icon {
  width: 42px;
  min-width: 42px;
  height: 42px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.18);
  color: inherit;
  font-size: 1.15rem;
}
.risk-stat-content {
  min-width: 0;
  flex: 1;
}
.risk-stat-label {
  display: block;
  color: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.15;
}
.risk-stat-number {
  display: block;
  color: inherit;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.1;
  margin-top: 2px;
}
.risk-summary-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.risk-sum-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px; border-radius: 20px; font-size: 0.8rem; font-weight: 600; }
.rsp-high { background: rgba(220,53,69,0.12);  color: #842029; border: 1px solid rgba(220,53,69,0.25); }
.rsp-med  { background: rgba(253,126,20,0.12);  color: #7d3a00; border: 1px solid rgba(253,126,20,0.25); }
.rsp-low  { background: rgba(255,193,7,0.15);   color: #664d03; border: 1px solid rgba(255,193,7,0.3); }
.risk-list-wrap { max-height: 420px; overflow-y: auto; padding-right: 2px; }
.risk-list-wrap::-webkit-scrollbar { width: 5px; } .risk-list-wrap::-webkit-scrollbar-thumb { background: #dee2e6; border-radius: 4px; }
@media (max-width: 768px) { .risk-card { flex-wrap: wrap; } .risk-score-badge { order: -1; } }

/* ===== ANA SAYFA — SINAV TÜRÜ KARTLARI (nav-stili) ===== */
/* sys-mgmt-tile ile aynı görsel dile sahip, bilgi amaçlı kartlar */
.home-stat-card {
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px 16px; border-radius: 10px;
  border: 1px solid #e9ecef; background: #f8f9fa;
  transition: all 0.2s ease;
  position: relative; overflow: hidden;
  height: 100%;
}
.home-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(13,110,253,0.12);
  border-color: var(--exam-color, #0d6efd);
  background: #fff;
}
.home-stat-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 4px; background: var(--exam-color, #0d6efd);
}
.home-stat-card .hsc-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px;
}
.home-stat-card .hsc-title {
  font-size: 0.95rem; font-weight: 600; color: #212529;
  display: inline-flex; align-items: center; gap: 8px;
  min-width: 0; line-height: 1.25;
}
.home-stat-card .hsc-title i {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.85em; color: #fff;
  background: var(--exam-color, #0d6efd);
}
.home-stat-card .hsc-count {
  flex-shrink: 0;
  display: inline-flex; align-items: baseline; gap: 4px;
  padding: 3px 10px; border-radius: 20px;
  background: rgba(var(--exam-color-rgb, 13,110,253),0.08);
  background: color-mix(in srgb, var(--exam-color, #0d6efd) 12%, transparent);
  color: var(--exam-color, #0d6efd);
  font-weight: 700; font-size: 0.95rem;
}
.home-stat-card .hsc-count small {
  font-size: 0.7rem; font-weight: 500; opacity: 0.85;
}
.home-stat-card .hsc-grades {
  display: flex; flex-wrap: wrap; gap: 5px;
  padding-top: 8px; border-top: 1px dashed #e2e6ea;
}
.home-stat-card .hsc-grades.hsc-grades-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:4px;
}
.home-stat-card .hsc-grade {
  display: inline-flex; align-items: baseline; gap: 4px;
  padding: 2px 9px; border-radius: 14px;
  background: #fff; border: 1px solid #e2e6ea;
  font-size: 0.78rem; color: #495057;
}
.home-stat-card .hsc-grade-link {
  cursor:pointer;
  transition: background 0.15s, border-color 0.15s, transform 0.1s, box-shadow 0.15s;
}
.home-stat-card .hsc-arrow { font-size:10px; opacity:0.6; }
.home-stat-card .hsc-grade-link:hover {
  background: var(--exam-color, #0d6efd);
  border-color: var(--exam-color, #0d6efd);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}
.home-stat-card .hsc-grade-link:hover strong,
.home-stat-card .hsc-grade-link:hover small,
.home-stat-card .hsc-grade-link:hover i {
  color: #fff !important;
}
.home-stat-card .hsc-grade strong {
  color: var(--exam-color, #0d6efd); font-weight: 700;
}
.home-stat-card .hsc-grade small {
  font-size: 0.7rem; color: #6c757d;
}
.home-stat-card .hsc-empty {
  padding-top: 8px; border-top: 1px dashed #e2e6ea;
  font-size: 0.76rem; color: #adb5bd; font-style: italic;
}

/* ===== SINAV TÜRÜ RENK PALETİ (dinamik — hash ile atanır) ===== */
/* Birbirinden ayırt edilebilir, baskıda koyu yüzey üretmeyen sınav türü tonları */
.exam-color-0 { --exam-color: #2563eb; --exam-color-rgb: 37,99,235; } /* mavi */
.exam-color-1 { --exam-color: #059669; --exam-color-rgb: 5,150,105; } /* yesil */
.exam-color-2 { --exam-color: #d97706; --exam-color-rgb: 217,119,6; } /* amber */
.exam-color-3 { --exam-color: #dc2626; --exam-color-rgb: 220,38,38; } /* kirmizi */
.exam-color-4 { --exam-color: #7c3aed; --exam-color-rgb: 124,58,237; } /* mor */
.exam-color-5 { --exam-color: #0891b2; --exam-color-rgb: 8,145,178; } /* camgobegi */
.exam-color-6 { --exam-color: #be185d; --exam-color-rgb: 190,24,93; } /* fuşya */
.exam-color-7 { --exam-color: #4b5563; --exam-color-rgb: 75,85,99; } /* gri */

/* ===== ÖĞRENCİ SAYFASI — SINAV TÜRÜ BLOK SARMALAYICISI ===== */
/* Her sınav türünün başlangıcı/bitişi net görünsün diye çerçeve + iki yanda renkli bar */
/* Negatif yatay margin ile bloğu .card-body padding'inin dışına taşır,
   böylece üstteki .report-header ile tam aynı genişlikte hizalanır */
.exam-type-block.karne-bolum {
  position: relative;
  background: #fff;
  border: 1px solid #e9ecef;
  border-left: 3px solid var(--exam-color, #0d6efd);
  border-right: 3px solid var(--exam-color, #0d6efd);
  border-radius: 8px;
  padding: 12px 16px 14px;
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.exam-type-block.karne-bolum:last-child { margin-bottom: 0; }
.exam-type-block.karne-bolum > h5 {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-top: 4px !important; margin-bottom: var(--analysis-part-gap) !important;
  padding-bottom: 8px !important;
  color: var(--exam-color, #0d6efd) !important;
  border-bottom-color: rgba(var(--exam-color-rgb, 13,110,253),0.2) !important;
  border-bottom-color: color-mix(in srgb, var(--exam-color, #0d6efd) 25%, transparent) !important;
}
.exam-type-block.karne-bolum > h5 .etb-count {
  font-size: 0.78rem; font-weight: 600;
  padding: 2px 10px; border-radius: 14px;
  background: rgba(var(--exam-color-rgb, 13,110,253),0.08);
  background: color-mix(in srgb, var(--exam-color, #0d6efd) 12%, transparent);
  color: var(--exam-color, #0d6efd);
  white-space: nowrap;
}

#kCont .student-profile-part {
  position: relative;
  margin-top: var(--analysis-part-gap);
  padding-top: 0;
  border-top: 0;
}
#kCont .exam-type-block.karne-bolum > h5 + .student-profile-part {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
#kCont .student-profile-part:not(.student-profile-info-part)::before {
  content: "";
  display: block;
  width: var(--analysis-part-rule-width);
  height: 1px;
  margin: 0 auto var(--analysis-part-rule-gap);
  background: linear-gradient(90deg, transparent, #d4dbe6 16%, #aeb9c8 50%, #d4dbe6 84%, transparent);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9);
}
#kCont .student-profile-info-part .row,
#kCont .student-profile-stats-part .trend-card,
#kCont .student-profile-boxplot-part .boxplot-card,
#kCont .student-profile-chart-part .chart-box {
  margin-bottom: 0 !important;
}
#kCont .student-profile-stats-part .trend-card,
#kCont .student-profile-boxplot-part .boxplot-card,
#kCont .student-profile-chart-part .chart-box {
  margin-top: 0 !important;
}
#kCont .student-profile-boxplot-part:empty {
  display: none;
}
#kCont .student-profile-table-part {
  min-width: 0;
  max-width: 100%;
}
#kCont .student-profile-table-part .scroll {
  margin-top: 6px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ===== GENEL ANALIZ PARCA DUZENI ===== */
:where(#homeArea, #anlRes, #raporRes) :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .card.shadow-sm.avoid-break,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
) {
  position: relative;
}

:where(#homeArea, #anlRes, #raporRes) :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .card.shadow-sm.avoid-break,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
):not(.risk-panel-card):not(:first-child) {
  margin-top: var(--analysis-part-gap) !important;
  padding-top: var(--analysis-part-rule-gap) !important;
}

:where(#homeArea, #anlRes, #raporRes) :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
):not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--analysis-part-rule-width);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #d4dbe6 16%, #aeb9c8 50%, #d4dbe6 84%, transparent);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9);
}

:where(#homeArea, #anlRes, #raporRes) :where(.exam-type-block, .karne-bolum, .report-card-body, .card-body) > h5 + :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .card.shadow-sm.avoid-break,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

:where(#homeArea, #anlRes, #raporRes) :where(.exam-type-block, .karne-bolum, .report-card-body, .card-body) > h5 + :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .card.shadow-sm.avoid-break,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
)::before {
  display: none !important;
}

:where(#homeArea, #anlRes, #raporRes) .scroll.list-scroll,
:where(#homeArea, #anlRes, #raporRes) .scroll.list-scroll:not(.risk-panel-card):not(:first-child) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

:where(#homeArea, #anlRes, #raporRes) .scroll.list-scroll::before,
:where(#homeArea, #anlRes, #raporRes) .scroll.list-scroll:not(.risk-panel-card):not(:first-child)::before {
  content: none !important;
  display: none !important;
}

:where(#homeArea, #anlRes, #raporRes) :where(
  .row:has(> [class*="col-"] .sec-card),
  .row:has(> [class*="col-"] .risk-stat-card),
  .row:has(> [class*="col-"] .trend-card),
  .row:has(> [class*="col-"] .boxplot-card),
  .row:has(> [class*="col-"] > .card.shadow-sm.avoid-break),
  .trend-card,
  .boxplot-card,
  :where(#stuBoxPlotArea, #clsBoxPlotArea, #subjBoxPlotArea, #genSummaryBPArea, #examSummaryBPArea):has(.boxplot-card),
  .table-responsive:has(table),
  .scroll:has(table),
  .chart-box,
  .card.shadow-sm.avoid-break,
  .risk-info-section,
  .single-exam-table-part,
  .single-exam-chart-part
) {
  margin-bottom: 0 !important;
}

:where(#homeArea, #anlRes, #raporRes) .row:has(> [class*="col-"] .sec-card) + .row:has(> [class*="col-"] .sec-card),
:where(#homeArea, #anlRes, #raporRes) .row:has(> [class*="col-"] .risk-stat-card) + .row:has(> [class*="col-"] .risk-stat-card) {
  margin-top: 8px !important;
  padding-top: 0 !important;
}

:where(#homeArea, #anlRes, #raporRes) .row:has(> [class*="col-"] .sec-card) + .row:has(> [class*="col-"] .sec-card)::before,
:where(#homeArea, #anlRes, #raporRes) .row:has(> [class*="col-"] .risk-stat-card) + .row:has(> [class*="col-"] .risk-stat-card)::before {
  content: none !important;
  display: none !important;
}

.single-exam-table-part .table-responsive,
.single-exam-chart-part .chart-box {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.single-exam-table-part .table-responsive::before,
.single-exam-chart-part .chart-box::before {
  display: none !important;
}
.single-exam-chart-part .single-exam-chart-title {
  margin-bottom: 6px;
}

:where(#homeArea, #anlRes, #raporRes) .scroll-hint + :where(.scroll, .table-responsive, .list-scroll),
:where(#homeArea, #anlRes, #raporRes) .single-exam-chart-title + .chart-box,
:where(#homeArea, #anlRes, #raporRes) .chart-section-title + :where(.chart-box, .dyb-bar) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

:where(#homeArea, #anlRes, #raporRes) .scroll-hint + :where(.scroll, .table-responsive, .list-scroll)::before,
:where(#homeArea, #anlRes, #raporRes) .single-exam-chart-title + .chart-box::before,
:where(#homeArea, #anlRes, #raporRes) .chart-section-title + :where(.chart-box, .dyb-bar)::before {
  content: none !important;
  display: none !important;
}

.app-main .card > .sa-list-header + .card-body.table-responsive,
.app-main .card > .sa-list-header + .card-body.table-responsive:has(table),
.app-main .card > .scroll-hint + .card-body.table-responsive,
.app-main .card > .scroll-hint + .card-body.table-responsive:has(table) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.app-main .card > .sa-list-header + .card-body.table-responsive::before,
.app-main .card > .sa-list-header + .card-body.table-responsive:has(table)::before,
.app-main .card > .scroll-hint + .card-body.table-responsive::before,
.app-main .card > .scroll-hint + .card-body.table-responsive:has(table)::before {
  content: none !important;
  display: none !important;
}

.app-main .card > .sa-list-header + .scroll-hint {
  display: none;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.app-main .card > .sa-list-header + .scroll-hint.is-needed {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 2px 8px 2px 4px !important;
  overflow: visible !important;
}

:where(#homeArea, #anlRes, #raporRes) .chart-section-title {
  position: relative;
  margin-top: var(--analysis-part-gap) !important;
  padding-top: var(--analysis-part-rule-gap) !important;
  margin-bottom: 6px !important;
}

:where(#homeArea, #anlRes, #raporRes) .chart-section-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--analysis-part-rule-width);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #d4dbe6 16%, #aeb9c8 50%, #d4dbe6 84%, transparent);
  box-shadow: 0 1px 0 rgba(255,255,255,0.9);
}

:where(#homeArea, #anlRes, #raporRes) .chart-section-title + .chart-box.mt-3 {
  margin-top: 0 !important;
}

#riskPanel .risk-note,
#riskPanel #riskStatCards,
#riskPanel .risk-list-wrap {
  position: relative;
}
#riskPanel #riskStatCards,
#riskPanel .risk-list-wrap {
  margin-top: var(--analysis-part-gap);
  padding-top: var(--analysis-part-rule-gap);
  border-top: 0;
}
#riskPanel #riskStatCards::before,
#riskPanel .risk-list-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(360px, 70%);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(220,38,38,0.28), transparent);
}

#kCont .student-profile-part :where(.trend-card, .boxplot-card, .chart-box, .scroll:has(table), .table-responsive:has(table)) {
  margin-top: 0 !important;
}
#kCont .student-profile-part :where(.chart-box, .scroll:has(table), .table-responsive:has(table)) {
  padding-top: 0 !important;
}
#kCont .student-profile-stats-part .trend-card {
  padding-top: 16px !important;
}
#kCont .student-profile-boxplot-part .boxplot-card {
  padding-top: 14px !important;
}
#kCont .student-profile-part :where(.trend-card, .boxplot-card, .chart-box, .scroll:has(table), .table-responsive:has(table))::before {
  display: none !important;
}

@media (max-width: 575px) {
  #kCont .student-profile-stats-part .trend-card {
    padding-top: 12px !important;
  }
}

/* Print: blok sarmalayıcı görsel ekleri ekran-only */


/* =====================================================================
   SINAV TÜRÜ RENK SİSTEMİ — Tüm Sayfalara Yayılan Bütünlük
   ---------------------------------------------------------------------
   Mantık: Sınav türü seçildiğinde, ilgili container'a JS tarafından
   data-exam-color="0..7" ve exam-color-N sınıfı atanır. Böylece
   --exam-color CSS değişkeni tüm alt bileşenler tarafından okunabilir.
   Renkler app-core.js / style.css üst kısımdaki mevcut paletten gelir
   (exam-color-0..7). Sınav türü 5'i geçmediği için çakışma olmaz.
   ===================================================================== */

/* --- Sınav Türü Dropdown Renk Bandı (Badge) --- */
.aex-wrap { position: relative; display: block; }
.aex-wrap > select { padding-right: 48px; }
.aex-badge {
  position: absolute; top: 50%; right: 34px; transform: translateY(-50%);
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--exam-color, transparent);
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,0.08);
  opacity: 0; pointer-events: none;
  transition: opacity 0.18s ease;
}
.aex-wrap[data-active="1"] .aex-badge { opacity: 1; }

/* --- Filtre Kartı — sınav türü seçildiğinde üst şerit ve başlık renkli --- */
#anlFilterCard[data-exam-color] {
  border-top: 3px solid var(--exam-color, #0d6efd) !important;
  transition: border-color 0.25s ease;
}
#anlFilterCard[data-exam-color] .card-header .card-title {
  color: var(--exam-color, #0d6efd);
  transition: color 0.25s ease;
}
/* Sınav Türü + Sınav Seçimi dropdown'larının çerçevesi sınav türü rengine döner */
#anlFilterCard[data-exam-color] #aEx,
#anlFilterCard[data-exam-color] #aExDate,
#anlFilterCard[data-exam-color] #aDate {
  border-color: var(--exam-color, #0d6efd) !important;
  border-color: color-mix(in srgb, var(--exam-color, #0d6efd) 34%, #ced4da) !important;
  box-shadow: 0 0 0 2px rgba(var(--exam-color-rgb, 13,110,253),0.05) inset;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--exam-color, #0d6efd) 5%, transparent) inset;
}

/* --- Analiz Sonuç Container'ı (anlRes) — üst şerit + rapor başlığı sınav rengi --- */
#anlRes[data-exam-color] > .card {
  border-top: 3px solid var(--exam-color, #0d6efd) !important;
  position: relative;
}
#anlRes[data-exam-color] > .card::before,
#anlRes[data-exam-color] > .card::after {
  content: ""; position: absolute; top: 0; bottom: 0;
  width: 3px; background: var(--exam-color, #0d6efd);
  opacity: 0.85;
}
#anlRes[data-exam-color] > .card::before { left: 0; }
#anlRes[data-exam-color] > .card::after  { right: 0; }
/* --- Risk Paneli: seçili sınav türü rengini al --- */
#riskPanel[data-exam-color] > .card {
  border-top-color: var(--exam-color, #dc3545) !important;
}

/* --- Tablo Başlığı (thead) — Pastel sınav türü rengi + okunabilirlik --- */
[data-exam-color] table.table > thead > tr > th,
[data-exam-color] table.table > thead th {
  background: rgba(var(--exam-color-rgb, 13,110,253),0.14) !important;
  background: color-mix(in srgb, var(--exam-color, #0d6efd) 14%, #ffffff) !important;
  color: var(--exam-color, #0d6efd) !important;
  color: color-mix(in srgb, var(--exam-color, #0d6efd) 78%, #1a1a1a) !important;
  border-bottom: 2px solid rgba(var(--exam-color-rgb, 13,110,253),0.25) !important;
  border-bottom: 2px solid color-mix(in srgb, var(--exam-color, #0d6efd) 35%, transparent) !important;
  font-weight: 600;
}
/* --- Toplu Rapor karneleri için de renk sistemi (karne-bolum zaten var) --- */
#raporRes[data-exam-color] > div > .card.exam-type-block,
#raporRes .exam-type-block[data-exam-color-idx] {
  /* JS atayacak — renk bu blok bazında */
}
.exam-type-block.rapor-exam-block {
  border-top: 3px solid var(--exam-color, #0d6efd) !important;
  position: relative;
}
.exam-type-block.rapor-exam-block > .card-header {
  background: rgba(var(--exam-color-rgb, 13,110,253),0.10) !important;
  background: color-mix(in srgb, var(--exam-color, #0d6efd) 10%, #f8f9fa) !important;
  border-bottom: 1px solid rgba(var(--exam-color-rgb, 13,110,253),0.25) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--exam-color, #0d6efd) 25%, #e9ecef) !important;
}
.exam-type-block.rapor-exam-block > .card-header .card-title {
  color: var(--exam-color, #0d6efd) !important;
  color: color-mix(in srgb, var(--exam-color, #0d6efd) 80%, #1a1a1a) !important;
}

/* =====================================================================
   TEK SINAV MODU — Özet Kart Seti (Puan/Sıra, Fark, En Başarılı, En Zayıf)
   ===================================================================== */
.sec-card {
  background: #fff; border: 1px solid #e9ecef; border-radius: 10px;
  padding: 10px 12px; min-height: 78px;
  display: flex; align-items: center; gap: 12px;
  border-left: 3px solid var(--exam-color, #0d6efd);
  border-right: 3px solid var(--exam-color, #0d6efd);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
  height: 100%;
}
@media (max-width: 575px) {
  .sec-card {
    padding: 8px 9px;
    min-height: 64px;
    gap: 8px;
    border-radius: 8px;
  }
  .sec-card .sec-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 0.9em !important;
    border-radius: 7px !important;
  }
  .sec-card .sec-label { font-size: 0.66rem !important; }
  .sec-card .sec-value { font-size: 1rem !important; }
  .sec-card .sec-sub { font-size: 0.68rem !important; }
}
.sec-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.08); transform: translateY(-1px); }
.sec-card .sec-icon {
  flex-shrink: 0; width: 42px; height: 42px; border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.1em; color: #fff; background: var(--exam-color, #0d6efd);
}
.sec-card.sec-pos .sec-icon     { background: linear-gradient(135deg,#198754,#20c997); }
.sec-card.sec-neg .sec-icon     { background: linear-gradient(135deg,#dc3545,#b02a37); }
.sec-card.sec-neutral .sec-icon { background: linear-gradient(135deg,#6c757d,#495057); }
.sec-card .sec-body  { flex: 1; min-width: 0; }
.sec-card .sec-label {
  font-size: 0.72rem; font-weight: 700; color: #6c757d;
  text-transform: uppercase; letter-spacing: 0.4px; line-height: 1.1;
}
.sec-card .sec-value {
  font-size: 1.15rem; font-weight: 700; color: #212529;
  line-height: 1.2; margin-top: 3px; word-break: break-word;
}
.sec-card .sec-sub { font-size: 0.74rem; color: #6c757d; margin-top: 2px; line-height: 1.3; }
.sec-card .sec-sub.summary-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  margin-top: 5px;
}
.sec-card .sec-chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 12px;
  font-size: 0.72rem; font-weight: 700;
  margin-top: 3px;
}
.sec-card.sec-pos .sec-value { color: #198754; }
.sec-card.sec-neg .sec-value { color: #dc3545; }
.sec-card.sec-pos .sec-chip  { background: rgba(25,135,84,0.12);  color: #0f5132; }
.sec-card.sec-neg .sec-chip  { background: rgba(220,53,69,0.12);  color: #842029; }
.sec-card.sec-neutral .sec-chip { background: rgba(108,117,125,0.15); color: #495057; }
.single-exam-cards { margin-bottom: 10px; }
.single-exam-cards .col-md-3,
.single-exam-cards .col-md-4,
.single-exam-cards .col-md-6 { margin-bottom: 10px; }

/* Sec-card satır: tüm ekranlarda normal grid — scroll davranışı kaldırıldı */
.sec-cards-row {
  display: flex !important;
  flex-wrap: wrap !important;
}
.sec-cards-row > [class*="col-"] {
  margin-bottom: 10px;
}
.analysis-info-cards,
.class-info-cards {
  align-items: stretch;
  margin-bottom: 14px !important;
}
.analysis-info-cards > [class*="col-"],
.class-info-cards > [class*="col-"] {
  display: flex;
  margin-bottom: 0 !important;
}
.analysis-info-cards .sec-card,
.class-info-cards .sec-card {
  width: 100%;
  min-height: 86px;
}
.analysis-info-cards:has(+ .analysis-info-cards),
.class-info-cards:has(+ .class-info-cards) {
  margin-bottom: 6px !important;
}
.analysis-info-cards + .analysis-info-cards,
.class-info-cards + .class-info-cards {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.analysis-info-cards + .analysis-info-cards::before,
.class-info-cards + .class-info-cards::before {
  content: none !important;
  display: none !important;
}
.class-compare-cards .sec-value,
.class-progress-cards .sec-value {
  overflow-wrap: anywhere;
}
.class-rank-tables {
  align-items: stretch;
  margin-top: 14px !important;
}
.class-rank-tables > [class*="col-"] {
  display: flex;
  margin-bottom: 10px;
}
.class-rank-tables .card {
  width: 100%;
}
.home-shortcuts-row {
  align-items: stretch;
}
.home-shortcuts-row > [class*="col-"] {
  display: flex;
}
.home-shortcuts-row .home-nav-card {
  width: 100%;
  margin-bottom: 0;
}
@media (min-width: 769px) {
  #anasayfa_genel .home-shortcuts-row {
    margin-top: 16px !important;
  }
}
.student-report-actions,
.rapor-action-bar {
  align-items: center;
  gap: 6px;
}
@media (max-width: 575px) {
  .analysis-info-cards,
  .class-info-cards {
    margin-bottom: 12px !important;
  }
  .analysis-info-cards .sec-card,
  .class-info-cards .sec-card {
    min-height: 78px;
  }
}
@media (max-width: 768px) {
  #anasayfa_genel .home-shortcuts-row {
    margin-top: 12px !important;
    row-gap: 8px;
    margin-bottom: 12px !important;
  }
  #anasayfa_genel .home-shortcuts-row > [class*="col-"] {
    margin-bottom: 0;
  }
  .student-report-actions {
    justify-content: flex-end !important;
    margin-top: 14px !important;
    margin-bottom: 4px !important;
    padding: 6px 8px;
    border: 1px solid var(--sa-border);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: #fff;
  }
  .student-report-actions + #kCont {
    margin-top: 0 !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .rapor-action-bar {
    justify-content: flex-end !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
    padding-top: 4px;
  }
  .analysis-list-group > [class*="col-"] + [class*="col-"],
  .class-rank-tables > [class*="col-"] + [class*="col-"] {
    position: relative;
    margin-top: var(--analysis-part-gap);
    padding-top: var(--analysis-part-rule-gap);
  }
  .analysis-list-group > [class*="col-"] + [class*="col-"]::before,
  .class-rank-tables > [class*="col-"] + [class*="col-"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: var(--analysis-part-rule-width);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, #d4dbe6 16%, #aeb9c8 50%, #d4dbe6 84%, transparent);
    box-shadow: 0 1px 0 rgba(255,255,255,0.9);
  }
}
/* Bilgi kartları (sec-card) mobilde col-12 col-md-* olarak üretilir — Bootstrap grid yeterli */

/* Tek sınav modunda ders bazlı çubuk grafik başlığı */
.single-exam-chart-title {
  font-size: 12px; font-weight: 700; color: #4a6fa5;
  margin: 8px 0 4px; display: flex; align-items: center; gap: 6px;
}
.single-exam-chart-title.dyb-title-offset { margin-top:12px; }
.dyb-bar { display:flex; height:28px; border-radius:6px; overflow:hidden; font-size:0.75rem; font-weight:600; margin-bottom:10px; }
.dyb-segment { width:var(--dyb-width, 0%); display:flex; align-items:center; justify-content:center; }
.dyb-segment.correct { background:#28a745; color:#fff; }
.dyb-segment.wrong { background:#dc3545; color:#fff; }
.dyb-segment.blank { background:#e9ecef; color:#6c757d; }

/* ===== AdminLTE v4 uyumlu sade renk revizyonu ===== */
.btn-primary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info {
  box-shadow: 0 2px 8px rgba(15,23,42,0.08);
}
.btn-primary { background-color: var(--sa-primary) !important; border-color: var(--sa-primary) !important; }
.btn-primary:hover, .btn-primary:focus { background-color: var(--sa-primary-600) !important; border-color: var(--sa-primary-600) !important; }
.btn-outline-primary { color: var(--sa-primary) !important; border-color: rgba(37,99,235,0.42) !important; }
.btn-outline-primary:hover, .btn-outline-primary:focus { background: var(--sa-primary-soft) !important; color: var(--sa-primary-600) !important; }
.card { border-color: var(--sa-border); box-shadow: var(--sa-shadow); }
.sa-panel { border-top-width: 3px; border-top-style: solid; }
.sa-panel-primary { border-top-color: var(--sa-primary) !important; }
.sa-panel-success { border-top-color: var(--sa-success) !important; }
.sa-panel-warning { border-top-color: var(--sa-warning) !important; }
.sa-panel-info { border-top-color: var(--sa-info) !important; }
.sa-panel-danger { border-top-color: var(--sa-danger) !important; }
.app-main .card:not(.sys-mgmt-card):not(.risk-panel-card) > .card-header {
  min-height: 52px;
  padding: 0.72rem 1rem;
  background: #fff;
  border-bottom: 1px solid var(--sa-border);
}
.app-main .card:not(.sys-mgmt-card):not(.risk-panel-card) > .card-header.sa-exam-header {
  background: color-mix(in srgb, var(--exam-color, #2563eb) 9%, #fff) !important;
  border-bottom-color: color-mix(in srgb, var(--exam-color, #2563eb) 24%, var(--sa-border)) !important;
}
.app-main .card:not(.sys-mgmt-card):not(.risk-panel-card) > .card-header .card-title {
  min-width: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--sa-text);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.2;
}
.app-main .card:not(.sys-mgmt-card):not(.risk-panel-card) > .card-header .card-title > i {
  width: 28px;
  height: 28px;
  margin-right: 0 !important;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--sa-primary-soft);
  color: var(--sa-primary);
  font-size: 0.88rem;
  flex: 0 0 auto;
}
.app-main .sa-panel.sa-panel-primary > .card-header .card-title > i { background: var(--sa-primary-soft) !important; color: var(--sa-primary) !important; }
.app-main .sa-panel.sa-panel-success > .card-header .card-title > i { background: rgba(5,150,105,0.10) !important; color: var(--sa-success) !important; }
.app-main .sa-panel.sa-panel-warning > .card-header .card-title > i { background: rgba(217,119,6,0.12) !important; color: var(--sa-warning) !important; }
.app-main .sa-panel.sa-panel-info > .card-header .card-title > i { background: rgba(8,145,178,0.10) !important; color: var(--sa-info) !important; }
.app-main .sa-panel.sa-panel-danger > .card-header .card-title > i { background: rgba(220,38,38,0.10) !important; color: var(--sa-danger) !important; }
.sa-list-header {
  --sa-list-accent: var(--sa-primary);
  --sa-list-soft: var(--sa-primary-soft);
  min-height: 46px;
  padding: 0.64rem 0.82rem !important;
  background: var(--sa-list-soft) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--sa-list-accent) 24%, var(--sa-border));
  border-left: 4px solid var(--sa-list-accent);
  color: var(--sa-text) !important;
}
.sa-list-header .card-title {
  color: var(--sa-text) !important;
  font-weight: 800 !important;
}
.sa-list-header .card-title > i {
  background: #fff !important;
  color: var(--sa-list-accent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sa-list-accent) 18%, transparent);
}
.sa-list-success { --sa-list-accent: var(--sa-success); --sa-list-soft: rgba(5,150,105,0.10); }
.sa-list-danger { --sa-list-accent: var(--sa-danger); --sa-list-soft: rgba(220,38,38,0.10); }
.sa-list-info { --sa-list-accent: var(--sa-info); --sa-list-soft: rgba(8,145,178,0.10); }
.sa-list-warning { --sa-list-accent: var(--sa-warning); --sa-list-soft: rgba(217,119,6,0.12); }
.app-main .card-header .btn-sm {
  min-height: 34px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  font-weight: 700;
  box-shadow: none;
}
.filter-reset-header,
.filter-collapse-toggle {
  min-width: 34px;
  padding-left: 0.58rem !important;
  padding-right: 0.58rem !important;
}
.btn-outline-secondary {
  color: #475569 !important;
  border-color: #cbd5e1 !important;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  background: #f1f5f9 !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;
}
.report-header,
#anlRes[data-exam-color] > .card > .report-header {
  background: linear-gradient(135deg, color-mix(in srgb, var(--exam-color, var(--sa-primary)) 14%, #ffffff), #f8fafc) !important;
  color: var(--sa-text) !important;
  border-left: 4px solid var(--exam-color, var(--sa-primary));
  border-bottom: 1px solid var(--sa-border);
}
.report-header span,
.report-header strong,
.report-header i,
#anlRes[data-exam-color] > .card > .report-header span,
#anlRes[data-exam-color] > .card > .report-header strong,
#anlRes[data-exam-color] > .card > .report-header i { color: var(--sa-text) !important; }
.btn-print {
  background: #fff !important;
  color: var(--sa-primary) !important;
  border: 1px solid rgba(37,99,235,0.35) !important;
  box-shadow: 0 2px 8px rgba(37,99,235,0.12);
}
.btn-print:hover {
  background: var(--sa-primary-soft) !important;
  color: var(--sa-primary-600) !important;
  box-shadow: 0 4px 12px rgba(37,99,235,0.18);
}
.app-sidebar.sa-sidebar .sidebar-brand .brand-link,
.app-sidebar.sa-sidebar .sidebar-brand .brand-link i,
.app-sidebar.sa-sidebar .sidebar-brand .brand-link span { color: #0f2f66 !important; }
.app-sidebar.sa-sidebar .sidebar-menu .nav-link.active {
  background: var(--sa-primary) !important;
  box-shadow: 0 4px 12px rgba(37,99,235,0.22);
}
/* ===== AdminLTE v4 ana yüzey revizyonu ===== */
#anasayfa_genel > .row.mb-3 {
  --bs-gutter-y: 0.75rem;
  margin-bottom: 1rem !important;
}
.home-nav-card {
  --home-accent-bg: rgba(37,99,235,0.10);
  position: relative;
  display: flex;
  align-items: center;
  min-height: 86px;
  border: 1px solid var(--sa-border) !important;
  border-left: 4px solid var(--home-accent) !important;
  border-radius: 8px;
  background: #fff !important;
  color: var(--sa-text) !important;
  box-shadow: var(--sa-shadow) !important;
  overflow: hidden;
}
.home-nav-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--home-accent-bg), transparent 72%);
  opacity: 0.72;
  pointer-events: none;
}
.home-nav-card.home-nav-primary {
  --home-accent: var(--sa-primary);
  --home-accent-2: var(--sa-primary-600);
  --home-accent-bg: rgba(37,99,235,0.10);
  background: #fff !important;
}
.home-nav-card.home-nav-success {
  --home-accent: var(--sa-success);
  --home-accent-2: #047857;
  --home-accent-bg: rgba(5,150,105,0.10);
  background: #fff !important;
}
.home-nav-card.home-nav-info {
  --home-accent: var(--sa-info);
  --home-accent-2: #0e7490;
  --home-accent-bg: rgba(8,145,178,0.10);
  background: #fff !important;
}
.home-nav-card.home-nav-warning {
  --home-accent: var(--sa-warning);
  --home-accent-2: #b45309;
  --home-accent-bg: rgba(217,119,6,0.12);
  background: #fff !important;
}
.home-nav-card .home-nav-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 52px;
  min-width: 52px;
  height: 52px;
  margin-left: 12px;
  border: 0;
  border-radius: 10px;
  background: var(--home-accent-bg) !important;
  color: var(--home-accent) !important;
  box-shadow: none;
}
.home-nav-card .home-nav-icon i {
  color: var(--home-accent) !important;
  font-size: 1.22rem;
}
.home-nav-card .home-nav-content {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 11px 14px !important;
}
.home-nav-card .home-nav-title {
  color: var(--sa-text) !important;
  font-size: 0.98rem;
  font-weight: 800 !important;
  text-shadow: none;
}
.home-nav-card .home-nav-desc {
  color: var(--sa-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  opacity: 1 !important;
  text-shadow: none;
}
.home-nav-card:hover,
.home-nav-card:focus {
  box-shadow: 0 12px 26px rgba(15,23,42,0.12) !important;
  filter: none;
}
.sys-mgmt-card {
  border: 1px solid var(--sa-border) !important;
  border-top: 3px solid var(--sa-primary) !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: var(--sa-shadow) !important;
  background: #fff;
}
.sys-mgmt-card .card-header {
  min-height: 52px;
  padding: 0.72rem 1rem !important;
  background: #fff !important;
  color: var(--sa-text) !important;
  border-bottom: 1px solid var(--sa-border) !important;
}
.sys-mgmt-card .card-header h3 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--sa-text) !important;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.2;
}
.sys-mgmt-card .card-header h3 i {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--sa-primary-soft) !important;
  color: var(--sa-primary) !important;
  font-size: 0.88rem;
}
.sys-mgmt-card .card-body {
  padding: 16px !important;
}
.sys-mgmt-inner {
  max-width: none;
}
.sys-mgmt-section {
  gap: 10px;
  margin-bottom: 12px;
}
.sys-mgmt-tile {
  --sys-accent: var(--sa-primary);
  --sys-accent-bg: var(--sa-primary-soft);
  min-height: 64px;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid var(--sa-border);
  border-left: 3px solid var(--sys-accent);
  background: #fff;
  box-shadow: none;
}
.sys-mgmt-tile:hover,
.sys-mgmt-tile:focus {
  transform: translateY(-1px);
  border-color: var(--sys-accent);
  border-color: color-mix(in srgb, var(--sys-accent) 38%, var(--sa-border));
  box-shadow: 0 8px 18px rgba(15,23,42,0.08);
  background: #fff;
}
.sys-mgmt-tile.tile-export { --sys-accent: var(--sa-success); --sys-accent-bg: rgba(5,150,105,0.10); }
.sys-mgmt-tile.tile-import { --sys-accent: var(--sa-primary); --sys-accent-bg: var(--sa-primary-soft); }
.sys-mgmt-tile .tile-icon {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: var(--sys-accent-bg) !important;
  color: var(--sys-accent) !important;
  font-size: 1.08rem;
}
.sys-mgmt-tile .tile-text strong {
  color: var(--sa-text);
  font-weight: 800;
}
.sys-mgmt-divider {
  margin: 12px 0;
  background: var(--sa-border);
}
.sys-mgmt-danger {
  padding: 12px 14px;
  border: 1px solid rgba(220,38,38,0.22);
  border-left: 3px solid var(--sa-danger);
  border-radius: 8px;
  background: #fff;
}
.sys-mgmt-danger .danger-icon {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: rgba(220,38,38,0.10);
  color: var(--sa-danger);
}
.sys-mgmt-danger .danger-text strong {
  color: var(--sa-text);
  font-weight: 800;
}
.sys-mgmt-danger .btn-danger-modern {
  background: var(--sa-danger);
  border-radius: 8px;
  box-shadow: none;
  font-weight: 800;
}

.app-sidebar.sa-sidebar {
  background: linear-gradient(180deg, #f8fbff 0%, #f6f8fb 42%, #ffffff 100%) !important;
  border-right: 1px solid var(--sa-border);
  --sa-sidebar-x: 0.24rem;
  --sa-sidebar-item-right: 1rem;
  --sa-sidebar-icon: 1.25rem;
  --sa-sidebar-gap: 0.6rem;
}
.app-sidebar.sa-sidebar .sidebar-brand {
  background: #fff !important;
  border-bottom: 1px solid rgba(37,99,235,0.14) !important;
  padding: 0.72rem var(--sa-sidebar-x);
  min-height: 64px;
  display: flex;
  align-items: center;
}
.app-sidebar.sa-sidebar .sidebar-brand .brand-link {
  width: 100%;
  min-height: 42px;
  margin-right: var(--sa-sidebar-item-right);
  padding: 0.72rem 0.7rem !important;
  display: flex;
  align-items: center;
  gap: var(--sa-sidebar-gap);
  color: #0f2f66 !important;
  text-decoration: none;
  overflow: hidden;
  border-radius: 10px;
}
.app-sidebar.sa-sidebar .sidebar-brand .brand-image {
  flex: 0 0 var(--sa-sidebar-icon);
  width: var(--sa-sidebar-icon);
  height: var(--sa-sidebar-icon);
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0f2f66 !important;
  background: transparent;
  box-shadow: none;
  font-size: 1.08rem;
  line-height: 1;
}
.app-sidebar.sa-sidebar .sidebar-brand .brand-link .brand-image {
  color: #0f2f66 !important;
}
.app-sidebar.sa-sidebar .sidebar-brand img.brand-image {
  object-fit: contain;
  display: block;
  color: transparent !important;
  border-radius: 4px;
}
.app-sidebar.sa-sidebar .sidebar-brand .brand-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #0f2f66 !important;
  font-size: 1.06rem;
  letter-spacing: 0;
  font-weight: 700 !important;
}
.app-sidebar.sa-sidebar .sidebar-menu {
  padding: 0.72rem var(--sa-sidebar-x) 0.25rem;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link {
  display: flex;
  align-items: center;
  gap: var(--sa-sidebar-gap);
  border-radius: 10px;
  margin: 0.16rem var(--sa-sidebar-item-right) 0.16rem 0;
  padding: 0.72rem 0.7rem;
  color: #263241 !important;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link .nav-icon {
  flex: 0 0 var(--sa-sidebar-icon);
  width: var(--sa-sidebar-icon);
  min-width: var(--sa-sidebar-icon);
  margin: 0 !important;
  text-align: center;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link p {
  margin: 0;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link:hover {
  background: rgba(13,110,253,0.08) !important;
  color: #0f2f66 !important;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link.active {
  background: linear-gradient(135deg, #0d6efd, #0a58ca) !important;
  color: #fff !important;
  box-shadow: 0 9px 18px rgba(37,99,235,0.28) !important;
}
.app-sidebar.sa-sidebar .sidebar-menu .nav-link.active i,
.app-sidebar.sa-sidebar .sidebar-menu .nav-link.active p {
  color: #fff !important;
}
body.sidebar-collapse .app-sidebar.sa-sidebar .sidebar-brand {
  justify-content: flex-start;
  padding: 0.72rem var(--sa-sidebar-x);
}
body.sidebar-collapse .app-sidebar.sa-sidebar .sidebar-brand .brand-link {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  gap: 0;
  margin-right: var(--sa-sidebar-item-right);
  padding: 0.72rem 0.7rem !important;
}
body.sidebar-collapse .app-sidebar.sa-sidebar .sidebar-brand .brand-image {
  flex-basis: var(--sa-sidebar-icon);
  width: var(--sa-sidebar-icon);
  height: var(--sa-sidebar-icon);
  font-size: 1.08rem;
}
body.sidebar-collapse .app-sidebar.sa-sidebar .sidebar-menu .nav-link {
  margin-right: var(--sa-sidebar-item-right);
  padding-left: 0.7rem;
  padding-right: 0.7rem;
  justify-content: flex-start;
}
body.sidebar-collapse .app-sidebar.sa-sidebar .sidebar-brand .brand-text {
  width: 0;
  opacity: 0;
  pointer-events: none;
}
body.sidebar-collapse .app-sidebar.sa-sidebar:hover .sidebar-brand .brand-link {
  gap: var(--sa-sidebar-gap);
}
body.sidebar-collapse .app-sidebar.sa-sidebar:hover .sidebar-brand .brand-text {
  width: auto;
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 768px) {
  .list-scroll { max-height: 65vh; }
  #pwaInstallPopup { top: 62px; align-items: flex-start; }
  #pwaInstallPopup .pwa-actions { flex-direction: row; align-items: center; }
}

/* Print: renk sistemi yazdırılırken sade tonlar */

/* ===== PRINT — Yeni xPR() fonksiyonu yeni pencere açıp kendi inline stilini yazıyor.
   Burada SADECE tarayıcıdan Ctrl+P ile direkt yazdıranlar için minimum kural. ===== */
@media print {
  .no-print, .app-sidebar, .app-header, button:not(.risk-badge), .btn:not(.risk-badge), .scroll-hint { display: none !important; }
  body { background: #fff !important; }
  .app-main { margin-left: 0 !important; padding: 0 !important; }
  .scroll, .list-scroll, .table-responsive { max-height: none !important; overflow: visible !important; }
  .scroll table thead th,
  .table-responsive table thead th { position: static !important; top: auto !important; z-index: auto !important; }
  .report-header, .print-page-hdr {
    background: #f3f6fb !important;
    color: #111827 !important;
    border-left: 4px solid var(--exam-color, #64748b) !important;
    border-bottom: 1px solid #cbd5e1 !important;
  }
  .report-header span, .report-header strong, .report-header i,
  .print-page-hdr span, .print-page-hdr strong, .print-page-hdr i { color: #111827 !important; }
  table.table > thead > tr > th, table.table > thead th {
    background: #f1f5f9 !important;
    color: #111827 !important;
    border-bottom: 2px solid #cbd5e1 !important;
  }
  .card, .exam-type-block, .karne-bolum, .sec-card, .home-stat-card, .risk-stat-card,
  .trend-card, .boxplot-card, .report-header, .print-page-hdr {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  /* Sınav türü blok renkleri yazdırmada da görünsün */
  .exam-type-block, .karne-bolum {
    border-left: 4px solid var(--exam-color, #1a5fa8) !important;
    border-right: 4px solid var(--exam-color, #1a5fa8) !important;
  }
  .sec-card, .home-stat-card {
    border-left: 3px solid var(--exam-color, #1a5fa8) !important;
    border-right: 3px solid var(--exam-color, #1a5fa8) !important;
  }
  thead { display: table-header-group !important; }
  tfoot { display: table-footer-group !important; }
  tbody tr { page-break-inside: avoid !important; break-inside: avoid !important; }
  .exam-type-block { page-break-before: always; break-before: page; }
  .exam-type-block:first-of-type { page-break-before: auto; break-before: auto; }
  .print-compact-list .exam-type-block,
  .print-compact-list .karne-bolum {
    page-break-before: auto !important;
    break-before: auto !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    padding: 6px 8px !important;
    margin-bottom: 8px !important;
    border-right-width: 0 !important;
  }
  .print-compact-list .card-header { padding: 5px 8px !important; }
  .print-compact-list .card-body { padding: 5px 6px !important; }
  .print-compact-list .rapor-list-table {
    /* table-layout:auto → tarayıcı içeriğe göre sütun genişliği belirler */
    table-layout: auto !important;
    width: 100% !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }
  .print-compact-list .rapor-list-table th,
  .print-compact-list .rapor-list-table td {
    padding: 3px 4px !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
  }
  /* Ad sütunu: print'te de uzun isim için sarma izni */
  .print-compact-list .rapor-list-table .rl-name {
    white-space: normal !important;
    word-break: break-word !important;
    min-width: 5rem !important;
    text-align: left !important;
  }
  /* Tüm diğer sütunlar: taşmayı kes, beyaz boşluk yok */
  .print-compact-list .rapor-list-table th:not(.rl-name),
  .print-compact-list .rapor-list-table td:not(.rl-name) {
    white-space: nowrap !important;
    text-overflow: clip !important;
  }
  /* Hizalama: th dahil tüm sütun türleri açıkça orta */
  .print-compact-list .rapor-list-table th.rl-sub,
  .print-compact-list .rapor-list-table .rl-sub,
  .print-compact-list .rapor-list-table th.rl-idx,
  .print-compact-list .rapor-list-table .rl-idx,
  .print-compact-list .rapor-list-table th.rl-class,
  .print-compact-list .rapor-list-table .rl-class,
  .print-compact-list .rapor-list-table th.rl-date,
  .print-compact-list .rapor-list-table .rl-date,
  .print-compact-list .rapor-list-table th.rl-publisher,
  .print-compact-list .rapor-list-table .rl-publisher,
  .print-compact-list .rapor-list-table th.rl-net,
  .print-compact-list .rapor-list-table .rl-net,
  .print-compact-list .rapor-list-table th.rl-score,
  .print-compact-list .rapor-list-table .rl-score,
  .print-compact-list .rapor-list-table th.rl-rank,
  .print-compact-list .rapor-list-table .rl-rank,
  .print-compact-list .rapor-list-table th.rl-count,
  .print-compact-list .rapor-list-table .rl-count { text-align: center !important; }
  .print-compact-list .rapor-list-table tbody,
  .print-compact-list .rapor-list-table tr {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }
  /* İstatistik kartı (trend-card) yazı boyutları: px ile sabitlendi, print'te sıra bozulmasın */
  .trend-card .small,
  .trend-card .small.text-muted {
    font-size: 13px !important;
  }
  .trend-card .small strong {
    font-size: 13px !important;
    font-weight: 700 !important;
  }
  .trend-card .x-small,
  .trend-card span.x-small {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
  .trend-card .trend-metric {
    position: relative !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  .trend-card .trend-metric:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 16% !important;
    bottom: 16% !important;
    right: 0 !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, #c7d0dc 16%, #8fa0b5 50%, #c7d0dc 84%, transparent) !important;
    box-shadow: 1px 0 0 rgba(255,255,255,0.9) !important;
  }
  .trend-stat-item {
    position: relative !important;
    border-right: 0 !important;
  }
  .trend-stat-item:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 18% !important;
    bottom: 18% !important;
    right: 0 !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, #c7d0dc 16%, #8fa0b5 50%, #c7d0dc 84%, transparent) !important;
    box-shadow: 1px 0 0 rgba(255,255,255,0.9) !important;
  }
}

/* ====== Trend kartı açıklama satırı (Türkçeleştirme + ipucu) ====== */
.trend-card .x-small{
  font-size: 10.5px;
  line-height: 1.25;
  color: #6c757d;
  margin-top: 2px;
  display: block;
}
.trend-card [title]{ cursor: help; }
.confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  margin-top: 3px;
}
.confidence-high { background: rgba(25,135,84,0.12); color: #0f5132; }
.confidence-med { background: rgba(253,126,20,0.14); color: #7d3a00; }
.confidence-low { background: rgba(108,117,125,0.14); color: #495057; }

/* ====== Kart içi mikro açıklama (Türkçe, kullanıcıya yönelik) ====== */
.sec-card .sec-explain {
  font-size: 0.70rem;
  color: #8a94a0;
  margin-top: 4px;
  line-height: 1.25;
  font-style: italic;
  border-top: 1px dashed #e9ecef;
  padding-top: 3px;
}
.sec-card[title] { cursor: help; }

/* Trend kartı içinde Performans Tutarlılığı sütunu için aynı x-small kuralı zaten var. */

/* ===================================================================
   BOTTOM NAVIGATION BAR — Mobil navigasyon (≤991px)
   Her sekme ana sayfadaki kısayol kartlarıyla aynı vurgu renklerini
   taşır. Aktif: dolu gradient + beyaz ikon/etiket. Pasif: soluk ton.
   =================================================================== */

/* ===================================================================
   BOTTOM NAVIGATION BAR — Renk değişkenleri
   Ana sayfadaki home-nav-card renkleriyle birebir eşleşir.
   --bnav-color: ikon ve metin rengi; --bnav-soft: pasif hover arka planı
   =================================================================== */
#bnav-anasayfa_genel {
  --bnav-color: #6c757d;
  --bnav-soft:  rgba(108, 117, 125, 0.08);
}
#bnav-anasayfa {
  --bnav-color: #0d6efd;
  --bnav-soft:  rgba(13, 110, 253, 0.08);
}
#bnav-sonuclar {
  --bnav-color: #198754;
  --bnav-soft:  rgba(25, 135, 84, 0.08);
}
#bnav-rapor {
  --bnav-color: #0891b2;
  --bnav-soft:  rgba(8, 145, 178, 0.08);
}
#bnav-ayarlar {
  --bnav-color: #d97706;
  --bnav-soft:  rgba(217, 119, 6, 0.08);
}

.bottom-nav {
  display: none; /* Masaüstünde gizli */
}

@media (max-width: 991px) {
  /* Barın kendisi */
  .bottom-nav {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    height: 64px;
    background: #ffffff;
    border-top: 1px solid var(--sa-border);
    box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.10);
    align-items: stretch;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  /* İçeriğin barın altına kaymaması için */
  .app-main,
  .app-content,
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }

  /* Hamburger butonu ve sidebar toggle — mobilde li dahil tamamen gizle */
  .app-header .nav-link[data-lte-toggle="sidebar"],
  .app-header [data-lte-toggle="sidebar"],
  .app-header .nav-item:has([data-lte-toggle="sidebar"]) {
    display: none !important;
  }

  /* Her sekme öğesi — pasif durum
     Ana sayfadaki home-nav-card gibi: beyaz zemin, kare köşe,
     üst kenarda ince şeffaf çizgi hazır ama görünmez */
  .bnav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 8px 4px 6px;
    text-decoration: none;
    color: var(--sa-muted);
    position: relative;
    border-radius: 0;
    min-width: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    transition: background 0.18s ease, color 0.18s ease;
    /* Üst kenar çizgisi: pasif = şeffaf, aktif = renkli */
    border-top: 3px solid transparent;
  }

  /* Üst kenardaki renkli çizginin arkasındaki pseudo — aynı şeride
     içe doğru azalan gradient (home-nav-card ::after mantığı) */
  .bnav-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      var(--bnav-soft, rgba(13, 110, 253, 0.08)) 0%,
      transparent 72%
    );
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
  }

  /* Pasif hover */
  .bnav-item:hover,
  .bnav-item:focus-visible {
    color: var(--bnav-color, var(--sa-primary));
    outline: none;
  }
  .bnav-item:hover::before,
  .bnav-item:focus-visible::before {
    opacity: 0.6;
  }

  /* İkon — pasif: gri, aktif: renkli (renk değişkeni) */
  .bnav-icon {
    font-size: 1.18rem;
    line-height: 1;
    color: inherit;
    transition: color 0.18s ease, transform 0.15s ease;
    position: relative;
    z-index: 1;
  }

  /* Etiket */
  .bnav-label {
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    color: inherit;
    transition: color 0.15s ease, font-weight 0.15s ease;
    position: relative;
    z-index: 1;
  }

  /* ── AKTİF SEKME ──
     home-nav-card ile aynı dil:
     • üst kenar 3px renkli çizgi  (border-top)
     • içe doğru azalan soft gradient (::before)
     • ikon renklenir
     Oval pill yok, kare köşe korunur */
  .bnav-item.active {
    color: var(--bnav-color, var(--sa-primary));
    border-top-color: var(--bnav-color, var(--sa-primary));
  }

  .bnav-item.active::before {
    opacity: 1;
  }

  .bnav-item.active .bnav-icon {
    color: var(--bnav-color, var(--sa-primary));
    transform: translateY(-1px);
  }

  .bnav-item.active .bnav-label {
    font-weight: 800;
  }

  /* Admin-only sekme */
  .bnav-item.admin-only {
    display: none !important;
  }
  body.is-admin .bnav-item.admin-only {
    display: flex !important;
  }

  /* Toast container'ı barın üzerinde tut */
  #toastContainer {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    top: auto;
  }

  /* PWA popup da barın üzerinde */
  #pwaInstallPopup {
    bottom: calc(74px + env(safe-area-inset-bottom, 0px));
    top: auto;
    transform: translateX(-50%);
  }
}

body.desktop-site-mode .bottom-nav {
  display: none !important;
}

@media (max-width: 991px) {
  body.desktop-site-mode .bottom-nav {
    display: none !important;
  }

  body.desktop-site-mode,
  body.desktop-site-mode .app-main,
  body.desktop-site-mode .app-content {
    padding-bottom: 0 !important;
  }

  body.desktop-site-mode .app-header .nav-link[data-lte-toggle="sidebar"],
  body.desktop-site-mode .app-header [data-lte-toggle="sidebar"],
  body.desktop-site-mode .app-header .nav-item:has([data-lte-toggle="sidebar"]) {
    display: flex !important;
  }

  body.desktop-site-mode .top-mobile-brand {
    display: none !important;
  }

  body.desktop-site-mode #toastContainer {
    top: 70px;
    bottom: auto;
  }

  body.desktop-site-mode #pwaInstallPopup {
    top: 70px;
    bottom: auto;
    transform: translateX(-50%);
  }
}

/* Print: bottom nav hiç basılmasın */
@media print {
  .bottom-nav { display: none !important; }
}
