/* ==========================================================================
   SESHost UI — müşteri paneli + TS3 paneli + yönetim (2026-10)
   seshost.net ile aynı tasarım dili: koyu zemin, tek vurgu, Geist.
   bootstrap.min.css + icons.min.css üstüne yüklenir; app.min.css YOK.
   ========================================================================== */

:root {
  --bg: #09090b;
  --bg-2: #0d0d11;
  --surface: #111116;
  --surface-2: #17171d;
  --surface-3: #1e1e26;
  --surface-4: #26262f;
  --line: rgba(255, 255, 255, .075);
  --line-2: rgba(255, 255, 255, .13);
  --line-3: rgba(255, 255, 255, .2);
  --text: #f4f4f6;
  --text-2: #a3a3ae;
  --text-3: #80808c;

  --accent: #4f8cf5;
  --accent-hi: #8db4ff;
  --accent-lo: rgba(79, 140, 245, .10);
  --accent-line: rgba(79, 140, 245, .24);
  --accent-glow: rgba(79, 140, 245, .35);
  --ok: #3fcf8e;
  --ok-hi: #7ee2b4;
  --ok-lo: rgba(63, 207, 142, .13);
  --warn: #e9b44c;
  --warn-hi: #f3cf85;
  --warn-lo: rgba(233, 180, 76, .14);
  --danger: #f06a6a;
  --danger-hi: #f8a3a3;
  --danger-lo: rgba(240, 106, 106, .14);
  --info: #38bdf8;
  --info-hi: #8bd8fb;
  --info-lo: rgba(56, 189, 248, .13);
  --violet: #a78bfa;
  --violet-hi: #c9b8fd;
  --violet-lo: rgba(167, 139, 250, .14);
  --ok-line: rgba(63, 207, 142, .32);
  --warn-line: rgba(233, 180, 76, .34);
  --danger-line: rgba(240, 106, 106, .34);
  --info-line: rgba(56, 189, 248, .32);
  --violet-line: rgba(167, 139, 250, .34);

  --r-xs: 6px;
  --r-sm: 9px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;

  --font: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);

  --sb-w: 252px;
  --sb-w-min: 72px;
  --top-h: 64px;

  /* Bootstrap 5.2 değişkenleri */
  --bs-body-font-family: var(--font);
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--line-2);
  --bs-heading-color: var(--text);
  --bs-link-color: var(--accent-hi);
  --bs-link-hover-color: #b7cfff;
  --bs-primary: var(--accent);
  --bs-primary-rgb: 79, 140, 245;
  --bs-success: var(--ok);
  --bs-success-rgb: 63, 207, 142;
  --bs-danger: var(--danger);
  --bs-danger-rgb: 240, 106, 106;
  --bs-warning: var(--warn);
  --bs-warning-rgb: 233, 180, 76;
  --bs-info: var(--info);
  --bs-info-rgb: 56, 189, 248;
  --bs-light-rgb: 30, 30, 38;
  --bs-dark-rgb: 17, 17, 22;
  --bs-secondary-rgb: 128, 128, 140;
  --bs-white-rgb: 23, 23, 29;
  --bs-gray-100: var(--surface-2);
  --bs-gray-200: var(--surface-3);
  --bs-gray-300: var(--line-2);
  --bs-gray-600: var(--text-3);
  --bs-gray-700: var(--text-2);
}

/* ── Temel ─────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection { background: var(--accent); color: #fff; }
a { color: var(--accent-hi); text-decoration: none; transition: color .2s; }
a:hover { color: #b7cfff; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--text); font-weight: 600; letter-spacing: -.02em; }
hr { border-color: var(--line-2); opacity: 1; }
code, kbd, pre, .font-monospace { font-family: var(--mono); }
code { color: var(--accent-hi); }
small, .small { color: inherit; }
:focus-visible { outline: 2px solid var(--accent-hi); outline-offset: 2px; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--surface-4); border-radius: 10px; border: 3px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: #3a3a46; }
* { scrollbar-color: var(--surface-4) transparent; }

/* Metin & zemin yardımcıları (Bootstrap'in açık-tema sabitleri yerine) */
.text-dark, .text-body, .text-black { color: var(--text) !important; }
.text-muted, .text-secondary { color: var(--text-3) !important; }
.text-light, .text-white { color: var(--text) !important; }
.text-white-50 { color: rgba(255, 255, 255, .55) !important; }
.text-primary { color: var(--accent-hi) !important; }
h1.text-primary, h2.text-primary, h3.text-primary, h4.text-primary, h5.text-primary, h6.text-primary, .card-title.text-primary, b.text-primary, strong.text-primary { color: var(--text) !important; }
.text-success { color: var(--ok) !important; }
.text-danger { color: var(--danger) !important; }
.text-warning { color: var(--warn) !important; }
.text-info { color: var(--info) !important; }
.text-reset { color: inherit !important; }
.bg-white, .bg-light, .bg-body { background-color: var(--surface-2) !important; }
.bg-dark { background-color: var(--surface) !important; }
.bg-primary { background-color: var(--accent) !important; }
.bg-success { background-color: var(--ok) !important; }
.bg-danger { background-color: var(--danger) !important; }
.bg-warning { background-color: var(--warn) !important; }
.bg-info { background-color: var(--info) !important; }
.bg-secondary { background-color: var(--surface-4) !important; }
.bg-soft-primary, .bg-primary-subtle { background-color: var(--accent-lo) !important; color: var(--accent-hi) !important; }
.bg-soft-success, .bg-success-subtle { background-color: var(--ok-lo) !important; color: var(--ok) !important; }
.bg-soft-danger, .bg-danger-subtle { background-color: var(--danger-lo) !important; color: var(--danger) !important; }
.bg-soft-warning, .bg-warning-subtle { background-color: var(--warn-lo) !important; color: var(--warn) !important; }
.bg-soft-info, .bg-info-subtle { background-color: var(--info-lo) !important; color: var(--info) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--line) !important; }
.shadow, .shadow-sm, .shadow-lg { box-shadow: 0 12px 32px -12px rgba(0, 0, 0, .6) !important; }
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; }
.font-size-10 { font-size: 10px !important; } .font-size-11 { font-size: 11px !important; } .font-size-12 { font-size: 12px !important; }
.font-size-13 { font-size: 13px !important; } .font-size-14 { font-size: 14px !important; } .font-size-15 { font-size: 15px !important; }
.font-size-16 { font-size: 16px !important; } .font-size-18 { font-size: 18px !important; } .font-size-20 { font-size: 20px !important; }
.font-size-22 { font-size: 22px !important; } .font-size-24 { font-size: 24px !important; }
.w-xs { min-width: 80px; } .w-sm { min-width: 95px; } .w-md { min-width: 110px; } .w-lg { min-width: 140px; }
.uyari2 { animation: sh-blink 1s linear infinite; }
@keyframes sh-blink { 50% { opacity: .25; } }
@keyframes blinker { 50% { opacity: 0; } }

/* ── Kabuk: üst çubuk ──────────────────────────────────── */
#layout-wrapper { min-height: 100vh; }
#page-topbar {
  position: fixed; top: 0; right: 0; left: 0; z-index: 1002;
  height: var(--top-h);
  background: rgba(9, 9, 11, .78);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}
.navbar-header {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--top-h); padding: 0 16px 0 0; margin: 0 auto;
}
.navbar-header > .d-flex { align-items: center; height: 100%; }
.navbar-brand-box {
  width: var(--sb-w); height: var(--top-h);
  display: flex; align-items: center; padding: 0 20px;
  border-right: 1px solid var(--line);
  background: var(--bg-2);
}
.navbar-brand-box .logo { display: flex; align-items: center; }
.navbar-brand-box img { height: 28px !important; width: auto; }
.logo-sm { display: none; }
.logo-light { display: block; }
.logo-dark { display: none; }
.header-item {
  height: var(--top-h); display: inline-flex; align-items: center; gap: 8px;
  padding: 0 12px; border: 0; border-radius: 0; background: transparent;
  color: var(--text-2); box-shadow: none !important;
}
.header-item:hover, .header-item:focus { color: var(--text); background: transparent; }
#vertical-menu-btn {
  width: 40px; height: 40px; margin-left: 12px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .03);
  color: var(--text-2); font-size: 16px;
}
#vertical-menu-btn:hover { color: var(--text); background: rgba(255, 255, 255, .07); }
.noti-icon { position: relative; }
.noti-icon i { font-size: 21px; color: var(--text-2); transition: color .2s; }
.noti-icon:hover i { color: var(--text); }
.noti-icon .badge { position: absolute; top: 13px; right: 4px; font-size: 10px; padding: 3px 6px; }
.header-profile-user { width: 34px; height: 34px; object-fit: cover; border-radius: 10px !important; border: 1px solid var(--line-2); background: var(--surface-3); }
#page-header-user-dropdown { gap: 10px; color: var(--text); font-weight: 500; }
#page-header-user-dropdown .mdi-chevron-down { color: var(--text-3); }
.notification-item { display: block; padding: 12px 16px; border-top: 1px solid var(--line); color: var(--text-2); }
.notification-item:hover { background: rgba(255, 255, 255, .03); }
.notification-item h6 { font-size: 13.5px; margin-bottom: 2px; }
.mgoster { display: none; }
@media (max-width: 991.98px) { .mgoster { display: inline-flex !important; } }

/* ── Kabuk: yan menü ───────────────────────────────────── */
.vertical-menu {
  position: fixed; z-index: 1001;
  top: var(--top-h); bottom: 0; left: 0;
  width: var(--sb-w);
  background: var(--bg-2);
  border-right: 1px solid var(--line);
  transition: transform .3s var(--ease), width .3s var(--ease);
}
.vertical-menu .h-100 { height: 100%; overflow-y: auto; overflow-x: hidden; }
#sidebar-menu { padding: 14px 12px 28px; }
#sidebar-menu ul { list-style: none; margin: 0; padding: 0; }
#sidebar-menu .menu-title {
  padding: 18px 12px 8px;
  font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-3);
}
#sidebar-menu .menu-title:first-child { padding-top: 6px; }
#sidebar-menu ul li a {
  position: relative;
  display: flex; align-items: center; gap: 12px;
  padding: 9px 12px; margin: 1px 0;
  border-radius: 10px;
  color: var(--text-2); font-size: 14px; font-weight: 500;
  transition: color .2s, background-color .2s;
}
#sidebar-menu ul li a > span:first-of-type:not(.badge) { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#sidebar-menu ul li a i { font-size: 18px; width: 20px; text-align: center; color: var(--text-3); transition: color .2s; min-width: 20px; }
#sidebar-menu ul li a:hover { color: var(--text); background: rgba(255, 255, 255, .04); }
#sidebar-menu ul li a:hover i { color: var(--text-2); }
#sidebar-menu ul li.mm-active > a, #sidebar-menu ul li a.active {
  color: var(--text); background: rgba(255, 255, 255, .06);
  box-shadow: inset 0 0 0 1px var(--line);
}
#sidebar-menu ul li.mm-active > a i, #sidebar-menu ul li a.active i { color: var(--accent-hi); }
#sidebar-menu ul li.mm-active > a::before, #sidebar-menu > ul > li > a.active::before {
  content: ''; position: absolute; left: -12px; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0;
  background: var(--accent); box-shadow: 0 0 10px var(--accent);
}
#sidebar-menu .badge { margin-left: auto; float: none !important; font-size: 10.5px; padding: 3px 7px; }
#sidebar-menu .has-arrow::after {
  content: ''; margin-left: auto; width: 7px; height: 7px; flex-shrink: 0;
  border-right: 1.5px solid var(--text-3); border-bottom: 1.5px solid var(--text-3);
  transform: rotate(-45deg); transition: transform .25s var(--ease);
}
#sidebar-menu .mm-active > .has-arrow::after { transform: rotate(45deg); }
#sidebar-menu .sub-menu { padding: 2px 0 6px 32px; }
#sidebar-menu .sub-menu li a { padding: 7px 12px; font-size: 13.5px; color: var(--text-3); }
#sidebar-menu .sub-menu li a.active, #sidebar-menu .sub-menu li.mm-active > a { color: var(--accent-hi); background: transparent; box-shadow: none; }
.mm-collapse:not(.mm-show) { display: none; }
.mm-collapsing { position: relative; height: 0; overflow: hidden; transition: height .3s var(--ease); }

/* masaüstünde daraltılmış menü */
@media (min-width: 992px) {
  body.vertical-collpsed .vertical-menu { width: var(--sb-w-min); }
  body.vertical-collpsed .navbar-brand-box { width: var(--sb-w-min); padding: 0 14px; overflow: hidden; }
  body.vertical-collpsed .navbar-brand-box img { width: 150px !important; max-width: none; object-fit: cover; object-position: left; height: 26px !important; clip-path: inset(0 119px 0 0); }
  body.vertical-collpsed .main-content, body.vertical-collpsed .footer { margin-left: var(--sb-w-min); left: var(--sb-w-min); }
  body.vertical-collpsed #sidebar-menu .menu-title,
  body.vertical-collpsed #sidebar-menu ul li a > span,
  body.vertical-collpsed #sidebar-menu .badge,
  body.vertical-collpsed #sidebar-menu .has-arrow::after,
  body.vertical-collpsed #sidebar-menu .sub-menu { display: none !important; }
  body.vertical-collpsed #sidebar-menu ul li a { justify-content: center; padding: 11px 0; }
}

/* ── Kabuk: içerik ─────────────────────────────────────── */
.main-content { margin-left: var(--sb-w); overflow: visible; transition: margin-left .3s var(--ease); }
.page-content { padding: calc(var(--top-h) + 28px) 28px 84px; min-height: 100vh; position: relative; }
.container-fluid { max-width: 1480px; }
.footer {
  position: absolute; bottom: 0; right: 0; left: var(--sb-w);
  height: 56px; display: flex; align-items: center;
  padding: 0 28px; color: var(--text-3); font-size: 12.5px;
  border-top: 1px solid var(--line); background: transparent;
  transition: left .3s var(--ease);
}
.footer a { color: var(--text-2); }
.main-content { position: relative; min-height: 100vh; }
/* Footer .main-content İÇİNDEYSE (tüm panel sayfaları) kutu zaten sol menü kadar içeride → ikinci kaydırma yok
   (eskiden footer 2×--sb-w = 504px'ten başlıyordu) */
.main-content .footer, body.vertical-collpsed .main-content .footer { left: 0; margin-left: 0; }
.page-title-box { display: none !important; } /* eski panelde de gizliydi */
.page-title-box.sh-goster { display: flex !important; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-bottom: 22px; }
.page-title-box h4, .page-title-box .page-title { margin: 0; font-size: 22px !important; font-weight: 600; letter-spacing: -.03em; text-transform: none; }
.page-title-box .breadcrumb { background: transparent; padding: 0; margin: 0; }
.page-title-right { display: flex; align-items: center; }

@media (max-width: 991.98px) {
  .navbar-brand-box { width: auto; border-right: 0; background: transparent; padding: 0 0 0 16px; }
  .navbar-brand-box.gizle { display: none; }
  .vertical-menu { transform: translateX(-100%); box-shadow: 20px 0 60px -20px rgba(0, 0, 0, .8); }
  body.sidebar-enable .vertical-menu { transform: none; }
  body.sidebar-enable::after { content: ''; position: fixed; inset: var(--top-h) 0 0 0; z-index: 1000; background: rgba(0, 0, 0, .5); }
  .main-content { margin-left: 0; }
  .footer { left: 0; }
  .page-content { padding: calc(var(--top-h) + 18px) 14px 84px; }
}

/* ── Kartlar ───────────────────────────────────────────── */
.card {
  --bs-card-bg: var(--surface);
  --bs-card-border-color: var(--line);
  --bs-card-cap-bg: transparent;
  --bs-card-color: var(--text);
  --bs-card-border-radius: var(--r-lg);
  --bs-card-inner-border-radius: calc(var(--r-lg) - 1px);
  --bs-card-spacer-y: 1.35rem;
  --bs-card-spacer-x: 1.35rem;
  background: linear-gradient(180deg, var(--surface-2), var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 10px 30px -18px rgba(0, 0, 0, .7);
  margin-bottom: 20px;
  color: var(--text);
}
.card-header, .card-footer { background: transparent; border-color: var(--line); color: var(--text); }
.card-header { padding: 16px 1.35rem; }
.card-title { font-size: 15.5px; font-weight: 600; letter-spacing: -.015em; color: var(--text); margin-bottom: 6px; }
.card-title-desc, .card-subtitle { color: var(--text-3); font-size: 13.5px; margin-bottom: 18px; }
.card > .bg-dark, .card .bg-dark.rounded-top, .card .bg-soft-primary {
  background: radial-gradient(120% 140% at 0% 0%, rgba(79, 140, 245, .1), transparent 60%), var(--surface-3) !important;
  border-bottom: 1px solid var(--line);
}
.profile-user-wid { margin-top: -26px; }
.avatar-xs { height: 2rem; width: 2rem; } .avatar-sm { height: 2.75rem; width: 2.75rem; }
.avatar-md { height: 4.5rem; width: 4.5rem; } .avatar-lg { height: 6rem; width: 6rem; }
.avatar-title {
  display: flex; align-items: center; justify-content: center; height: 100%; width: 100%;
  background-color: var(--surface-3); color: var(--text); font-weight: 500; border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--line-2);
}
.avatar-title.rounded-circle { border-radius: 50% !important; }
.avatar-title.bg-primary { background: var(--accent-lo) !important; color: var(--accent-hi) !important; }
.avatar-title.bg-success { background: var(--ok-lo) !important; color: var(--ok) !important; }
.avatar-title.bg-danger { background: var(--danger-lo) !important; color: var(--danger) !important; }
.avatar-title.bg-warning { background: var(--warn-lo) !important; color: var(--warn) !important; }
.avatar-title.bg-info { background: var(--info-lo) !important; color: var(--info) !important; }
.avatar-title.bg-light { background: var(--surface-3) !important; color: var(--text-2) !important; }
.mini-stats-wid .mini-stat-icon { overflow: hidden; position: relative; }

/* ── Eski (AdminLTE) işaretleme — TS3 sekme parçaları ─────── */
section.content { display: block; width: 100%; }
.card-header-title, .card-body-title, .box-title { font-size: 16px; font-weight: 600; letter-spacing: -.015em; color: var(--text); margin: 0; display: flex; align-items: center; gap: 8px; }
.card-header-title i, .card-body-title i, .box-title i { color: var(--text-3); font-size: 15px; }
.card-body-header { padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.card-body-header .btn { float: none !important; }
.card > .card-body:first-child:has(> .card-header-title:only-child) { padding-bottom: 0; }
.box { margin-top: 28px; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--surface); }
.box-header { padding: 18px 18px 14px; border-bottom: 1px solid var(--line); text-align: left !important; }
.box-header br { display: none; }
.box-header h5 { font-size: 13px; font-weight: 400; color: var(--text-3); margin: 6px 0 0; }
.box .table-responsive { border-radius: 0; }
.ts-ban-table td { text-align: left !important; width: auto !important; white-space: nowrap; }
.ts-ban-table tr:first-child td { font-family: var(--mono); font-size: 11.5px; font-weight: 500 !important; color: var(--text-3); text-transform: uppercase; letter-spacing: .03em; background: rgba(255, 255, 255, .02); }
.ts-ban-table a.fa { font-family: var(--font); color: var(--danger-hi); }
.ts-ban-table a.fa::before { font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-right: 4px; }
.alert h4 { font-size: 14px; font-weight: 600; color: inherit; margin-bottom: 4px; }
.alert .icon { margin-right: 6px; }
.alert-dismissible .close { position: absolute; top: 10px; right: 12px; }
.input-group > .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-append > .btn, .input-group-append > input.btn { border-top-left-radius: 0; border-bottom-left-radius: 0; height: 100%; }
@media (max-width: 575.98px) {
  .input-group:has(.input-group-append) { flex-wrap: wrap; gap: 8px; }
  .input-group:has(.input-group-append) > .form-control { width: 100%; flex: 1 1 100%; border-radius: 10px !important; }
  .input-group:has(.input-group-append) > .input-group-append, .input-group-append > .btn, .input-group-append > input.btn { width: 100%; border-radius: 10px !important; }
}

/* ── Butonlar ──────────────────────────────────────────── */
.btn {
  --bs-btn-font-family: var(--font);
  --bs-btn-font-weight: 500;
  --bs-btn-font-size: 13.5px;
  --bs-btn-border-radius: 10px;
  --bs-btn-padding-y: .5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-focus-box-shadow: 0 0 0 3px var(--accent-lo);
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  letter-spacing: -.005em;
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .25s, transform .15s;
}
.btn:active { transform: scale(.98); }
.btn-sm { --bs-btn-padding-y: .3rem; --bs-btn-padding-x: .7rem; --bs-btn-font-size: 12.5px; --bs-btn-border-radius: 8px; }
.btn-lg { --bs-btn-padding-y: .7rem; --bs-btn-padding-x: 1.3rem; --bs-btn-font-size: 15px; --bs-btn-border-radius: 12px; }
.btn-block, .d-grid > .btn { width: 100%; }
.btn-primary {
  --bs-btn-color: #fff; --bs-btn-bg: var(--accent); --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #5f98f8; --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #447fe6; --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-bg: var(--accent); --bs-btn-disabled-border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 0 0 1px rgba(79, 140, 245, .5);
}
.btn-primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 0 0 1px rgba(141, 180, 255, .6); }
.btn-dark, .btn-light, .btn-secondary, .btn-outline-secondary, .btn-outline-light, .btn-outline-dark, .btn-default {
  --bs-btn-color: var(--text); --bs-btn-bg: rgba(255, 255, 255, .04); --bs-btn-border-color: var(--line-2);
  --bs-btn-hover-color: var(--text); --bs-btn-hover-bg: rgba(255, 255, 255, .08); --bs-btn-hover-border-color: var(--line-3);
  --bs-btn-active-color: var(--text); --bs-btn-active-bg: rgba(255, 255, 255, .1); --bs-btn-active-border-color: var(--line-3);
  --bs-btn-disabled-color: var(--text-3); --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: var(--line);
}
.btn-success {
  --bs-btn-color: #04150d; --bs-btn-bg: var(--ok); --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #04150d; --bs-btn-hover-bg: #5ad99e; --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #04150d; --bs-btn-active-bg: #34b97c; --bs-btn-disabled-bg: var(--ok); --bs-btn-disabled-border-color: transparent;
}
.btn-danger {
  --bs-btn-color: #fff; --bs-btn-bg: #d9534f; --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #e5605c; --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #c94642; --bs-btn-disabled-bg: #d9534f; --bs-btn-disabled-border-color: transparent;
}
.btn-warning {
  --bs-btn-color: #1d1404; --bs-btn-bg: var(--warn); --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #1d1404; --bs-btn-hover-bg: #f0c162; --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #1d1404; --bs-btn-active-bg: #d9a43d; --bs-btn-disabled-bg: var(--warn); --bs-btn-disabled-border-color: transparent;
}
.btn-info {
  --bs-btn-color: #031520; --bs-btn-bg: var(--info); --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #031520; --bs-btn-hover-bg: #5cc9f9; --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #031520; --bs-btn-active-bg: #2aa8e0; --bs-btn-disabled-bg: var(--info); --bs-btn-disabled-border-color: transparent;
}
.btn-outline-primary { --bs-btn-color: var(--accent-hi); --bs-btn-border-color: var(--accent-line); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--accent); --bs-btn-hover-border-color: var(--accent); --bs-btn-active-bg: var(--accent); --bs-btn-active-border-color: var(--accent); }
.btn-outline-success { --bs-btn-color: var(--ok); --bs-btn-border-color: rgba(63, 207, 142, .35); --bs-btn-hover-color: #04150d; --bs-btn-hover-bg: var(--ok); --bs-btn-hover-border-color: var(--ok); --bs-btn-active-bg: var(--ok); }
.btn-outline-danger { --bs-btn-color: var(--danger); --bs-btn-border-color: rgba(240, 106, 106, .35); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #d9534f; --bs-btn-hover-border-color: #d9534f; --bs-btn-active-bg: #d9534f; }
.btn-outline-warning { --bs-btn-color: var(--warn); --bs-btn-border-color: rgba(233, 180, 76, .35); --bs-btn-hover-color: #1d1404; --bs-btn-hover-bg: var(--warn); --bs-btn-hover-border-color: var(--warn); }
.btn-outline-info { --bs-btn-color: var(--info); --bs-btn-border-color: rgba(56, 189, 248, .35); --bs-btn-hover-color: #031520; --bs-btn-hover-bg: var(--info); --bs-btn-hover-border-color: var(--info); }
.btn-link { --bs-btn-color: var(--accent-hi); --bs-btn-hover-color: #b7cfff; --bs-btn-active-color: var(--accent-hi); text-decoration: none; }
.btn-soft-primary { background: var(--accent-lo); color: var(--accent-hi); border: 1px solid var(--accent-line); }
.btn-soft-primary:hover { background: var(--accent); color: #fff; }
.btn-rounded { border-radius: 999px !important; }
.btn-close { filter: invert(1) grayscale(1) brightness(1.6); opacity: .6; }
.btn-close:hover { opacity: 1; }
.close { background: transparent; border: 0; color: var(--text-2); font-size: 22px; line-height: 1; }

/* ── Rozetler ──────────────────────────────────────────── */
.badge { font-weight: 500; font-size: 11px; padding: .38em .65em; border-radius: 6px; letter-spacing: .01em; }
.badge.rounded-pill { border-radius: 999px; }
.badge.bg-primary, .text-bg-primary { background: var(--accent-lo) !important; color: var(--accent-hi) !important; box-shadow: inset 0 0 0 1px var(--accent-line); }
.badge.bg-success, .text-bg-success { background: var(--ok-lo) !important; color: var(--ok) !important; box-shadow: inset 0 0 0 1px rgba(63, 207, 142, .3); }
.badge.bg-danger, .text-bg-danger { background: var(--danger-lo) !important; color: var(--danger-hi) !important; box-shadow: inset 0 0 0 1px rgba(240, 106, 106, .32); }
.badge.bg-warning, .text-bg-warning { background: var(--warn-lo) !important; color: var(--warn) !important; box-shadow: inset 0 0 0 1px rgba(233, 180, 76, .3); }
.badge.bg-info, .text-bg-info { background: var(--info-lo) !important; color: var(--info) !important; box-shadow: inset 0 0 0 1px rgba(56, 189, 248, .3); }
.badge.bg-secondary, .badge.bg-light, .badge.bg-dark, .text-bg-secondary, .text-bg-light, .text-bg-dark { background: rgba(255, 255, 255, .06) !important; color: var(--text-2) !important; box-shadow: inset 0 0 0 1px var(--line-2); }
.badge-pill { border-radius: 999px; }
.badge-soft-primary { background: var(--accent-lo); color: var(--accent-hi); }
.badge-soft-success { background: var(--ok-lo); color: var(--ok); }
.badge-soft-danger { background: var(--danger-lo); color: var(--danger-hi); }
.badge-soft-warning { background: var(--warn-lo); color: var(--warn); }
.badge-soft-info { background: var(--info-lo); color: var(--info); }

/* ── Uyarılar ──────────────────────────────────────────── */
.alert {
  --bs-alert-border-radius: var(--r-md);
  border: 1px solid; border-radius: var(--r-md);
  padding: 13px 16px; font-size: 13.5px;
  display: block;
}
.alert-primary, .alert-info { background: var(--accent-lo); border-color: var(--accent-line); color: #c7d9ff; }
.alert-info { background: var(--info-lo); border-color: rgba(56, 189, 248, .3); color: #bfe9fd; }
.alert-success { background: var(--ok-lo); border-color: rgba(63, 207, 142, .3); color: #b4f0d3; }
.alert-danger { background: var(--danger-lo); border-color: rgba(240, 106, 106, .32); color: #fcc9c9; }
.alert-warning { background: var(--warn-lo); border-color: rgba(233, 180, 76, .32); color: #f6deb0; }
.alert-secondary, .alert-light, .alert-dark { background: var(--surface-2); border-color: var(--line-2); color: var(--text-2); }
.alert .alert-link { color: inherit; text-decoration: underline; }
.alert i { margin-right: 4px; }

/* ── Formlar ───────────────────────────────────────────── */
.form-label, label { color: var(--text-2); font-size: 13px; font-weight: 500; }
.form-label { margin-bottom: 6px; }
.form-control, .form-select, .custom-select {
  background-color: rgba(255, 255, 255, .03);
  border: 1px solid var(--line-2);
  border-radius: 10px;
  color: var(--text);
  font-size: 14px;
  padding: .55rem .8rem;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.form-control:hover, .form-select:hover { border-color: var(--line-3); }
.form-control:focus, .form-select:focus {
  background-color: rgba(255, 255, 255, .04);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-lo);
  color: var(--text);
}
.form-control::placeholder { color: var(--text-3); opacity: 1; }
.form-control:disabled, .form-control[readonly], .form-select:disabled { background-color: rgba(255, 255, 255, .015); color: var(--text-2); border-color: var(--line); }
.form-control-sm, .form-select-sm { font-size: 13px; padding: .35rem .6rem; border-radius: 8px; }
.form-control-lg { font-size: 15px; padding: .7rem 1rem; border-radius: 12px; }
.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a3a3ae' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
select, input, textarea { color: var(--text); color-scheme: dark; }
.form-select option, select option { background: var(--surface-2); color: var(--text); }
input[type="date"], input[type="datetime-local"], input[type="time"] { color-scheme: dark; }
.form-text { color: var(--text-3); }
.input-group-text { background: var(--surface-3); border: 1px solid var(--line-2); color: var(--text-2); border-radius: 10px; }
.input-group-append { display: flex; }
.form-check-input { background-color: rgba(255, 255, 255, .04); border: 1px solid var(--line-3); }
.form-check-input:checked { background-color: var(--accent); border-color: var(--accent); }
.form-check-input:focus { box-shadow: 0 0 0 3px var(--accent-lo); border-color: var(--accent); }
.form-check-label { color: var(--text-2); }
.form-switch .form-check-input { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255,255,255,.55%29'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--danger); }
.invalid-feedback { color: var(--danger-hi); }
.form-group { margin-bottom: 1rem; }
textarea.form-control { min-height: 90px; }

/* Skote anahtar (input[switch]) */
input[switch] { display: none; }
input[switch] + label {
  position: relative; display: inline-block; width: 52px; height: 26px; margin: 0;
  border-radius: 999px; background: var(--surface-4); border: 1px solid var(--line-2);
  cursor: pointer; font-size: 0; transition: background-color .25s;
}
input[switch] + label::after {
  content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%;
  background: #d4d4dc; transition: transform .25s var(--ease), background-color .25s;
}
input[switch]:checked + label { background: var(--accent); border-color: transparent; }
input[switch]:checked + label::after { transform: translateX(26px); background: #fff; }
.square-switch { margin-right: 7px; }
.square-switch input[switch] + label, .square-switch input[switch] + label::after { border-radius: 6px; }

/* ── Tablolar ──────────────────────────────────────────── */
.table {
  --bs-table-color: var(--text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--line);
  --bs-table-striped-bg: rgba(255, 255, 255, .02);
  --bs-table-striped-color: var(--text);
  --bs-table-hover-bg: rgba(255, 255, 255, .03);
  --bs-table-hover-color: var(--text);
  --bs-table-active-bg: rgba(255, 255, 255, .04);
  color: var(--text);
  font-size: 13.5px;
  margin-bottom: 0;
}
.table > :not(caption) > * > * { padding: .8rem .9rem; border-bottom-color: var(--line); background-color: transparent; }
.table > thead > tr > th, .table thead th, .table-light th, thead.table-light th {
  font-family: var(--mono); font-size: 11.5px; font-weight: 500; letter-spacing: .03em; text-transform: uppercase;
  color: var(--text-3); background: rgba(255, 255, 255, .02) !important; border-bottom: 1px solid var(--line-2);
  white-space: nowrap;
}
.table-light, .table-light > th, .table-light > td, .thead-light th { --bs-table-bg: transparent; color: var(--text-3); }
.table-dark { --bs-table-bg: var(--surface-2); --bs-table-color: var(--text); }
.table-bordered > :not(caption) > * > * { border-color: var(--line); }
.table-nowrap td, .table-nowrap th { white-space: nowrap; }
.table-responsive { border-radius: var(--r-md); }
.table td { vertical-align: middle; }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(255, 255, 255, .03); color: var(--text); }
.table-success { --bs-table-bg: var(--ok-lo); --bs-table-color: var(--text); }
.table-danger { --bs-table-bg: var(--danger-lo); --bs-table-color: var(--text); }
.table-warning { --bs-table-bg: var(--warn-lo); --bs-table-color: var(--text); }
.table-info, .table-primary { --bs-table-bg: var(--accent-lo); --bs-table-color: var(--text); }

/* DataTables (yönetim) */
.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info { color: var(--text-3); font-size: 13px; }
.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select { background: rgba(255, 255, 255, .03); border: 1px solid var(--line-2); color: var(--text); border-radius: 8px; padding: 4px 8px; }
.dataTables_wrapper .paginate_button, .page-link { color: var(--text-2) !important; }
table.dataTable { border-collapse: collapse !important; }

/* ── Sayfalama ─────────────────────────────────────────── */
.pagination { --bs-pagination-bg: transparent; --bs-pagination-border-color: var(--line-2); --bs-pagination-color: var(--text-2); --bs-pagination-hover-bg: rgba(255, 255, 255, .05); --bs-pagination-hover-color: var(--text); --bs-pagination-hover-border-color: var(--line-3); --bs-pagination-active-bg: var(--accent); --bs-pagination-active-border-color: var(--accent); --bs-pagination-disabled-bg: transparent; --bs-pagination-disabled-color: var(--text-3); --bs-pagination-disabled-border-color: var(--line); --bs-pagination-focus-box-shadow: 0 0 0 3px var(--accent-lo); gap: 4px; }
.page-link { border-radius: 8px !important; }
.page-item.active .page-link { color: #fff !important; }

/* ── Sekmeler / hap menüler ────────────────────────────── */
.nav-tabs { --bs-nav-tabs-border-color: var(--line); --bs-nav-tabs-link-active-bg: transparent; --bs-nav-tabs-link-active-color: var(--text); --bs-nav-tabs-link-active-border-color: transparent; border-bottom: 1px solid var(--line); gap: 4px; }
.nav-tabs .nav-link { color: var(--text-3); border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 10px 14px; font-weight: 500; margin-bottom: -1px; }
.nav-tabs .nav-link:hover { color: var(--text); border-color: transparent; }
.nav-tabs .nav-link.active { color: var(--text); border-bottom-color: var(--accent); background: transparent; }
.nav-pills { gap: 4px; padding: 4px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); display: inline-flex; flex-wrap: wrap; }
.nav-pills .nav-link { color: var(--text-2); border-radius: 9px; padding: 7px 14px; font-weight: 500; font-size: 13.5px; }
.nav-pills .nav-link:hover { color: var(--text); background: rgba(255, 255, 255, .04); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: var(--text); background: var(--surface-3); box-shadow: inset 0 0 0 1px var(--line-2), inset 0 1px 0 rgba(255, 255, 255, .05); }
.nav-tabs-custom { border-bottom: 1px solid var(--line); }
.tab-content { color: var(--text); }

/* ── Açılır menüler ────────────────────────────────────── */
.dropdown-menu {
  --bs-dropdown-bg: var(--surface-2);
  --bs-dropdown-border-color: var(--line-2);
  --bs-dropdown-color: var(--text);
  --bs-dropdown-link-color: var(--text-2);
  --bs-dropdown-link-hover-color: var(--text);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, .05);
  --bs-dropdown-link-active-bg: var(--accent-lo);
  --bs-dropdown-link-active-color: var(--text);
  --bs-dropdown-divider-bg: var(--line);
  --bs-dropdown-header-color: var(--text-3);
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .8);
  font-size: 13.5px;
}
.dropdown-item { border-radius: 8px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
.dropdown-item.text-danger:hover { background: var(--danger-lo); }
.dropdown-menu-lg { width: 340px; }
.dropdown-menu h6 { color: var(--text); }

/* ── Modal ─────────────────────────────────────────────── */
.modal { --bs-modal-bg: var(--surface); --bs-modal-border-color: var(--line-2); --bs-modal-color: var(--text); --bs-modal-border-radius: var(--r-xl); --bs-modal-header-border-color: var(--line); --bs-modal-footer-border-color: var(--line); }
.modal-content { background: linear-gradient(180deg, var(--surface-2), var(--surface)); border: 1px solid var(--line-2); border-radius: var(--r-xl); box-shadow: 0 40px 100px -20px rgba(0, 0, 0, .85); color: var(--text); }
.modal-header, .modal-footer { border-color: var(--line); padding: 16px 22px; }
.modal-body { padding: 22px; }
.modal-title { font-size: 16px; font-weight: 600; }
.modal-backdrop { --bs-backdrop-bg: #000; --bs-backdrop-opacity: .65; }

/* ── Liste grupları / ilerleme / diğer ─────────────────── */
.list-group { --bs-list-group-bg: transparent; --bs-list-group-color: var(--text); --bs-list-group-border-color: var(--line); --bs-list-group-action-hover-bg: rgba(255, 255, 255, .03); --bs-list-group-action-hover-color: var(--text); --bs-list-group-active-bg: var(--accent-lo); --bs-list-group-active-border-color: var(--accent-line); --bs-list-group-active-color: var(--text); }
.progress { --bs-progress-bg: var(--surface-3); --bs-progress-bar-bg: var(--accent); --bs-progress-border-radius: 999px; height: 8px; }
.breadcrumb { --bs-breadcrumb-divider-color: var(--text-3); --bs-breadcrumb-item-active-color: var(--text-3); font-size: 13px; }
.breadcrumb a { color: var(--text-2); }
.accordion { --bs-accordion-bg: var(--surface); --bs-accordion-color: var(--text); --bs-accordion-border-color: var(--line); --bs-accordion-btn-color: var(--text); --bs-accordion-btn-bg: transparent; --bs-accordion-active-bg: var(--surface-2); --bs-accordion-active-color: var(--text); --bs-accordion-btn-focus-box-shadow: 0 0 0 3px var(--accent-lo); }
.accordion-button::after { filter: invert(1) grayscale(1); }
.popover { --bs-popover-bg: var(--surface-2); --bs-popover-border-color: var(--line-2); --bs-popover-body-color: var(--text-2); --bs-popover-header-bg: var(--surface-3); --bs-popover-header-color: var(--text); }
.tooltip { --bs-tooltip-bg: var(--surface-4); --bs-tooltip-color: var(--text); }
.toast { --bs-toast-bg: var(--surface-2); --bs-toast-border-color: var(--line-2); --bs-toast-color: var(--text); }
.offcanvas { --bs-offcanvas-bg: var(--surface); --bs-offcanvas-color: var(--text); --bs-offcanvas-border-color: var(--line); }
.spinner-border { color: var(--accent-hi); }
/* SimpleBar (eski temadan taşınan yapısal kurallar) */
.vertical-collpsed .vertical-menu .simplebar-content-wrapper,.vertical-collpsed .vertical-menu .simplebar-mask{overflow:visible!important}
.vertical-collpsed .vertical-menu .simplebar-scrollbar{display:none!important}
.vertical-collpsed .vertical-menu .simplebar-offset{bottom:0!important}
[data-simplebar]{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}
.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}
.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}
.simplebar-offset{direction:inherit!important;-webkit-box-sizing:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0!important;bottom:0;right:0!important;padding:0;margin:0;-webkit-overflow-scrolling:touch}
.simplebar-content-wrapper{direction:inherit;-webkit-box-sizing:border-box!important;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;visibility:visible;overflow:auto;max-width:100%;max-height:100%;scrollbar-width:none;padding:0!important}
.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none}
.simplebar-content:after,.simplebar-content:before{content:" ";display:table}
.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}
.simplebar-height-auto-observer-wrapper{-webkit-box-sizing:inherit!important;box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;-webkit-box-flex:inherit;-ms-flex-positive:inherit;flex-grow:inherit;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:0;flex-basis:0}
.simplebar-height-auto-observer{-webkit-box-sizing:inherit;box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}
.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}
[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}
[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}
.simplebar-scrollbar{position:absolute;right:2px;width:4px;min-height:10px}
.simplebar-scrollbar:before{position:absolute;content:"";background:rgba(255,255,255,.35);border-radius:7px;left:0;right:0;opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}
.simplebar-scrollbar.simplebar-visible:before{opacity:.5;-webkit-transition:opacity 0s linear;transition:opacity 0s linear}
.simplebar-track.simplebar-vertical{top:0;width:11px}
.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}
.simplebar-track.simplebar-horizontal{left:0;height:11px}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}
[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}
.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}
.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none}
.simplebar-scrollbar::before { background: rgba(255, 255, 255, .25); }
.note-editor.note-frame { border-color: var(--line-2) !important; background: var(--surface); }
.note-editor .note-toolbar, .note-editor .note-statusbar { background: var(--surface-2) !important; border-color: var(--line) !important; }
.note-editor .note-editing-area .note-editable { background: var(--surface) !important; color: var(--text) !important; }
.note-btn { background: var(--surface-3) !important; color: var(--text) !important; border-color: var(--line-2) !important; }
.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple { background: rgba(255, 255, 255, .03); border: 1px solid var(--line-2); border-radius: 10px; min-height: 38px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text); line-height: 36px; }
.select2-dropdown { background: var(--surface-2); border-color: var(--line-2); color: var(--text); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--accent); }
.select2-search__field { background: var(--surface) !important; color: var(--text) !important; border-color: var(--line-2) !important; }
.apexcharts-tooltip, .apexcharts-menu { background: var(--surface-2) !important; color: var(--text) !important; border-color: var(--line-2) !important; }
.apexcharts-text, .apexcharts-legend-text { fill: var(--text-2) !important; color: var(--text-2) !important; }
.apexcharts-gridline { stroke: rgba(255, 255, 255, .06); }
.swal2-popup { background: var(--surface-2) !important; color: var(--text) !important; border: 1px solid var(--line-2); border-radius: var(--r-xl) !important; }
.swal2-title, .swal2-html-container { color: var(--text) !important; }

/* ── Giriş / kayıt sayfaları ───────────────────────────── */
.account-pages {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 48px 0 !important; margin: 0 !important;
  background: var(--bg);
}
.account-pages::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(to right, rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 0%, #000 30%, transparent 75%);
}
.account-pages::after {
  content: ''; position: fixed; z-index: -1; pointer-events: none;
  top: -320px; left: 50%; width: 1000px; height: 640px; margin-left: -500px;
  background: radial-gradient(closest-side, rgba(79, 140, 245, .26), transparent 70%);
  filter: blur(20px);
}
.account-pages .container { position: relative; }
.account-pages .card { overflow: hidden; border-color: var(--line-2); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .05); }
.account-pages .card > .bg-dark, .account-pages .card .bg-soft-primary { padding: 6px 4px 30px; }
.account-pages .card .bg-dark h5, .account-pages .card .bg-soft-primary h5 { color: var(--text); font-weight: 600; letter-spacing: -.02em; }
.account-pages .card .bg-dark p, .account-pages .card .bg-soft-primary p { color: var(--text-2); }
.account-pages .avatar-md.profile-user-wid .avatar-title { background: var(--surface-3) !important; border: 1px solid var(--line-2); border-radius: 50% !important; overflow: hidden; box-shadow: 0 0 0 4px var(--surface), 0 10px 30px -10px rgba(0, 0, 0, .8); }
.account-pages .avatar-md.profile-user-wid .avatar-title img { height: 60px; width: 60px; object-fit: contain; }
.account-pages .mt-5, .account-pages .mt-5 p { color: var(--text-3); }
.account-pages .mt-5 a, .account-pages a.fw-medium { color: var(--accent-hi) !important; font-weight: 500; }
.auth-logo .auth-logo-dark { display: block; }
.auth-logo .auth-logo-light { display: none; }
.auth-pass-inputgroup input[type="input"] + .btn .mdi-eye-outline::before { content: "\F06D1"; }

/* ── TS3 paneli: canlı sunucu görünümü (seshost.net anasayfa penceresiyle aynı dil) ── */
.tsv {
  position: relative; overflow: hidden; margin-bottom: 20px;
  border-radius: var(--r-xl); border: 1px solid var(--line-2);
  background: linear-gradient(180deg, rgba(30, 30, 38, .9), rgba(16, 16, 21, .95));
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.tsv::before {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(140deg, rgba(141, 180, 255, .45), transparent 35%, transparent 70%, rgba(141, 180, 255, .2));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
}
.tsv__bar { display: flex; align-items: center; gap: 12px; height: 46px; padding: 0 14px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .02); }
.tsv__dots { display: flex; gap: 6px; }
.tsv__dots i { width: 10px; height: 10px; border-radius: 50%; background: #2a2a33; }
.tsv__addr {
  flex: 1; max-width: 320px; margin: 0 auto; min-width: 0;
  display: flex; align-items: center; justify-content: center; gap: 6px; height: 26px; padding: 0 10px;
  border-radius: 8px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line);
  font-family: var(--mono); font-size: 12px; color: var(--text-2);
}
.tsv__addr span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tsv__addr i { color: var(--ok); font-size: 13px; }
.tsv-canli { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 11.5px; color: var(--text-3); white-space: nowrap; }
.tsv-canli__nokta { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 3px rgba(63, 207, 142, .18); animation: tsv-nabiz 2s ease-in-out infinite; }
.tsv-canli--hata .tsv-canli__nokta { background: var(--danger); box-shadow: 0 0 0 3px rgba(240, 106, 106, .18); animation: none; }
.tsv-canli--hata { color: var(--danger-hi); }
.tsv-canli--gec { color: var(--warn); }
.tsv-canli--gec .tsv-canli__nokta { background: var(--warn); box-shadow: 0 0 0 3px rgba(210, 153, 34, .18); animation: none; }
@keyframes tsv-nabiz { 50% { box-shadow: 0 0 0 5px rgba(63, 207, 142, .04); } }

.tsv__agac { padding: 12px 10px 14px 12px; min-height: 360px; max-height: 640px; overflow: auto; font-size: 13.5px; }
.tsv__ipucu { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--line); font-size: 12px; color: var(--text-3); }
.tsv-bos { padding: 40px 10px; text-align: center; color: var(--text-3); }

.tsv-sunucu { display: flex; align-items: center; gap: 8px; padding: 6px 8px 8px; font-weight: 600; color: var(--text); }
.tsv-sunucu i { color: var(--accent-hi); font-size: 16px; }
.tsv-sunucu span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tsv-spacer { display: flex; padding: 4px 10px; color: var(--text-2); font-size: 12.5px; letter-spacing: .02em; overflow: hidden; white-space: nowrap; }
.tsv-spacer span { overflow: hidden; text-overflow: clip; }
.tsv-spacer--orta { justify-content: center; }
.tsv-spacer--sag { justify-content: flex-end; }
.tsv-spacer--tekrar { color: var(--text-3); }
.tsv-spacer--tekrar span { width: 100%; }
.tsv-kanal {
  --d: 0;
  display: flex; align-items: center; gap: 8px; padding: 5px 8px 5px calc(14px + var(--d) * 16px);
  border-radius: 8px; color: var(--text-2); min-width: 0;
}
.tsv-kanal i { font-size: 15px; color: var(--text-3); flex-shrink: 0; }
.tsv-kanal__ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.tsv-kanal--dolu { background: rgba(79, 140, 245, .07); color: var(--text); }
.tsv-kanal--dolu > i:first-child { color: var(--accent-hi); }
.tsv-kanal__rozet { font-size: 13px !important; }
.tsv-kanal__sayi { margin-left: auto; font-family: var(--mono); font-size: 11px; color: var(--text-3); }
.tsv-kanal__etiket { margin-left: auto; font-size: 10.5px; padding: 1px 6px; border-radius: 5px; background: var(--warn-lo); color: var(--warn); }
.tsv-kisi {
  --d: 1;
  display: flex; align-items: center; gap: 8px; padding: 4px 8px 4px calc(14px + var(--d) * 16px + 6px);
  border-radius: 8px; color: var(--text-2); cursor: context-menu; min-width: 0;
  transition: background-color .15s;
}
.tsv-kisi:hover { background: rgba(255, 255, 255, .04); color: var(--text); }
.tsv-kisi__durum { font-size: 15px; width: 16px; text-align: center; flex-shrink: 0; color: #6b7a99; transition: color .15s, filter .15s; }
/* TS3 "player" simgesi: koyu mavi yuvarlak; konuşurken açık mavi yanar */
.tsv-top {
  width: 12px; height: 12px; margin: 0 2px; border-radius: 50%; flex: 0 0 12px;
  background: radial-gradient(circle at 35% 30%, #6b9be0 0%, #2a5db0 45%, #173f80 100%);
  box-shadow: inset 0 0 0 1px rgba(10, 30, 70, .6), inset 0 1px 1px rgba(255, 255, 255, .25);
  transition: background .12s, box-shadow .12s;
}
.tsv-kisi--konusuyor .tsv-top {
  background: radial-gradient(circle at 35% 30%, #f2fbff 0%, #8fd6ff 35%, #3aa7f0 75%, #1f86d6 100%);
  box-shadow: inset 0 0 0 1px rgba(20, 110, 190, .5), 0 0 0 2px rgba(80, 180, 255, .22), 0 0 8px rgba(80, 180, 255, .85);
}
.tsv-kisi--konusuyor { color: var(--text); }
/* Kanal komutanı: TS3'te turuncu yuvarlak; konuşurken açık turuncu yanar */
.tsv-kisi--komutan .tsv-top {
  background: radial-gradient(circle at 35% 30%, #f5b26b 0%, #d9731f 45%, #9a4a0c 100%);
  box-shadow: inset 0 0 0 1px rgba(80, 35, 5, .6), inset 0 1px 1px rgba(255, 255, 255, .25);
}
.tsv-kisi--komutan.tsv-kisi--konusuyor .tsv-top {
  background: radial-gradient(circle at 35% 30%, #fff6ea 0%, #ffcf8f 35%, #ff9a3c 75%, #e57a1a 100%);
  box-shadow: inset 0 0 0 1px rgba(190, 100, 20, .5), 0 0 0 2px rgba(255, 160, 70, .22), 0 0 8px rgba(255, 150, 60, .85);
}
.tsv-kisi--mik .tsv-kisi__durum, .tsv-kisi--ses .tsv-kisi__durum { color: #e5534b; }
/* devre dışı (donanım): TS3'te gri simge + kırmızı çarpı; burada soluk gri */
.tsv-kisi--mik_yok .tsv-kisi__durum, .tsv-kisi--ses_yok .tsv-kisi__durum { color: #8b93a7; opacity: .85; }
.tsv-kisi--afk .tsv-kisi__durum { color: #d29922; }
.tsv-kisi--afk .tsv-kisi__ad { opacity: .6; }
.tsv-kisi__ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.tsv-kisi__gruplar { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; max-width: 50%; overflow: hidden; }
.tsv-grup { width: 16px; height: 16px; flex-shrink: 0; object-fit: contain; image-rendering: auto; font-size: 15px; line-height: 16px; text-align: center; }
.tsv-grup--g100 { color: #e5534b; }
.tsv-grup--g200 { color: #4f8cf5; }
.tsv-grup--g300 { color: #d29922; }
.tsv-grup--g500 { color: #d29922; }
.tsv-grup--g600 { color: #3fcf8e; }
.tsv-oncelikli { color: #f0883e; }

/* İstatistikler: pencerenin altında, yan yana bloklar */
.tsv-istat { display: grid; grid-template-columns: 1fr 1fr 1.75fr 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.tsv-istat > * { min-width: 0; }
.tsv-kpi { padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line-2); background: var(--surface); box-shadow: 0 2px 8px rgba(10, 22, 40, .05); min-width: 0; }
.tsv-kpi__l { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tsv-kpi__l i { font-size: 14px; color: var(--text-3); }
.tsv-kpi__v { font-family: var(--mono); font-size: 18px; font-weight: 500; color: var(--text); margin-top: 6px; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tsv-kpi__v--ag { display: flex; align-items: baseline; gap: 12px; font-size: 15px; }
.tsv-ag__on { font-family: var(--font, inherit); font-size: 12px; color: var(--text-3); margin-right: -4px; }
.tsv-ag { display: inline-flex; align-items: center; gap: 2px; white-space: nowrap; }
.tsv-ag i { font-size: 16px; align-self: center; }
.tsv-ag--in i { color: var(--ok); }
.tsv-ag--out i { color: var(--accent-hi); }
.tsv-kpi__v small { font-size: 11px; color: var(--text-3); margin-left: 3px; }

@media (max-width: 991.98px) { .tsv-istat { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .tsv { border-radius: var(--r-lg); margin-bottom: 14px; }
  .tsv__bar { height: 42px; padding: 0 10px; gap: 8px; }
  .tsv__dots { display: none; }
  .tsv__addr { max-width: none; margin: 0; justify-content: flex-start; }
  .tsv__agac { min-height: 0; max-height: 62vh; padding: 8px 6px 10px; font-size: 13px; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .tsv-istat { gap: 8px; margin-bottom: 14px; }
  .tsv-kpi { padding: 10px 12px; border-radius: 12px; }
  .tsv-kpi__l { font-size: 10.5px; }
  .tsv-kpi__v { font-size: 15px; margin-top: 4px; }
  .tsv-sunucu { padding: 4px 6px 6px; font-size: 13.5px; }
  .tsv-spacer { padding: 4px 8px; font-size: 12px; }
  .tsv-kanal { padding: 6px 6px 6px calc(8px + var(--d) * 12px); }
  .tsv-kisi { min-height: 40px; padding: 6px 6px 6px calc(8px + var(--d) * 12px + 4px); cursor: pointer; }
  .tsv-kisi:active { background: rgba(255, 255, 255, .06); }
  .tsv__ipucu { padding: 9px 12px; font-size: 11.5px; align-items: flex-start; }
}
@media (max-width: 575.98px) {
  .tsv-istat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tsv-istat > :nth-child(3) { grid-column: span 2; } /* ağ trafiği tam satır: 2 + 1 + 2 */
  .tsv-kpi__v--ag { font-size: 13px; gap: 4px 8px; flex-wrap: wrap; }
  .tsv-ag i { font-size: 14px; }
}
/* Dokunmatik cihazlarda ipucu metni */
.tsv__ipucu .tsv-dokun { display: none; }
@media (hover: none), (pointer: coarse) {
  .tsv__ipucu .tsv-fare { display: none; }
  .tsv__ipucu .tsv-dokun { display: inline; }
}

/* ── TS3 paneli: ban listesi (geniş tablo yerine kart satırları; uzun açıklama sağa taşmaz) ── */
/* Kullanıcı işlemleri kartı */
.kul-form .form-select { max-width: 520px; }
.kul-etiket { display: block; font-size: 12px; font-weight: 500; color: var(--text-3); margin: 0 0 6px; }
.kul-islemler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-top: 16px; }
@media (max-width: 767.98px) { .kul-islemler { grid-template-columns: 1fr; } .kul-form .form-select { max-width: none; } }
.ban-kutu h6 .ban-sayi { margin-left: 2px; }
.ban-sayi { font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--text-3); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; margin-left: 4px; }
.ban-bos { display: flex; align-items: center; gap: 8px; padding: 18px; border: 1px dashed var(--line-2); border-radius: 12px; color: var(--text-3); font-size: 13px; }
.ban-bos i { font-size: 18px; color: var(--ok); }
.ban-ad { font-weight: 600; color: var(--text); overflow-wrap: anywhere; }
.ban-ad em, .ban-neden em { color: var(--text-3); font-style: normal; font-weight: 400; }
.ban-rozet { display: inline-block; font-family: var(--mono); font-size: 10.5px; color: var(--text-2); background: var(--surface-3); border-radius: 5px; padding: 1px 6px; margin: 1px 0; white-space: nowrap; }
.ban-rozet--genel { color: var(--warn); background: var(--warn-lo); }
.ban-sure { font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.ban-sure--kalici { color: var(--danger-hi); }
.ban-sure--sureli { color: var(--warn); }
.ban-sure--bitti { color: var(--text-3); }
.ban-sil { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--danger-hi) !important; padding: 3px 8px; border-radius: 8px; border: 1px solid transparent; white-space: nowrap; transition: background-color .15s, border-color .15s; }
.ban-sil:hover { background: rgba(240, 106, 106, .1); border-color: rgba(240, 106, 106, .25); }
.bt-kilit { color: var(--text-3); font-size: 14px; }
.ban-mono, .bt-mono { font-family: var(--mono); font-size: 11.5px; }
.ban-uzun { max-height: 220px; overflow: auto; }

/* Tablo: sabit sütunlar (table-layout: fixed) → uzun açıklama tabloyu sağa uzatmaz */
.ban-tablo-kap { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.ban-tablo { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13px; }
.ban-tablo col.bt-ad { width: 19%; }
.ban-tablo col.bt-tur { width: 13%; }
.ban-tablo col.bt-sure { width: 11%; }
.ban-tablo col.bt-tarih { width: 12%; }
.ban-tablo col.bt-kim { width: 13%; }
.ban-tablo col.bt-neden { width: auto; }
.ban-tablo col.bt-eylem { width: 84px; }
.ban-tablo th { text-align: left; font-size: 11.5px; font-weight: 500; color: var(--text-3); background: var(--surface-2); padding: 10px 12px; border-bottom: 1px solid var(--line-2); white-space: nowrap; }
.ban-tablo td { padding: 10px 12px; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--text-2); min-width: 0; overflow-wrap: anywhere; }
.ban-tablo tbody tr:last-child td { border-bottom: 0; }
.ban-tablo tbody tr:hover td { background: rgba(255, 255, 255, .02); }
.ban-tablo .bt-kes { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ban-tablo .bt-eylem-h { text-align: right; }
.ban-neden { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--text); }
.ban-detay { margin-top: 4px; font-size: 12px; }
.ban-detay summary { cursor: pointer; color: var(--text-3); list-style: none; display: inline-flex; align-items: center; gap: 4px; }
.ban-detay summary::-webkit-details-marker { display: none; }
.ban-detay summary::before { content: '▸'; font-size: 10px; transition: transform .15s; }
.ban-detay[open] summary::before { transform: rotate(90deg); }
.ban-detay dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; margin: 8px 0 2px; padding: 8px 10px; border-radius: 8px; background: var(--surface-2); }
.ban-detay dt { color: var(--text-3); font-weight: 500; }
.ban-detay dd { margin: 0; color: var(--text); overflow-wrap: anywhere; min-width: 0; }

/* Tablet: tablo kalır, Banlayan sütunu gizlenir (Detay'da var) */
@media (max-width: 1199.98px) {
  .ban-tablo col.bt-kim, .ban-tablo th:nth-child(5), .ban-tablo td:nth-child(5) { display: none; }
  .ban-tablo col.bt-ad { width: 24%; }
  .ban-tablo col.bt-tur { width: 15%; }
  .ban-tablo col.bt-sure { width: 13%; }
  .ban-tablo col.bt-tarih { width: 14%; }
}
/* Telefon: her satır kompakt blok; etiket solda sabit, içerik normal akar */
@media (max-width: 767.98px) {
  .ban-tablo-kap { border: 0; border-radius: 0; overflow: visible; }
  .ban-tablo, .ban-tablo tbody, .ban-tablo tr, .ban-tablo td { display: block; width: 100%; }
  .ban-tablo colgroup, .ban-tablo thead { display: none; }
  .ban-tablo tr { border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; margin-bottom: 8px; position: relative; }
  .ban-tablo td, .ban-tablo td:nth-child(5) { display: block; position: relative; padding: 3px 0 3px 78px; border: 0; min-height: 22px; }
  .ban-tablo td::before { content: attr(data-l); position: absolute; left: 0; top: 4px; width: 72px; font-size: 11.5px; color: var(--text-3); }
  .ban-tablo td.bt-ad-h { padding: 2px 70px 6px 0; }
  .ban-tablo td.bt-ad-h::before { content: none; }
  .ban-tablo td.bt-eylem-h { position: absolute; top: 8px; right: 10px; width: auto; padding: 0; min-height: 0; }
  .ban-tablo td.bt-eylem-h::before { content: none; }
  .ban-tablo tbody tr:hover td { background: transparent; }
  .ban-tablo .bt-kes { white-space: normal; }
  .ban-sil span { display: none; }
}

/* ── Yönetim: sol menü kutusu (Sistem Ayarları + Yönetim bölümü ortak) ── */
.sys-nav { display: flex; flex-direction: column; gap: 6px; }
.sys-nav-item {
  display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-radius: 10px;
  font-size: 13px; font-weight: 700; color: var(--text-2); cursor: pointer; border: 1px solid transparent;
  background: transparent; width: 100%; text-align: left; text-decoration: none; transition: all .15s;
}
.sys-nav-item:hover { background: var(--surface-2); color: var(--text); }
.sys-nav-item.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.sys-nav-item i { font-size: 17px; flex-shrink: 0; }
.yn-duzen > [class*="col-"] > .card { margin-bottom: 20px; }
@media (max-width: 767.98px) {
  /* telefonda sol kutu yatay şerit */
  .yn-duzen .sys-nav { flex-direction: row; overflow-x: auto; gap: 4px; }
  .yn-duzen .sys-nav-item { width: auto; flex: 1 0 auto; justify-content: center; white-space: nowrap; padding: 8px 9px; gap: 6px; font-size: 12px; }
  .yn-duzen .sys-nav-item i { font-size: 15px; }
  .yn-duzen > [class*="col-"]:first-child .card-body { padding: 6px !important; }
}
/* Gizli değer: bulanık + göz (anasayfa ciro kutularıyla aynı) */
.stat-blur { filter: blur(6px); user-select: none; transition: filter .2s; }
.stat-eye { background: none; border: none; padding: 0 0 0 6px; cursor: pointer; color: var(--text-3); font-size: 16px; vertical-align: middle; line-height: 1; }
.stat-eye:hover { color: var(--text); }
.yn-gizli { font-family: var(--mono); font-size: 12.5px; }
.yn-kes { display: inline-block; max-width: 230px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; vertical-align: middle; }
.yn-sifre { position: relative; }
.yn-sifre .form-control { padding-right: 40px; }
.yn-sifre .stat-eye { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); padding: 0; }

.yn-mod-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 16px; border-radius: 12px; border: 1px solid rgba(210, 153, 34, .35); background: var(--warn-lo); font-size: 13px; color: var(--text-2); }
.yn-mod-bar__etiket { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--warn); }
.yn-mod-bar__bilgi { min-width: 0; overflow-wrap: anywhere; }
.yn-mod-bar__bilgi strong { color: var(--text); }
.yn-mod-bar__don { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--text) !important; white-space: nowrap; }

/* ── TS3 paneli: yönetici log görüntüleyici ── */
.log-arac { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto auto; gap: 8px; margin-bottom: 12px; align-items: center; }
.log-panel-sec { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); white-space: nowrap; cursor: pointer; }
.log-arac .form-control, .log-arac .form-select { background: var(--surface-2); border-color: var(--line-2); color: var(--text); }
.log-kutu { max-height: 560px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); padding: 6px 0; font-family: var(--mono); font-size: 11.5px; line-height: 1.55; }
.log-satir { padding: 1px 12px; color: var(--text-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.log-satir:hover { background: rgba(255, 255, 255, .03); }
.log-debug, .log-trace { color: var(--text-3); }
.log-warning { color: var(--warn); }
.log-error, .log-critical { color: var(--danger-hi); }
.log-bos { padding: 24px; text-align: center; color: var(--text-3); font-family: var(--font, inherit); }
.log-alt { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.log-durum { font-size: 12px; color: var(--text-3); }
@media (max-width: 575.98px) { .log-arac { grid-template-columns: 1fr; } .log-kutu { max-height: 60vh; font-size: 11px; } }

.ent-butonlar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.ent-sonuc { margin-top: 12px; padding: 9px 12px; border-radius: 10px; font-size: 13px; border: 1px solid var(--line-2); overflow-wrap: anywhere; }
.ent-sonuc--ok { color: var(--ok-hi); background: rgba(63, 207, 142, .08); border-color: rgba(63, 207, 142, .3); }
.ent-sonuc--hata { color: var(--danger-hi); background: rgba(240, 106, 106, .08); border-color: rgba(240, 106, 106, .3); }

/* ── Yönetim: PayTR Rapor ── */
/* Kart (yönetim PayTR Rapor/API Log, TS kullanıcı sayfası); teamspeak/home.php kendi kopyasını taşır */
.ts-info-card { background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; padding: 22px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(10, 22, 40, .05); }
.ts-info-card h6 { font-size: 14px; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.ts-info-card h6 i { color: var(--text-3) !important; }
@media (max-width: 575.98px) { .ts-info-card { padding: 14px; border-radius: 12px; } }
/* Uzun kayıt tabloları: kaydırma kutusu + sabit başlık */
.ban-tablo-kap.pr-kaydir { max-height: min(68vh, 640px); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--surface-4) transparent; }
.pr-kaydir::-webkit-scrollbar { width: 7px; height: 7px; }
.pr-kaydir::-webkit-scrollbar-thumb { background: var(--surface-4); border-radius: 10px; }
.pr-kaydir .ban-tablo thead th { position: sticky; top: 0; z-index: 2; }
@media (min-width: 768px) and (max-width: 1199.98px) { .pr-tablo th:nth-child(5), .pr-tablo td:nth-child(5) { display: table-cell; } }
@media (max-width: 767.98px) { .ban-tablo-kap.pr-kaydir { max-height: 70vh; } }
.pr-alt { font-size: 12px; font-weight: 400; color: var(--text-3); margin-left: 6px; }
.pr-form { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.pr-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--text-3); margin: 0; }
.pr-form .form-control, .pr-form .form-select { background-color: var(--surface-2); border-color: var(--line-2); color: var(--text); min-width: 150px; color-scheme: dark; }
.pr-hizli { display: flex; gap: 6px; flex-wrap: wrap; }
.pr-kpi { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
@media (max-width: 991.98px) { .pr-kpi { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .pr-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pr-satis { color: var(--ok-hi); background: rgba(63, 207, 142, .1); }
.pr-iade { color: var(--danger-hi); background: rgba(240, 106, 106, .1); }
.pr-eksi { color: var(--danger-hi); }
.pr-ikincil { font-size: 11px; color: var(--text-3); font-style: normal; }
.pr-bekleyen { margin-bottom: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.pr-bekleyen .ban-rozet { font-size: 12px; padding: 4px 10px; color: var(--warn); background: var(--warn-lo); }

/* ── TinyMCE 4 (destek talebi yanıtı): açık "lightgray" kaplamayı koyu temaya uydur ── */
.mce-tinymce, .mce-container, .mce-container-body, .mce-panel { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text) !important; }
.mce-tinymce { border-radius: 12px !important; overflow: hidden; box-shadow: none !important; }
.mce-top-part::before { box-shadow: none !important; }
.mce-toolbar-grp, .mce-statusbar { background: var(--surface-2) !important; border-color: var(--line) !important; }
.mce-edit-area { border-color: var(--line) !important; background: #141418 !important; }
.mce-btn, .mce-btn button { background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
.mce-btn:hover, .mce-btn.mce-active, .mce-btn:focus { background: var(--surface-3) !important; border-color: var(--line-2) !important; }
.mce-ico, .mce-btn .mce-txt, .mce-caret { color: var(--text-2) !important; border-top-color: var(--text-2) !important; }
.mce-btn:hover .mce-ico, .mce-btn.mce-active .mce-ico { color: var(--text) !important; }
.mce-path, .mce-path-item, .mce-wordcount, .mce-label { color: var(--text-3) !important; text-shadow: none !important; }
.mce-floatpanel, .mce-window, .mce-menu { background: var(--surface) !important; border: 1px solid var(--line-2) !important; border-radius: 10px !important; box-shadow: 0 12px 30px rgba(0, 0, 0, .5) !important; }
.mce-window-head, .mce-foot { background: var(--surface-2) !important; border-color: var(--line) !important; }
.mce-window-head .mce-title { color: var(--text) !important; }
.mce-textbox, .mce-combobox input { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text) !important; }
.mce-menu-item:hover, .mce-menu-item.mce-selected { background: var(--surface-3) !important; }
.mce-menu-item .mce-text { color: var(--text) !important; }
.mce-primary { background: var(--accent) !important; border-color: var(--accent) !important; }
.mce-primary button, .mce-primary .mce-txt { color: #fff !important; }
.mce-grid td a { background: transparent !important; }
.mce-grid td a:hover { background: var(--surface-3) !important; }

/* ── Yazdırma ──────────────────────────────────────────── */
@media print {
  .footer, .navbar-header, .page-title-box, .vertical-menu, #page-topbar { display: none !important; }
  .main-content { margin: 0 !important; }
  body, .card { background: #fff !important; color: #000 !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* TS3 paneli > Kullanıcılar: çevrimiçi / kayıtlı kullanıcı tabloları (ban tablosunun düzenini kullanır) */
.kul-sekmeler { display: flex; gap: 6px; margin: 4px 0 12px; flex-wrap: wrap; }
.kul-sekme { background: var(--surface-2); border: 1px solid var(--line); color: var(--text-2); border-radius: 8px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.kul-sekme.aktif { color: var(--text); border-color: var(--line-2); background: var(--surface-3); font-weight: 600; }
.kul-tablo col.kt-ad { width: 24%; }
.kul-tablo col.kt-kanal { width: 17%; }
.kul-tablo col.kt-grup { width: auto; }
.kul-tablo col.kt-sure { width: 11%; }
.kul-tablo col.kt-ip { width: 13%; }
.kul-tablo col.kt-surum { width: 9%; }
.kul-tablo col.kt-tarih { width: 15%; }
.kul-tablo col.kt-sayi { width: 10%; }
.kul-tablo col.kt-eylem { width: 92px; }
.kul-tablo--db col.kt-ad { width: auto; }
.kul-alt { font-size: 11.5px; color: var(--text-3); margin-top: 2px; overflow-wrap: anywhere; }
.kul-rozet-on { color: var(--ok, #3fb950); }
.kul-eylem { position: relative; display: inline-block; text-align: left; }
.kul-eylem > summary { list-style: none; cursor: pointer; color: var(--text-2); font-size: 12.5px; border: 1px solid var(--line); border-radius: 7px; padding: 3px 8px; white-space: nowrap; }
.kul-eylem > summary::-webkit-details-marker { display: none; }
.kul-eylem[open] > summary { color: var(--text); border-color: var(--line-2); }
.kul-eylem-form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 300px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 10px; padding: 10px; box-shadow: 0 10px 28px rgba(0, 0, 0, .35); }
.kul-eylem-form input[type=text] { width: 100%; margin-bottom: 8px; }
.kul-eylem-dugmeler { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.kul-eylem-dugmeler select { flex: 1 1 90px; min-width: 0; }
.kul-ara { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.kul-ara .form-control { max-width: 280px; }
.kul-temizle { font-size: 12.5px; color: var(--text-3); }
.kul-sayfalar { display: flex; gap: 14px; justify-content: center; align-items: center; margin-top: 10px; font-size: 13px; color: var(--text-3); }
/* Tablet: ban tablosunun "5. sütunu gizle" kuralı kullanıcı tablolarına uygulanmaz; sütun gizlerken <col> da gizlenir
   (yoksa sütun genişliği yerinde kalıp sağda boşluk bırakıyor) */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .kul-tablo th:nth-child(5), .kul-tablo td:nth-child(5) { display: table-cell; }
  .kul-tablo:not(.kul-tablo--db) col.kt-surum, .kul-tablo:not(.kul-tablo--db) th:nth-child(6), .kul-tablo:not(.kul-tablo--db) td:nth-child(6) { display: none; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .kul-tablo:not(.kul-tablo--db) col.kt-ip, .kul-tablo:not(.kul-tablo--db) th:nth-child(5), .kul-tablo:not(.kul-tablo--db) td:nth-child(5) { display: none; }
  .kul-tablo--db col.kt-tarih + col.kt-tarih, .kul-tablo--db th:nth-child(3), .kul-tablo--db td:nth-child(3) { display: none; }
}
@media (max-width: 767.98px) {
  .kul-tablo td:nth-child(5), .kul-tablo td:nth-child(6) { display: block; }
  .kul-eylem-form { width: min(300px, calc(100vw - 48px)); }
}
.kul-panel .ban-tablo-kap { overflow: visible; }
/* IP ve bağlı kalma süresi bölünmesin ("159.146.11 / .67" görünüyordu) */
.kul-tablo td[data-l="IP"], .kul-tablo td[data-l="Son IP"], .kul-tablo td[data-l="Bağlı"] { white-space: nowrap; overflow-wrap: normal; }
.kul-tablo col.kt-ip { width: 15%; }
.kul-tablo col.kt-sure { width: 12%; }
@media (max-width: 767.98px) { .kul-tablo td[data-l="IP"], .kul-tablo td[data-l="Son IP"], .kul-tablo td[data-l="Bağlı"] { white-space: normal; } }

/* Sistem Ayarları > Entegrasyonlar: tek liste, satır başına bir servis, form satırın altında açılır */
.ent-liste { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.ent-oge + .ent-oge { border-top: 1px solid var(--line); }
.ent-oge.acik { background: rgba(255, 255, 255, .015); }
.ent-ust { display: flex; align-items: center; gap: 14px; padding: 14px 16px; }
.ent-ikon { flex: 0 0 38px; height: 38px; border-radius: 10px; background: var(--surface-3); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.ent-metin { flex: 1 1 auto; min-width: 0; }
.ent-ad { color: var(--text); font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ent-acik { color: var(--text-3); font-size: 12.5px; margin-top: 2px; }
.ent-durum { font-size: 11px; font-weight: 500; border-radius: 6px; padding: 1px 7px; }
.ent-durum--ok { color: var(--ok-hi); background: var(--ok-lo); }
.ent-durum--eksik { color: var(--warn-hi); background: var(--warn-lo); }
.ent-dugmeler { display: flex; gap: 6px; flex: 0 0 auto; }
.ent-dugmeler .btn { white-space: nowrap; }
.ent-oge > .ent-sonuc { margin: 0 16px 12px; }
.ent-govde { padding: 4px 16px 18px 68px; }
.ent-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.ent-form .form-label { font-size: 12.5px; color: var(--text-2); margin-bottom: 4px; }
.ent-form .ent-tam, .ent-form .ent-baslik, .ent-form .ent-kaydet { grid-column: 1 / -1; }
.ent-form .ent-baslik { color: var(--text); font-weight: 600; font-size: 13px; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--line); }
.ent-form .ent-baslik:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.ent-form .ent-baslik small { color: var(--text-3); font-weight: 400; }
.ent-form .ent-kaydet { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 767.98px) {
  .ent-ust { flex-wrap: wrap; padding: 12px; gap: 10px 12px; }
  .ent-ikon { flex-basis: 34px; height: 34px; font-size: 18px; }
  .ent-metin { flex-basis: calc(100% - 46px); }
  .ent-dugmeler { flex-basis: 100%; }
  .ent-dugmeler .btn { flex: 1 1 0; }
  .ent-oge > .ent-sonuc { margin: 0 12px 12px; }
  .ent-govde { padding: 2px 12px 14px; }
  .ent-form { grid-template-columns: 1fr; }
}

/* ── TS paneli: Yetki Düzenleme (yönetici) — teamspeak/izin.js ── */
.iz-izgara { display: grid; grid-template-columns: 270px minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.iz-izgara > .ts-info-card, .iz-sag > .ts-info-card { margin-bottom: 0; }
.iz-sag { display: grid; gap: 16px; min-width: 0; }
.iz-kart { min-width: 0; padding: 16px; }
.iz-kart h6 { margin-bottom: 12px; padding-bottom: 10px; }
.iz-yukle { color: var(--text-3); text-align: center; padding: 40px 16px; }
.iz-bos { padding: 14px 6px; color: var(--text-3); font-size: 12.5px; text-align: center; }
.iz-girdi { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text) !important; }
.iz-girdi::placeholder { color: var(--text-3); }
.iz-sec { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--text-2); cursor: pointer; margin: 8px 0 0; user-select: none; }
.iz-sec input { accent-color: var(--accent); }
.iz-sec--anahtar { margin: 0; white-space: nowrap; }

/* sol: grup listesi */
.iz-segment { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 3px; margin-bottom: 10px; }
.iz-segment button { border: 0; background: none; color: var(--text-2); font-size: 12.5px; font-weight: 600; padding: 6px 8px; border-radius: 7px; cursor: pointer; }
.iz-segment button.aktif { background: var(--surface-4); color: var(--text); }
.iz-gliste { margin: 10px -6px 0; max-height: 68vh; overflow-y: auto; scrollbar-width: thin; }
.iz-gbaslik { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); padding: 10px 8px 4px; }
.iz-grup { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; background: none; text-align: left; color: var(--text-2); font-size: 13px; padding: 6px 8px; border-radius: 8px; cursor: pointer; position: relative; }
.iz-grup:hover { background: var(--surface-2); color: var(--text); }
.iz-grup.aktif { background: var(--surface-3); color: var(--text); }
.iz-grup.aktif::before { content: ''; position: absolute; left: 0; top: 7px; bottom: 7px; width: 2px; border-radius: 2px; background: var(--accent); }
.iz-grup__ad { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.iz-grup__ad--vars { font-weight: 700; }
.iz-grup__id { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); }
.iz-gikon { width: 16px; height: 16px; flex: 0 0 16px; object-fit: contain; font-size: 15px; line-height: 16px; text-align: center; color: var(--text-3); }
.iz-gikon--g500 { color: #e9b44c; } .iz-gikon--g300 { color: #e9b44c; } .iz-gikon--g100, .iz-gikon--g200 { color: var(--info); } .iz-gikon--g600 { color: var(--ok); }

/* orta: editör */
.iz-ebas { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.iz-ebaslik { display: flex; align-items: center; gap: 8px; min-width: 0; flex-wrap: wrap; }
.iz-ebaslik .iz-gikon { width: 18px; height: 18px; flex-basis: 18px; }
.iz-ebaslik__ad { font-size: 15px; font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.iz-rozet { font-family: var(--mono); font-size: 11px; color: var(--text-3); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
.iz-rozet--uyari { color: var(--warn); border-color: var(--warn-line); background: var(--warn-lo); font-family: var(--font); }
.iz-senkron { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--text-2); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.iz-senkron__nokta { width: 7px; height: 7px; border-radius: 50%; background: var(--text-3); flex: 0 0 7px; }
.iz-senkron--tamam .iz-senkron__nokta { background: var(--ok); box-shadow: 0 0 0 3px var(--ok-lo); }
.iz-senkron--yaz .iz-senkron__nokta { background: var(--warn); animation: iz-nabiz 1s ease-in-out infinite; }
.iz-senkron--dis { color: var(--warn); border-color: var(--warn-line); }
.iz-senkron--dis .iz-senkron__nokta { background: var(--warn); }
.iz-senkron--hata { color: var(--danger-hi); border-color: var(--danger-line); }
.iz-senkron--hata .iz-senkron__nokta { background: var(--danger); }
@keyframes iz-nabiz { 50% { opacity: .35; } }
.iz-uyari { font-size: 12.5px; color: var(--warn); background: var(--warn-lo); border: 1px solid var(--warn-line); border-radius: 10px; padding: 8px 12px; margin-bottom: 12px; }
.iz-arac { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; margin-bottom: 12px; }
.iz-arac__dug { display: flex; gap: 4px; }
.iz-dug { width: 32px; height: 31px; display: inline-grid; place-items: center; border: 1px solid var(--line-2); background: var(--surface-2); color: var(--text-2); border-radius: 8px; font-size: 16px; cursor: pointer; }
.iz-dug:hover { color: var(--text); background: var(--surface-3); }

.iz-tablo { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--bg-2); }
.iz-tablo.iz-yukleniyor .iz-govde { opacity: .45; pointer-events: none; transition: opacity .15s; }
.iz-tbas, .iz-satir { display: grid; grid-template-columns: minmax(0, 1fr) 84px 46px 46px 76px 28px; align-items: center; column-gap: 8px; }
.iz-tablo--cg .iz-tbas, .iz-tablo--cg .iz-satir { grid-template-columns: minmax(0, 1fr) 84px 76px 28px; }
.iz-tablo--cg .iz-tbas-n, .iz-tablo--cg .iz-tbas-s, .iz-tablo--cg .iz-c-n, .iz-tablo--cg .iz-c-s { display: none; }
.iz-tbas { position: sticky; top: 0; z-index: 3; background: var(--surface); border-bottom: 1px solid var(--line-2); padding: 8px 14px; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.iz-tbas > span:not(:first-child) { text-align: center; }
.iz-tbas em { font-style: normal; text-transform: none; letter-spacing: 0; font-family: var(--mono); margin-left: 6px; color: var(--text-3); font-weight: 400; }
.iz-govde { max-height: 70vh; overflow-y: auto; scrollbar-width: thin; padding: 6px 10px 12px; }

/* Ana kategori: ayrı bölüm */
.iz-kat--1 { margin-top: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); overflow: hidden; }
.iz-kat--1:first-child { margin-top: 4px; }
.iz-kat__bas { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; text-align: left; cursor: pointer; background: none; color: var(--text); }
.iz-kat--1 > .iz-kat__bas { padding: 10px 12px; font-size: 14px; font-weight: 700; background: var(--surface-2); }
.iz-kat--1.acik > .iz-kat__bas { border-bottom: 1px solid var(--line); }
.iz-kat--1 > .iz-kat__bas:hover { background: var(--surface-3); }
.iz-kat__ok { color: var(--text-3); font-size: 18px; transition: transform .15s var(--ease); }
.iz-kat.acik > .iz-kat__bas .iz-kat__ok { transform: rotate(90deg); }
.iz-kat__ad { flex: 1; }
.iz-kat__say { font-family: var(--mono); font-size: 11px; font-weight: 400; color: var(--text-3); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; }
.iz-kat--dolu > .iz-kat__bas .iz-kat__say { color: var(--text-2); border-color: var(--line-2); }
.iz-kat__ic { display: none; padding: 2px 0 6px; }
.iz-kat.acik > .iz-kat__ic { display: block; }

/* Alt kategori: satır değil, ince ayraç etiketi */
.iz-kat--2 > .iz-kat__bas { padding: 12px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); gap: 6px; }
.iz-kat--2 > .iz-kat__bas::after { content: ''; flex: 1; height: 1px; background: var(--line); order: 2; }
.iz-kat--2 > .iz-kat__bas .iz-kat__ad { flex: 0 1 auto; order: 1; }
.iz-kat--2 > .iz-kat__bas .iz-kat__say { order: 3; background: none; border: 0; padding: 0; font-size: 10.5px; letter-spacing: 0; }
.iz-kat--2 > .iz-kat__bas .iz-kat__ok { order: 0; font-size: 15px; }
.iz-kat--2 > .iz-kat__bas:hover { color: var(--text-2); }
.iz-kat--2 > .iz-kat__ic { padding: 0; }
.iz-kendi__ad { padding: 12px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); display: flex; align-items: center; gap: 8px; }
.iz-kendi__ad::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.iz-kat--gizli > .iz-kat__bas .iz-kat__ad::after { content: ' · TeaSpeak\'te gizlenmiş, yalnız silinebilir'; font-weight: 400; color: var(--text-3); font-size: 12px; }

/* İzin satırı */
.iz-satir { padding: 7px 12px; margin: 0 6px; border-radius: 8px; font-size: 13px; }
.iz-satir:hover { background: var(--surface-2); }
.iz-ad { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.iz-ac { color: var(--text); font-size: 13px; line-height: 1.35; }
.iz-psid { font-family: var(--mono); font-size: 11px; color: var(--text-3); overflow-wrap: anywhere; }
.iz-satir:not(.iz-var):not(.iz-gvar) .iz-ac { color: var(--text-2); }
.iz-satir:not(.iz-var):not(.iz-gvar) .iz-psid { opacity: .75; }
.iz-c { display: flex; justify-content: center; align-items: center; min-width: 0; }
.iz-sayi { width: 100%; max-width: 84px; text-align: center; font-family: var(--mono); font-size: 12px; color: var(--text); background: transparent; border: 1px solid var(--line); border-radius: 7px; padding: 4px 4px; transition: border-color .12s, background-color .12s; }
.iz-sayi::placeholder { color: var(--text-3); opacity: .6; }
.iz-sayi:hover { border-color: var(--line-2); }
.iz-sayi:focus { outline: none; border-color: var(--accent); background: var(--surface-2); box-shadow: 0 0 0 3px var(--accent-lo); }
.iz-var .iz-deger.iz-sayi, .iz-gvar .iz-grant { background: var(--surface-2); border-color: var(--line-2); }
.iz-sayi.iz-gecersiz { border-color: var(--danger); box-shadow: 0 0 0 3px var(--danger-lo); }
.iz-kutu { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; margin: 0; }
.iz-kutu:disabled { opacity: .25; cursor: default; }
.iz-anahtar { position: relative; display: inline-block; width: 34px; height: 19px; margin: 0; cursor: pointer; }
.iz-anahtar input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.iz-anahtar span { position: absolute; inset: 0; border-radius: 999px; background: var(--surface-3); border: 1px solid var(--line-2); transition: background-color .15s; }
.iz-anahtar span::after { content: ''; position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: var(--text-3); transition: transform .15s var(--ease), background-color .15s; }
.iz-anahtar input:checked + span { background: var(--accent); border-color: transparent; }
.iz-anahtar input:checked + span::after { transform: translateX(15px); background: #fff; }
.iz-anahtar input:focus-visible + span { box-shadow: 0 0 0 3px var(--accent-glow); }
.iz-satir:not(.iz-var) .iz-anahtar span { opacity: .55; }
.iz-c-islem { justify-content: flex-end; gap: 4px; }
.iz-sil { width: 24px; height: 24px; display: inline-grid; place-items: center; border: 0; background: none; color: var(--text-3); border-radius: 6px; font-size: 17px; cursor: pointer; }
.iz-sil:hover:not(:disabled) { color: var(--danger-hi); background: var(--danger-lo); }
.iz-sil:disabled { visibility: hidden; }
.iz-durum { width: 14px; height: 14px; flex: 0 0 14px; border-radius: 50%; }
.iz-bekliyor .iz-durum { border: 2px solid var(--line-3); border-top-color: var(--warn); animation: iz-don .7s linear infinite; }
.iz-hata .iz-durum { background: var(--danger); cursor: help; }
.iz-hata { background: var(--danger-lo); }
@keyframes iz-don { to { transform: rotate(360deg); } }
.iz-flas--ok { animation: iz-flas-ok 1.4s var(--ease); }
.iz-flas--dis { animation: iz-flas-dis 3.5s var(--ease); }
@keyframes iz-flas-ok { from { background: var(--ok-lo); } to { background: transparent; } }
@keyframes iz-flas-dis { 0%, 40% { background: var(--warn-lo); } 100% { background: transparent; } }
.iz-ipucu { font-size: 12px; color: var(--text-3); margin-top: 10px; display: flex; gap: 6px; align-items: flex-start; }
.iz-ipucu i { margin-top: 2px; }

/* sağ: üyeler / eşitleme / geçmiş */
.iz-uekle { position: relative; margin-bottom: 8px; }
.iz-usonuc { margin-top: 4px; max-height: 220px; overflow-y: auto; }
.iz-usonuc:empty { display: none; }
.iz-usonuc__satir, .iz-uye { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 6px; border: 0; background: none; color: var(--text-2); font-size: 13px; border-radius: 7px; text-align: left; }
.iz-usonuc__satir { cursor: pointer; }
.iz-usonuc__satir:hover { background: var(--surface-2); color: var(--text); }
.iz-usonuc__satir i { color: var(--text-3); }
.iz-uliste { max-height: 320px; overflow-y: auto; border-top: 1px solid var(--line); padding-top: 6px; }
.iz-uye:hover { background: rgba(255, 255, 255, .02); }
.iz-uye__nokta { width: 7px; height: 7px; border-radius: 50%; background: var(--surface-4); flex: 0 0 7px; }
.iz-uye__nokta.on { background: var(--ok); }
.iz-uye__ad { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.iz-uye__id { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); }
.iz-acik { font-size: 12.5px; color: var(--text-2); margin: 0 0 10px; }
.iz-esit-dug { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.iz-esit-liste { max-height: 340px; overflow-y: auto; }
.iz-esit-tablo { width: 100%; border-collapse: collapse; font-size: 12.5px; table-layout: fixed; }
.iz-esit-tablo th { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); padding: 4px 4px 6px; border-bottom: 1px solid var(--line-2); text-align: left; }
.iz-esit-tablo th:first-child, .iz-esit-tablo td:first-child { width: 26px; }
.iz-esit-tablo th:last-child, .iz-esit-tablo td:last-child { width: 92px; text-align: right; }
.iz-esit-tablo td { padding: 6px 4px; border-bottom: 1px solid var(--line); vertical-align: top; }
.iz-esit-tablo input { accent-color: var(--accent); margin-top: 3px; }
.iz-esit-ad { color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iz-esit-port { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); }
.iz-esit-fark { font-family: var(--mono); font-size: 11.5px; }
.iz-esit-fark span + span { margin-left: 5px; }
.iz-esit-e { color: var(--ok); } .iz-esit-d { color: var(--warn); } .iz-esit-s { color: var(--danger-hi); }
.iz-esit-iyi { color: var(--text-3); font-family: var(--font); } .iz-esit-kotu { color: var(--danger-hi); font-family: var(--font); }
.iz-esit-not { color: var(--text-3); font-family: var(--font); font-size: 11.5px; }
.iz-gecmis { max-height: 380px; overflow-y: auto; }
.iz-gk { position: relative; padding: 7px 64px 7px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.iz-gk:last-child { border-bottom: 0; }
.iz-gk__ust { display: flex; gap: 8px; color: var(--text-3); font-size: 11px; }
.iz-gk__zaman { font-family: var(--mono); }
.iz-gk__ne { display: flex; flex-direction: column; color: var(--text-2); margin-top: 1px; }
.iz-gk__izin { font-family: var(--mono); font-size: 11px; color: var(--text-2); overflow-wrap: anywhere; }
.iz-gk__deger { font-family: var(--mono); font-size: 11.5px; color: var(--text); }
.iz-gk__geri { position: absolute; right: 0; top: 50%; transform: translateY(-50%); border: 1px solid var(--line-2); background: var(--surface-2); color: var(--text-2); font-size: 11.5px; border-radius: 7px; padding: 3px 8px; cursor: pointer; }
.iz-gk__geri:hover { color: var(--text); background: var(--surface-3); }

@media (max-width: 1399.98px) {
  .iz-izgara { grid-template-columns: 250px minmax(0, 1fr); }
  .iz-sag { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 991.98px) {
  .iz-izgara { grid-template-columns: minmax(0, 1fr); }
  .iz-sag { grid-template-columns: minmax(0, 1fr); }
  .iz-gliste { max-height: 260px; }
}
@media (max-width: 575.98px) {
  .iz-kart { padding: 12px; }
  .iz-arac { grid-template-columns: minmax(0, 1fr) auto; }
  .iz-arac .iz-girdi { grid-column: 1 / -1; }
  .iz-tbas { display: none; }
  .iz-satir, .iz-tablo--cg .iz-satir { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; row-gap: 6px; padding: 9px 10px; }
  .iz-kat--2 .iz-satir { padding-left: 10px; }
  .iz-kat--2 > .iz-kat__bas { padding-left: 20px; }
  .iz-ad { grid-column: 1 / -1; }
  .iz-c { flex-direction: column; gap: 3px; }
  .iz-c[data-etiket]::before { content: attr(data-etiket); font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: .05em; }
  .iz-c-islem { flex-direction: row; align-self: end; }
  .iz-govde { max-height: none; }
  .iz-gk { padding-right: 0; }
  .iz-gk__geri { position: static; transform: none; margin-top: 4px; }
}
.iz-esit-dug .btn-qa:not(.btn-warn-qa) { background: var(--surface-3); border-color: var(--line-2); color: var(--text); }
.iz-esit-dug .btn-qa:not(.btn-warn-qa):hover { background: var(--surface-4); }
/* Sakin görünüm: boş denetimler yalnız gerektiğinde */
.iz-sayi { border-color: transparent; }
.iz-sayi::placeholder { color: transparent; }
.iz-satir:hover .iz-sayi, .iz-sayi:focus { border-color: var(--line-2); }
.iz-satir:hover .iz-sayi::placeholder { color: var(--text-3); }
.iz-var .iz-deger.iz-sayi, .iz-gvar .iz-grant { border-color: var(--line-2); background: var(--surface-2); }
.iz-satir:not(.iz-var) .iz-kutu { visibility: hidden; }
.iz-satir .iz-sil { opacity: 0; transition: opacity .12s; }
.iz-satir:hover .iz-sil, .iz-sil:focus-visible { opacity: 1; }
.iz-c-islem { justify-content: center; position: relative; }
.iz-c-islem .iz-durum { position: absolute; right: -4px; top: 50%; margin-top: -7px; pointer-events: auto; }
.iz-satir:not(.iz-bekliyor):not(.iz-hata) .iz-durum { display: none; }
.iz-hata { background: var(--danger-lo) !important; }
@media (hover: none) { .iz-satir .iz-sil { opacity: 1; } .iz-sayi::placeholder { color: var(--text-3); } }
@media (max-width: 575.98px) {
  .iz-govde { padding: 4px 6px 10px; }
  .iz-satir { margin: 0 2px; }
  .iz-satir:not(.iz-var) .iz-c-n, .iz-satir:not(.iz-var) .iz-c-s { visibility: hidden; }
}

/* ── TS paneli: Kullanıcılar — grup özeti + ortak işlem menüsü ── */
.kul-grp { max-width: 130px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.kul-grp-fazla { display: inline-block; vertical-align: middle; font-family: var(--mono); font-size: 10.5px; color: var(--text-2); background: none; border: 1px dashed var(--line-3); border-radius: 5px; padding: 0 6px; margin: 1px 0; cursor: help; white-space: nowrap; }
.kul-grp-fazla:hover, .kul-grp-fazla:focus-visible { color: var(--text); border-style: solid; outline: none; }
.kul-ipucu { position: fixed; z-index: 1080; min-width: 160px; max-width: 280px; max-height: 50vh; overflow-y: auto; background: var(--surface); border: 1px solid var(--line-2); border-radius: 10px; padding: 6px; box-shadow: 0 12px 32px rgba(0, 0, 0, .45); pointer-events: none; }
.kul-ipucu__bas { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); padding: 2px 6px 6px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.kul-ipucu__grp { font-size: 12.5px; color: var(--text); padding: 3px 6px; overflow-wrap: anywhere; }
.kul-eylem-ac { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--text-2); background: none; border: 1px solid var(--line); border-radius: 7px; padding: 3px 9px; cursor: pointer; white-space: nowrap; }
.kul-eylem-ac:hover, .kul-eylem-ac[aria-expanded="true"] { color: var(--text); border-color: var(--line-2); background: var(--surface-2); }
.kul-menu { position: fixed; z-index: 1070; width: 300px; max-width: calc(100vw - 16px); background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; padding: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.kul-menu__bas { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.kul-menu__ad { flex: 1; min-width: 0; font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kul-menu__durum { font-size: 11px; color: var(--text-3); display: inline-flex; align-items: center; gap: 5px; }
.kul-menu__durum::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--surface-4); }
.kul-menu__durum.on { color: var(--ok); } .kul-menu__durum.on::before { background: var(--ok); }
.kul-menu__kapat { border: 0; background: none; color: var(--text-3); font-size: 18px; line-height: 1; padding: 2px; border-radius: 6px; cursor: pointer; }
.kul-menu__kapat:hover { color: var(--text); background: var(--surface-2); }
.kul-menu__metin { background: var(--surface-2) !important; border-color: var(--line-2) !important; color: var(--text) !important; margin-bottom: 8px; }
.kul-menu__satir { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 4px; }
.kul-menu__satir[hidden], .kul-menu [hidden] { display: none !important; }
.kul-menu__dug { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; font-size: 12.5px; font-weight: 600; color: var(--text); background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 8px; padding: 7px 10px; cursor: pointer; }
.kul-menu__dug:hover { background: var(--surface-3); }
.kul-menu__dug--tehlike { color: var(--danger-hi); border-color: var(--danger-line); background: var(--danger-lo); }
.kul-menu__dug--tehlike:hover { background: rgba(240, 106, 106, .22); }
.kul-menu__dug--sil { color: var(--danger-hi); background: none; border-style: dashed; border-color: var(--danger-line); }
.kul-menu__yon { font-size: 10px; font-weight: 500; color: var(--text-3); border: 1px solid var(--line); border-radius: 999px; padding: 0 6px; }
.kul-menu__baslik { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); margin: 10px 0 6px; }
.kul-menu__sureler { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.kul-menu__sureler label { margin: 0; cursor: pointer; }
.kul-menu__sureler input { position: absolute; opacity: 0; pointer-events: none; }
.kul-menu__sureler span { display: inline-block; font-size: 12px; color: var(--text-2); border: 1px solid var(--line-2); border-radius: 999px; padding: 3px 10px; }
.kul-menu__sureler input:checked + span { color: var(--text); background: var(--surface-3); border-color: var(--line-3); }
.kul-menu__sureler input:focus-visible + span { box-shadow: 0 0 0 3px var(--accent-glow); }
.kul-menu__ayrac { height: 1px; background: var(--line); margin: 10px 0; }
@media (max-width: 575.98px) {
  .kul-menu { left: 8px !important; right: 8px; top: auto !important; bottom: calc(8px + env(safe-area-inset-bottom)); width: auto; max-width: none; }
}
@media (max-width: 575.98px) { .iz-sayi { font-size: 11px; padding: 4px 2px; } }

/* ── TS paneli: Yetki İşlemleri — sol işlem kartları + sağda gruplar|üyeler ── */
.yt-duzen .yetki-card { margin-bottom: 16px; }
.yt-acik { font-size: 12.5px; color: var(--text-2); margin: -6px 0 14px; }
.yt-etiket { display: block; font-size: 12px; font-weight: 500; color: var(--text-3); margin: 0 0 6px; }
.yt-liste { padding: 18px; }
.yt-ic { display: grid; grid-template-columns: 260px minmax(0, 1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; min-height: 360px; }
.yt-gruplar { border-right: 1px solid var(--line); background: var(--bg-2); padding: 6px; max-height: 560px; overflow-y: auto; scrollbar-width: thin; }
.yt-say { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); min-width: 18px; text-align: right; }
.yt-say.dolu { color: var(--text-2); }
.yt-uyeler { padding: 6px 12px 12px; max-height: 560px; overflow-y: auto; scrollbar-width: thin; min-width: 0; }
.yt-panel__bas { display: flex; align-items: center; gap: 8px; padding: 8px 0 10px; margin-bottom: 4px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--surface); z-index: 1; }
.yt-panel__ad { font-weight: 700; color: var(--text); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yt-panel__bas form { margin: 0 0 0 auto; }
.yt-tumu { border: 1px solid var(--danger-line); background: none; color: var(--danger-hi); font-size: 12px; border-radius: 7px; padding: 3px 9px; cursor: pointer; white-space: nowrap; }
.yt-tumu:hover { background: var(--danger-lo); }
.yt-uye form { margin: 0; }
.yt-uye .yt-sil { opacity: .55; }
.yt-uye:hover .yt-sil { opacity: 1; }
@media (max-width: 767.98px) {
  .yt-ic { grid-template-columns: minmax(0, 1fr); }
  .yt-gruplar { border-right: 0; border-bottom: 1px solid var(--line); max-height: 240px; }
  .yt-uyeler { max-height: none; }
}

/* Yetki Düzenleme — değişiklik kaydı penceresi (log görünümü) */
.iz-dug--yazi { width: auto; display: inline-flex; gap: 6px; padding: 0 10px; font-size: 12.5px; }
.iz-modal { position: fixed; inset: 0; z-index: 1060; background: rgba(0, 0, 0, .55); display: grid; place-items: center; padding: 16px; }
.iz-modal[hidden] { display: none; }
body.iz-modal-acik { overflow: hidden; }
.iz-modal__kutu { width: min(920px, 100%); max-height: min(720px, calc(100vh - 32px)); display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line-2); border-radius: 14px; padding: 16px; box-shadow: 0 24px 60px rgba(0, 0, 0, .55); }
.iz-modal__bas { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.iz-modal__bas h6 { margin: 0; flex: 1; font-size: 14px; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 8px; }
.iz-modal__kapat { border: 0; background: none; color: var(--text-3); font-size: 20px; line-height: 1; padding: 4px; border-radius: 8px; cursor: pointer; }
.iz-modal__kapat:hover { color: var(--text); background: var(--surface-2); }
.iz-modal__arac { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; margin-bottom: 10px; }
.iz-segment--kisa { margin: 0; grid-template-columns: auto auto; }
.iz-segment--kisa button { padding: 5px 12px; white-space: nowrap; }
.iz-modal .iz-gecmis { flex: 1; min-height: 160px; max-height: none; overflow: auto; }
.iz-modal__alt { font-size: 11.5px; color: var(--text-3); margin-top: 8px; }
.iz-gs { display: grid; grid-template-columns: 82px 110px minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline; padding: 3px 12px; white-space: normal; }
.iz-gs:has(.iz-gs__grup) { grid-template-columns: 82px 110px 150px minmax(0, 1fr) auto auto; }
.iz-gs__zaman { color: var(--text-3); }
.iz-gs__kim { color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iz-gs__grup { color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font); }
.iz-gs__ne { color: var(--text); overflow-wrap: anywhere; }
.iz-gs__deger { color: var(--info-hi); white-space: nowrap; }
.iz-gs--sil .iz-gs__deger { color: var(--danger-hi); }
.iz-gs--ozel .iz-gs__kim { color: var(--warn); }
.iz-gs .iz-gk__geri { position: static; transform: none; padding: 1px 8px; font-size: 11px; font-family: var(--font); }
@media (max-width: 767.98px) {
  .iz-modal { padding: 0; align-items: end; }
  .iz-modal__kutu { max-height: 88vh; border-radius: 16px 16px 0 0; }
  .iz-modal__arac { grid-template-columns: minmax(0, 1fr); }
  .iz-gs, .iz-gs:has(.iz-gs__grup) { grid-template-columns: auto minmax(0, 1fr) auto; row-gap: 2px; padding: 6px 10px; border-bottom: 1px solid var(--line); }
  .iz-gs__ne, .iz-gs__grup { grid-column: 1 / -1; }
  .iz-gs__deger { grid-column: 1 / 3; }
}

/* Yetki Düzenleme — Şablon Yetkiler kartı */
.iz-sb-yonet { margin-left: auto; color: var(--text-3); font-size: 16px; line-height: 1; padding: 2px; border-radius: 6px; }
.iz-sb-yonet:hover { color: var(--text); background: var(--surface-2); }
#iz-sablon .form-select.iz-girdi { margin-bottom: 8px; }
.iz-sb-mod { margin: 0 0 8px; grid-template-columns: 1fr 1fr; }
.iz-sb-ozet { font-family: var(--mono); font-size: 12px; color: var(--text-2); background: var(--bg-2); border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; margin-bottom: 8px; }
.iz-sb-ozet span + span { margin-left: 2px; }
.iz-sb-uyari { font-family: var(--font); font-size: 11.5px; color: var(--warn); margin-top: 4px; overflow-wrap: anywhere; }
.iz-sb-dug { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.iz-sb-dug .btn-qa { background: var(--surface-3); border-color: var(--line-2); color: var(--text); padding: 7px 10px; }
.iz-sb-dug .btn-qa:hover:not(:disabled) { background: var(--surface-4); }
.iz-sb-dug .btn-qa:disabled { opacity: .45; cursor: default; }
.iz-sb-alt { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.iz-sb-link { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--text-2); font-size: 12.5px; padding: 4px 0; text-align: left; cursor: pointer; text-decoration: none; }
.iz-sb-link:hover { color: var(--text); }

/* ── Sistem Ayarları > Cronjob ── */
.cz-durum { display: flex; align-items: center; gap: 10px; border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; font-size: 13px; border: 1px solid var(--line-2); background: var(--surface-2); }
.cz-durum--ok { border-color: var(--ok-line); }
.cz-durum--hata { border-color: var(--danger-line); background: var(--danger-lo); color: var(--danger-hi); }
.cz-nokta { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 9px; background: var(--danger); }
.cz-durum--ok .cz-nokta { background: var(--ok); box-shadow: 0 0 0 4px var(--ok-lo); }
.cz-tablo td { vertical-align: top; font-size: 13px; }
.cz-tablo th { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.cz-ad { font-weight: 600; color: var(--text); }
.cz-alt { font-size: 12px; color: var(--text-3); }
.cz-dosya { font-size: 11px; color: var(--text-3); background: none; padding: 0; }
.cz-kapali td { opacity: .55; }
.cz-kapali td:last-child { opacity: 1; }
.cz-duz td { background: var(--surface-2) !important; }
.cz-rozet { display: inline-block; font-size: 11.5px; font-weight: 600; border-radius: 999px; padding: 1px 9px; border: 1px solid var(--line-2); color: var(--text-2); white-space: nowrap; }
.cz-ok { color: var(--ok); border-color: var(--ok-line); background: var(--ok-lo); }
.cz-hata { color: var(--danger-hi); border-color: var(--danger-line); background: var(--danger-lo); }
.cz-calisiyor { color: var(--warn); border-color: var(--warn-line); background: var(--warn-lo); }
.cz-pasif { color: var(--text-3); }
.cz-loglar { flex: 1; min-height: 160px; overflow: auto; display: flex; flex-direction: column; gap: 6px; }
.cz-kayit { border: 1px solid var(--line); border-radius: 10px; background: var(--bg-2); }
.cz-kayit > summary { display: flex; align-items: center; gap: 12px; padding: 8px 12px; cursor: pointer; list-style: none; font-size: 12.5px; }
.cz-kayit > summary::-webkit-details-marker { display: none; }
.cz-kayit[open] > summary { border-bottom: 1px solid var(--line); }
.cz-kayit__zaman { font-family: var(--mono); color: var(--text-2); }
.cz-kayit__sure, .cz-kayit__tetik, .cz-kayit__kod { font-family: var(--mono); font-size: 11.5px; color: var(--text-3); }
.cz-kayit__kod { color: var(--danger-hi); }
.cz-kayit__cikti { margin: 0; border: 0; border-radius: 0 0 10px 10px; max-height: 360px; padding: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-2); }

/* Yetki İşlemleri — sort id düzenleme + şablon sütunu */
.yt-ic { grid-template-columns: 250px minmax(0, 1fr) 230px; }
.yt-gruplar .iz-grup { cursor: pointer; }
.yt-gruplar .iz-grup:focus-visible { outline: 2px solid var(--accent-glow); outline-offset: -2px; }
.yt-sira { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); border: 1px dashed transparent; border-radius: 5px; padding: 0 5px; min-width: 22px; text-align: right; cursor: text; display: inline-flex; align-items: center; gap: 4px; }
.yt-sira:hover, .yt-sira:focus-visible { border-color: var(--line-3); color: var(--text); outline: none; }
.yt-sira.acik { border: 0; padding: 0; }
.yt-sira__kutu { width: 64px; font-family: var(--mono); font-size: 11px; text-align: right; color: var(--text); background: var(--surface-2); border: 1px solid var(--accent); border-radius: 5px; padding: 1px 5px; }
.yt-sira__kutu:focus { outline: none; box-shadow: 0 0 0 3px var(--accent-lo); }
.yt-sira__kutu.hatali { border-color: var(--danger); }
.yt-sira__tik { width: 22px; height: 20px; display: inline-grid; place-items: center; border-radius: 5px; background: var(--ok); color: #04150d; font-size: 15px; cursor: pointer; }
.yt-sira__tik:hover { background: var(--ok-hi); }
.yt-sablonlar { border-left: 1px solid var(--line); background: var(--bg-2); padding: 8px; max-height: 560px; overflow-y: auto; scrollbar-width: thin; }
.yt-sablonlar__bas { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); padding: 4px 4px 8px; display: flex; align-items: center; gap: 6px; }
.yt-sb { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 7px 6px; border-radius: 8px; }
.yt-sb:hover { background: var(--surface-2); }
.yt-sb__ad { font-size: 13px; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yt-sb__alt { grid-column: 1; font-size: 11px; color: var(--text-3); font-family: var(--mono); }
.yt-sb__ekle { grid-row: 1 / 3; grid-column: 2; border: 1px solid var(--ok-line); background: var(--ok-lo); color: var(--ok); font-size: 12px; font-weight: 600; border-radius: 7px; padding: 4px 9px; cursor: pointer; white-space: nowrap; }
.yt-sb__ekle:hover:not(:disabled) { background: rgba(63, 207, 142, .22); }
.yt-sb__ekle:disabled { opacity: .6; }
.yt-sb__gizli { font-size: 10px; color: var(--warn); border: 1px solid var(--warn-line); border-radius: 999px; padding: 0 5px; }
.yt-sb-sonuc { font-size: 12px; border-radius: 8px; padding: 7px 9px; margin-top: 8px; }
.yt-sb-sonuc.ok { color: var(--ok); background: var(--ok-lo); }
.yt-sb-sonuc.hata { color: var(--danger-hi); background: var(--danger-lo); }
@media (max-width: 1399.98px) { .yt-ic { grid-template-columns: 230px minmax(0, 1fr); } .yt-sablonlar { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); max-height: none; } }
@media (max-width: 767.98px) { .yt-ic { grid-template-columns: minmax(0, 1fr); } }
.iz-gliste .iz-grup { cursor: pointer; }
.iz-gliste .iz-grup:focus-visible { outline: 2px solid var(--accent-glow); outline-offset: -2px; }
.yt-gbas { display: flex; justify-content: space-between; padding: 4px 10px 6px; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.yt-sira__iptal { width: 22px; height: 20px; display: inline-grid; place-items: center; border-radius: 5px; background: var(--surface-3); color: var(--danger-hi); border: 1px solid var(--danger-line); font-size: 15px; cursor: pointer; }
.yt-sira__iptal:hover { background: var(--danger-lo); }
/* Yetki Düzenleme: izin adı üstte (birincil), Türkçe açıklama altta (ikincil) */
.iz-satir .iz-psid { font-size: 12.5px; color: var(--text); opacity: 1; }
.iz-satir .iz-ac { font-size: 12px; color: var(--text-3); }
.iz-satir:not(.iz-var):not(.iz-gvar) .iz-psid { color: var(--text-2); opacity: 1; }
.iz-satir:not(.iz-var):not(.iz-gvar) .iz-ac { color: var(--text-3); }
.iz-satir.iz-var .iz-ac, .iz-satir.iz-gvar .iz-ac { color: var(--text-2); }
/* Yetki İşlemleri — şablondan yeni grup penceresi */
.iz-modal__kutu.yt-sb-modal { width: min(440px, 100%); max-height: none; }
.yt-sb-modal__acik { font-size: 13px; color: var(--text-2); margin: 0 0 14px; }
.yt-sb-modal__acik b { color: var(--text); }
.yt-sb-modal__ipucu { font-size: 11.5px; color: var(--text-3); margin-top: 6px; }
.yt-sb-modal .yt-sb-sonuc { margin-top: 12px; }
.yt-sb-modal__dug { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.yt-sb-modal__dug .btn-yv:disabled { opacity: .7; }
@media (max-width: 767.98px) { .iz-modal__kutu.yt-sb-modal { width: 100%; } }
/* Yetki Listesi — grup adı satır içi düzenleme */
.yt-panel__ad { border: 1px dashed transparent; border-radius: 6px; padding: 0 5px; cursor: text; }
.yt-panel__ad:hover, .yt-panel__ad:focus-visible { border-color: var(--line-3); outline: none; }
.yt-panel__ad.acik, .iz-grup__ad.acik { display: inline-flex; align-items: center; gap: 4px; border: 0; padding: 0; overflow: visible; }
.yt-gruplar .iz-grup.aktif .iz-grup__ad { cursor: text; }
.yt-sira__kutu.yt-ad__kutu { width: 100%; min-width: 0; max-width: 220px; text-align: left; font-family: var(--font); font-size: 12.5px; padding: 2px 6px; }
.iz-grup__ad.acik .yt-ad__kutu { max-width: 140px; }
/* Ortak onay penceresi (Yetki İşlemleri) */
.iz-modal__kutu.yt-onay { width: min(420px, 100%); max-height: none; }
#yt-onay { z-index: 1090; }
.yt-onay__mesaj { font-size: 13.5px; color: var(--text); margin: 0; overflow-wrap: anywhere; }
.yt-onay .iz-modal__bas h6 i { color: var(--warn); }
