/* ============================================================
   Giriş sayfası
   ============================================================ */
.login-body{
  min-height: 100vh;
  display:flex; align-items:center; justify-content:center;
  background: #eef1f6;
}
.login-card{
  background:#fff; border:1px solid #d7dce6; border-radius:16px;
  padding: 32px 36px; width: 340px; max-width: 90vw;
  box-shadow: 0 12px 40px rgba(20,25,40,0.12);
}
.login-card h1{ margin:0 0 4px 0; font-size:19px; font-weight:800; color:#1c2433; }
.login-sub{ margin:0 0 20px 0; font-size:12.5px; color:#6b7280; }
.login-card label{
  display:block; font-size:11px; font-weight:700; color:#6b7280;
  text-transform:uppercase; letter-spacing:0.3px; margin: 12px 0 5px 0;
}
.login-card input{
  width:100%; padding:9px 11px; border:1px solid #d7dce6; border-radius:9px;
  font-size:13.5px; color:#1c2433;
}
.login-card button.primary{
  width:100%; margin-top:20px; padding:10px 0; border-radius:9px; border:none;
  background:#2563eb; color:#fff; font-size:13.5px; font-weight:700; cursor:pointer;
}
.login-card button.primary:hover{ background:#1d4ed8; }
.login-error{
  background:#fee2e2; color:#b91c1c; font-size:12px; font-weight:600;
  padding:9px 11px; border-radius:9px; margin-bottom:6px;
}

/* ============================================================
   Yönetim (admin) sayfası
   ============================================================ */
.admin-content{ padding: 20px; max-width: 980px; margin: 0 auto; display:flex; flex-direction:column; gap:16px; }
.admin-card{
  background:#fff; border:1px solid #d7dce6; border-radius:14px; padding:18px 22px;
}
.admin-card h2{ margin:0 0 8px 0; font-size:14.5px; font-weight:800; color:#1c2433; }
.admin-desc{ font-size:12.5px; color:#6b7280; margin: 0 0 12px 0; }
.status-on{ color:#059669; }
.status-off{ color:#9aa1b0; }

.admin-card button.primary{
  padding:8px 16px; border-radius:8px; border:1px solid #2563eb;
  background:#2563eb; color:#fff; font-size:12.5px; font-weight:700; cursor:pointer;
}
.admin-card button.secondary{
  padding:8px 16px; border-radius:8px; border:1px solid #d7dce6;
  background:#f8f9fc; color:#374151; font-size:12.5px; font-weight:700; cursor:pointer;
}
.admin-card button.secondary:hover{ background:#eef1f6; }

.admin-table{ width:100%; border-collapse:collapse; font-size:12.5px; }
.admin-table th{
  text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:0.3px;
  color:#9aa1b0; font-weight:700; padding:8px 10px; border-bottom:2px solid #eef1f6;
  white-space:nowrap;
}
.admin-table td{ padding:9px 10px; border-bottom:1px solid #f1f3f7; color:#374151; vertical-align:middle; }
.admin-table tr:last-child td{ border-bottom:none; }
.admin-table tbody tr:hover{ background:#f8f9fc; }
.admin-table .ua-cell{
  max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#9aa1b0; font-size:11px;
}
.admin-table select{
  padding:5px 8px; border-radius:7px; border:1px solid #d7dce6; font-size:12px;
}
.inline-form{ display:inline-flex; margin:0; }
.password-form{ gap:5px; }
.password-form input{
  width:100px; padding:5px 8px; border-radius:7px; border:1px solid #d7dce6; font-size:12px;
}
.password-form button, .admin-new-user-form button{
  padding:5px 10px; border-radius:7px; border:1px solid #d7dce6; background:#f8f9fc;
  font-size:11.5px; font-weight:700; cursor:pointer; color:#374151;
}
.password-form button:hover{ background:#eef1f6; }

.edit-user-form{ gap:5px; }
.edit-user-form input{
  padding:5px 8px; border-radius:7px; border:1px solid #d7dce6; font-size:12px;
}
.edit-user-form input[name="username"]{ width:110px; font-weight:700; }
.edit-user-form input[name="display_name"]{ width:130px; }
.edit-user-form select[name="personel_id"]{
  padding:5px 8px; border-radius:7px; border:1px solid #d7dce6; font-size:12px; width:160px;
}
.edit-user-form button{
  padding:5px 10px; border-radius:7px; border:1px solid #d7dce6; background:#f8f9fc;
  font-size:11.5px; font-weight:700; cursor:pointer; color:#374151;
}
.edit-user-form button:hover{ background:#eef1f6; }

.pill-btn{
  border:none; border-radius:999px; padding:4px 12px; font-size:10.5px; font-weight:800;
  cursor:pointer; text-transform:uppercase; letter-spacing:0.3px;
}
.pill-on{ background:#dcfce7; color:#15803d; }
.pill-off{ background:#fee2e2; color:#b91c1c; }

.admin-subtitle{ font-size:12.5px; font-weight:800; color:#1c2433; margin: 18px 0 10px 0; }
.admin-new-user-form{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.admin-new-user-form input, .admin-new-user-form select{
  padding:7px 10px; border-radius:8px; border:1px solid #d7dce6; font-size:12.5px;
}
.admin-new-user-form input[type="text"]{ width:160px; }
.admin-new-user-form input[type="password"]{ width:140px; }

.role-form{
  border-top:1px solid #f0f2f7; padding-top:14px; margin-top:14px;
}
.role-form:first-of-type{ border-top:none; margin-top:0; padding-top:0; }
.role-form-head{ font-size:13px; font-weight:800; color:#1c2433; margin-bottom:8px; }
.role-form-head .role-key{ font-size:11px; font-weight:600; color:#9aa1b0; }
.role-menu-checks{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:10px; }
.role-menu-check{ display:flex; align-items:center; gap:5px; font-size:12px; color:#374151; }
.role-restrict-check{
  display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:#1c2433;
  background:#f8f9fc; border:1px solid #eef1f6; border-radius:8px; padding:7px 12px;
  margin-bottom:12px; width:fit-content;
}

.oracle-form{ display:flex; flex-direction:column; gap:4px; max-width:420px; }
.oracle-form label{
  font-size:11px; font-weight:700; color:#6b7280; text-transform:uppercase;
  letter-spacing:0.3px; margin:10px 0 3px 0;
}
.oracle-form .oracle-hint{ text-transform:none; font-weight:600; color:#9aa1b0; letter-spacing:0; }
.oracle-form input{
  padding:9px 11px; border:1px solid #d7dce6; border-radius:9px; font-size:13.5px;
}
.oracle-form button.primary{
  margin-top:18px; padding:10px 0; border-radius:9px; border:none;
  background:#2563eb; color:#fff; font-size:13.5px; font-weight:700; cursor:pointer;
}
.oracle-form button.primary:hover{ background:#1d4ed8; }

/* Yönetim kartlarındaki link-buton (eski inline style yerine) */
.admin-link-btn{
  display:inline-block; text-decoration:none; padding:8px 16px; border-radius:8px;
  border:1px solid #d7dce6; color:#374151; font-size:12.5px; font-weight:700;
  background:#fff;
}
.admin-link-btn:hover{ background:#f0f2f7; }

/* Küçük ikincil buton (oturum sonlandır) */
.btn-small{ padding:5px 10px; font-size:11px; }

/* Nötr durum rozeti (Çıkış Yaptı) */
.pill-btn.pill-neutral{ background:#f3f4f6; color:#6b7280; }

/* Başarı mesajı varyantı (Oracle ayar testi) */
.login-error.login-success{ background:#dcfce7; color:#15803d; }

/* ---------- Yönetim: GitHub token kartı ---------- */
.token-durum{ margin: 6px 0 10px; font-size: 12.5px; line-height: 1.7; }
.token-satir{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.token-rozet{ font-size: 11px; font-weight: 800; padding: 2px 9px; border-radius: 999px; }
.token-rozet.iyi{ background: #dcfce7; color: #166534; }
.token-rozet.uyari{ background: #fef3c7; color: #92400e; }
.token-rozet.kritik{ background: #fee2e2; color: #991b1b; }
.token-rozet.bilinmiyor, .token-rozet.yok{ background: #e2e8f0; color: #475569; }
.token-hata{ color: #b91c1c; font-weight: 600; margin: 2px 0; }
.token-yenile{ margin-top: 10px; font-size: 12px; }
.token-yenile summary{ cursor: pointer; font-weight: 700; color: #334155; }
.token-yenile ol{ margin: 6px 0 4px 18px; padding: 0; line-height: 1.6; }
.exe-uretim-form{ display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 6px 0; }
.exe-uretim-form input[type=text]{ flex: 1 1 260px; min-width: 0; padding: 6px 9px; font: 12.5px ui-monospace, Consolas, monospace;
  border: 1px solid #cbd5e1; border-radius: 7px; }
