* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: #1f2937;
  background: #ffffff;
}
a { color: #2563eb; text-decoration: none; }

/* Genel duzen: solda menu, ortada icerik */
.app { display: flex; min-height: 100vh; }

.sidebar {
  width: 220px;
  background: #f7f8fa;
  border-right: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  padding: 18px 0;
}
.sidebar .brand {
  font-weight: 700;
  font-size: 17px;
  color: #111827;
  padding: 6px 20px 18px;
}
.sidebar nav { display: flex; flex-direction: column; flex: 1; }
.sidebar nav a {
  color: #4b5563;
  padding: 11px 20px;
  font-size: 14px;
  border-left: 3px solid transparent;
}
.sidebar nav a:hover { background: #eef0f3; color: #111827; }
.sidebar nav a.active {
  background: #eff6ff;
  color: #2563eb;
  font-weight: 600;
  border-left-color: #2563eb;
}
.sidebar .logout {
  color: #6b7280;
  padding: 11px 20px;
  font-size: 14px;
  border-top: 1px solid #e5e7eb;
}
.sidebar .logout:hover { color: #dc2626; }

.content { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.topbar {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 28px;
}
.topbar h1 { margin: 0; font-size: 20px; }
.inner { padding: 28px; max-width: 920px; }

/* Butonlar */
.btn {
  display: inline-block;
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 16px;
  font-size: 14px;
  cursor: pointer;
}
.btn:hover { background: #1d4ed8; }
.btn.ghost { background: #fff; color: #374151; border: 1px solid #d1d5db; }
.btn.ghost:hover { background: #f9fafb; }
.bar { margin: 0 0 18px; display: flex; gap: 10px; }

/* Tablo */
.table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
}
.table th, .table td {
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid #f0f1f3;
  font-size: 14px;
}
.table th { background: #f9fafb; color: #6b7280; font-weight: 600; }
.table tr:last-child td { border-bottom: none; }
.actions { display: flex; gap: 14px; align-items: center; }
.actions form { margin: 0; }
.link { background: none; border: none; color: #2563eb; cursor: pointer; font-size: 14px; padding: 0; }
.link.danger { color: #dc2626; }
.muted { color: #9ca3af; }

/* Form */
.form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #fff;
  padding: 22px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  max-width: 560px;
}
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #374151; font-weight: 600; }
.form input, .form textarea {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 9px 11px;
  font-size: 14px;
  font-family: inherit;
}
.form input:focus, .form textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Dashboard kartlari */
.cards { display: flex; gap: 16px; margin-bottom: 18px; }
.card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px 26px;
  min-width: 130px;
}
.card .num { font-size: 30px; font-weight: 700; }
.card .lbl { color: #6b7280; font-size: 13px; }

/* Giris ekrani */
.login-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; background: #f3f4f6; }
.login-box {
  background: #fff;
  padding: 32px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  width: 330px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}
.login-box h1 { margin: 0; font-size: 22px; text-align: center; }
.login-box .sub { margin: -6px 0 6px; text-align: center; color: #9ca3af; font-size: 13px; }
.login-box label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: #374151; }
.login-box input { border: 1px solid #d1d5db; border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.error { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; padding: 9px 12px; border-radius: 8px; font-size: 13px; }
