:root{
  --accent:#3da9fc;
  --bg:#0e1116;
  --sidebar:#141a22;
  --surface:#171f29;
  --surface-2:#1c2531;
  --border:#26313f;
  --text:#e6edf3;
  --muted:#8b98a9;
}

body{ background:var(--bg); color:var(--text); }

/* ---- App shell ---- */
.app{ display:flex; min-height:100vh; }
.sidebar{
  width:232px; flex:0 0 232px; background:var(--sidebar);
  border-right:1px solid var(--border); padding:14px 10px;
  position:sticky; top:0; height:100vh; overflow:auto;
}
.sidebar .brand{ font-weight:800; font-size:1.2rem; letter-spacing:.3px; padding:6px 12px 18px; color:#fff; }
.sidebar .brand span{ color:var(--accent); }
.sidebar .nav-link{
  color:#c6d2e0; border-radius:9px; padding:9px 12px; margin-bottom:2px;
  font-size:.92rem; display:flex; align-items:center; gap:9px; transition:.12s;
}
.sidebar .nav-link:hover{ background:#202a36; color:#fff; }
.sidebar .nav-link.active{ background:var(--accent); color:#06121f; font-weight:600; }
.sidebar .ico{ width:18px; text-align:center; opacity:.9; }

.main{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.topbar{
  display:flex; align-items:center; gap:12px; padding:13px 24px;
  border-bottom:1px solid var(--border); background:var(--sidebar);
}
.topbar .page-title{ font-weight:600; font-size:1.06rem; }
.topbar .userbox{ margin-left:auto; font-size:.88rem; color:var(--muted); display:flex; align-items:center; gap:10px; }
.content{ padding:24px; max-width:1280px; width:100%; }

/* ---- Components ---- */
.card{ background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.card .card-body{ padding:1rem 1.15rem; }
h4{ font-weight:700; }
.table{ --bs-table-bg:transparent; --bs-table-color:var(--text); margin-bottom:0; }
.table > :not(caption) > * > *{ border-bottom-color:var(--border); }
.table thead th{ color:var(--muted); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.4px; }
.form-control, .form-select, .form-control:focus, .form-select:focus{
  background:var(--surface-2); border-color:var(--border); color:var(--text);
}
.form-control:focus, .form-select:focus{ box-shadow:0 0 0 .2rem rgba(61,169,252,.18); border-color:var(--accent); }
.btn-primary{ background:var(--accent); border-color:var(--accent); color:#06121f; font-weight:600; }
.btn-primary:hover{ background:#5cb6fd; border-color:#5cb6fd; color:#06121f; }
.badge{ font-weight:600; }
a{ color:#69b6fb; text-decoration:none; }
a:hover{ color:#9bd0ff; }

/* Stat kartlari */
.stat-card .h4{ color:#fff; }

/* Login (sidebar yokken) */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.login-box{ width:min(420px, 94vw); }

/* ---- Slide-to-confirm modal ---- */
.confirm-modal{ position:fixed; inset:0; background:rgba(0,0,0,.62); display:none; align-items:center; justify-content:center; z-index:1080; }
.confirm-modal.show{ display:flex; }
.confirm-box{ background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:24px; width:min(460px,92vw); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.confirm-box h6{ margin:0 0 8px; font-weight:700; font-size:1.05rem; }
.confirm-text{ color:var(--muted); font-size:.92rem; margin-bottom:18px; line-height:1.4; }
.slide-track{ position:relative; height:56px; background:var(--surface-2); border:1px solid var(--border); border-radius:28px; overflow:hidden; user-select:none; }
.slide-fill{ position:absolute; left:0; top:0; height:100%; width:0; background:linear-gradient(90deg,#a3211a,#e5484d); }
.slide-label{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.9rem; pointer-events:none; }
.slide-handle{ position:absolute; left:3px; top:3px; width:50px; height:50px; border-radius:50%; background:#e5484d; color:#fff; display:flex; align-items:center; justify-content:center; cursor:grab; touch-action:none; font-size:1.4rem; z-index:2; }
.slide-handle:active{ cursor:grabbing; }
.confirm-cancel{ margin-top:16px; }

/* ---- DataTables (dark uyumu) ---- */
.dataTables_wrapper{ margin-top:4px; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{ background:var(--surface-2); border:1px solid var(--border); color:var(--text); border-radius:7px; }
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper label{ color:var(--muted); }
.dataTables_wrapper .dataTables_paginate .page-link{ background:var(--surface); border-color:var(--border); color:var(--text); }
.dataTables_wrapper .dataTables_paginate .active .page-link{ background:var(--accent); border-color:var(--accent); color:#06121f; }
table.dataTable thead th{ border-bottom-color:var(--border) !important; }

/* ===================== Polish ===================== */
*{ scrollbar-width:thin; scrollbar-color:#2a3543 transparent; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:#2a3543; border-radius:6px; }
::-webkit-scrollbar-thumb:hover{ background:#3a4a63; }

/* Baslik vurgu cubugu */
.content > h4, .content h4{ position:relative; padding-left:13px; font-weight:700; }
.content h4::before{ content:""; position:absolute; left:0; top:4px; bottom:4px; width:4px; border-radius:3px; background:var(--accent); }

/* Kartlar */
.card{ transition:box-shadow .14s ease, border-color .14s ease; }
.card:hover{ box-shadow:0 8px 26px rgba(0,0,0,.30); border-color:#324155; }
.card .card-title{ letter-spacing:.2px; font-weight:600; }

/* Dashboard stat kartlari */
.stat-card{ border-top:2px solid var(--accent); }
.stat-card .h4{ color:#fff; font-weight:800; letter-spacing:.5px; }

/* Tablolar */
.table td, .table th{ padding-top:.55rem; padding-bottom:.55rem; }
.table-striped > tbody > tr{ transition:background .1s; }
.table-striped > tbody > tr:hover > *{ background:rgba(61,169,252,.08) !important; }

/* Butonlar / inputlar */
.btn{ border-radius:8px; transition:filter .12s, transform .04s; }
.btn:active{ transform:translateY(1px); }
.btn-primary:hover, .btn-warning:hover, .btn-danger:hover{ filter:brightness(1.08); }
.form-control, .form-select{ border-radius:8px; }
.form-control::placeholder, textarea::placeholder{ color:#5b6878; }
.alert{ border-radius:10px; }

/* Sidebar aktif vurgusu */
.sidebar .nav-link.active{ box-shadow:inset 3px 0 0 rgba(255,255,255,.45); }
.topbar{ box-shadow:0 1px 0 rgba(0,0,0,.25); }

/* Rozet renkleri */
.badge.bg-secondary{ background:#2a3543 !important; color:#cdd7e3; }
