/* ============================================================
   Digicode SyncXFatura — panel teması
   DigiCode DX marka paletinden türetilmiştir (bkz. digicodedx/css/style.css)
   ============================================================ */
:root{
  --sync-blue:#000dff; --c-blue:#0062ff; --d-cyan:#00cfff;
  --navy-950:#04061a; --navy-900:#060a26; --navy-800:#0a1140;
  --ink:#0b1020; --ink-soft:#57607e; --surface:#ffffff; --surface-alt:#f4f7fe;
  --border:#e4e9f7; --danger:#e0334f; --success:#12a454; --warning:#f59e0b;
  --gradient-brand: linear-gradient(120deg, var(--d-cyan) 0%, var(--c-blue) 55%, var(--sync-blue) 100%);
  --font-head: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 14px;
  --shadow-card: 0 12px 30px -14px rgba(2, 12, 60, .18);
}
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; font-family:var(--font-body); color:var(--ink); background:var(--surface-alt); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ font-family:var(--font-head); font-weight:700; letter-spacing:.01em; }

.admin-shell{ display:flex; min-height:100vh; }

.admin-sidebar{
  width:250px; flex-shrink:0; background:var(--navy-950); color:#fff;
  display:flex; flex-direction:column; padding:24px 16px; position:sticky; top:0; height:100vh;
}
.admin-brand{ display:flex; align-items:center; gap:10px; padding:0 8px 24px; }
.admin-brand img{ height:28px; width:auto; }
.admin-brand span{ font-weight:700; font-size:.95rem; display:flex; flex-direction:column; font-family:var(--font-body); }
.admin-brand small{ font-weight:500; color:rgba(255,255,255,.5); font-size:.72rem; }

.admin-nav{ display:flex; flex-direction:column; gap:2px; flex:1; }
.admin-nav a{
  padding:13px 16px; border-radius:10px; font-size:1.05rem; font-weight:600;
  color:rgba(255,255,255,.72); display:flex; align-items:center; gap:12px;
  transition: background .2s ease, color .2s ease;
}
.admin-nav a:hover{ background:rgba(255,255,255,.06); color:#fff; }
.admin-nav a.active{ background:var(--gradient-brand); color:#fff; }
.admin-nav a i{ width:18px; text-align:center; opacity:.85; font-size:1rem; }
.admin-brand span{ font-size:1.05rem; }
.admin-brand small{ font-size:.8rem; }
.admin-sidebar-foot a{ font-size:.94rem; padding:10px 16px; }

.admin-sidebar-foot{ display:flex; flex-direction:column; gap:4px; border-top:1px solid rgba(255,255,255,.1); padding-top:16px; }
.admin-sidebar-foot a{ padding:9px 14px; font-size:.86rem; color:rgba(255,255,255,.55); border-radius:10px; display:flex; align-items:center; gap:8px; }
.admin-sidebar-foot a:hover{ background:rgba(255,255,255,.06); color:#fff; }

.admin-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 32px; background:#fff; border-bottom:1px solid var(--border);
}
.admin-topbar h1{ font-size:1.35rem; margin:0; }
.admin-topbar .admin-topbar-sub{ color:var(--ink-soft); font-size:.82rem; font-weight:500; margin-top:2px; }
.admin-user{ font-size:.86rem; font-weight:700; color:var(--ink-soft); background:var(--surface-alt); padding:8px 14px; border-radius:999px; white-space:nowrap; }
.admin-content{ padding:28px 32px 60px; }
.admin-content.admin-content-narrow{ max-width:980px; }

/* cards / sections */
.card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:26px; margin-bottom:22px; }
.card h2{ font-size:1.1rem; margin:0 0 4px; }
.card .card-desc{ color:var(--ink-soft); font-size:.88rem; margin:0 0 18px; }

/* forms */
label{ display:block; font-size:.82rem; font-weight:700; color:var(--ink-soft); margin-bottom:6px; }
.field{ margin-bottom:16px; }
.field-hint{ font-size:.78rem; color:var(--ink-soft); margin-top:4px; }
input[type=text], input[type=email], input[type=password], input[type=tel], input[type=number], input[type=date], input[type=file], textarea, select{
  width:100%; font-family:var(--font-body); font-size:.94rem; padding:10px 13px;
  border-radius:9px; border:1px solid var(--border); background:var(--surface-alt); color:var(--ink);
}
textarea{ resize:vertical; min-height:80px; }
input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--c-blue); box-shadow:0 0 0 3px rgba(0,98,255,.14); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:10px 20px; border-radius:999px; font-weight:700; font-size:.88rem;
  border:1px solid transparent; cursor:pointer; font-family:var(--font-body);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.btn-primary{ background:var(--gradient-brand); color:#fff; box-shadow:0 10px 24px -10px rgba(0,98,255,.55); }
.btn-primary:hover{ opacity:.92; transform:translateY(-1px); }
.btn-ghost{ background:#fff; border-color:var(--border); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--c-blue); color:var(--c-blue); }
.btn-danger{ background:#fff; border-color:rgba(224,51,79,.35); color:var(--danger); }
.btn-danger:hover{ background:rgba(224,51,79,.08); }
.btn-sm{ padding:7px 14px; font-size:.8rem; }
.btn-lg{ padding:14px 26px; font-size:1rem; }
.btn-block{ width:100%; }

/* tables */
table{ width:100%; border-collapse:collapse; font-size:.9rem; }
th, td{ text-align:left; padding:12px 10px; border-bottom:1px solid var(--border); vertical-align:top; }
th{ font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); }
tr:last-child td{ border-bottom:none; }

/* alerts */
.alert{ padding:13px 16px; border-radius:10px; font-size:.88rem; font-weight:600; margin-bottom:20px; }
.alert-info{ background:rgba(0,98,255,.08); color:var(--c-blue); }
.alert-success{ background:rgba(18,164,84,.1); color:var(--success); }
.alert-error{ background:rgba(224,51,79,.1); color:var(--danger); }

/* dashboard stat cards */
.stat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:18px; margin-bottom:10px; }
.stat-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:20px; text-align:center; }
.stat-card .stat-val{ display:block; font-size:1.8rem; font-weight:800; font-family:var(--font-head); color:var(--c-blue); }
.stat-card .stat-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); }

/* eğitim / sözlük ekranı bileşenleri */
.train-card{ background:#fff; border-radius:20px; box-shadow:var(--shadow-card); padding:35px; max-width:980px; margin:0 auto; }
.config-box{ background:var(--surface-alt); border-radius:15px; padding:20px; margin-bottom:25px; border:1px solid var(--border); }
.progress{ height:12px; border-radius:6px; margin:25px 0; background:#eaedf0; overflow:hidden; }
.progress-bar{ background:var(--gradient-brand); border-radius:6px; height:100%; transition:width .3s ease; }
.log-area{
  background:var(--navy-950); color:#8bc34a; padding:20px; border-radius:10px; height:350px;
  overflow-y:auto; font-family:'Consolas', monospace; font-size:13px; border:1px solid #1a2050;
}

/* login page */
.login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(1000px 700px at 75% -10%, #0d1f7a 0%, var(--navy-900) 45%, var(--navy-950) 100%);
  padding:20px;
}
.login-card{ background:#fff; border-radius:20px; padding:40px; width:100%; max-width:380px; }
.login-card img{ height:32px; margin-bottom:22px; }
.login-card h1{ font-size:1.3rem; margin:0 0 6px; }
.login-card p.sub{ color:var(--ink-soft); font-size:.88rem; margin:0 0 24px; }

.hidden{ display:none !important; }

/* responsive */
@media (max-width: 860px){
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{ width:100%; height:auto; position:relative; flex-direction:row; flex-wrap:wrap; align-items:center; row-gap:14px; }
  .admin-brand{ padding:0 8px 0 0; order:1; }
  .admin-sidebar-foot{ flex-direction:row; border-top:none; padding-top:0; margin-left:auto; order:2; }
  .admin-nav{ flex:1 1 100%; order:3; flex-direction:row; flex-wrap:wrap; }
  .admin-content{ padding:20px; }
  .admin-topbar{ padding:18px 20px; }
  .stat-grid{ grid-template-columns:1fr; }
}
