* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body {
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background:#f4f6f9; color:#222; line-height:1.5;
}
.center { display:flex; align-items:center; justify-content:center; min-height:100vh; padding:16px; }

.card {
  background:#fff; padding:24px; border-radius:10px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  margin:16px auto; max-width:1150px;
}
.card h1, .card h2 { margin-top:0; }
.login-card { max-width:420px; width:100%; }

label { display:block; margin:12px 0; font-weight:600; font-size:14px; }
label.inline { display:inline-flex; align-items:center; gap:8px; font-weight:600; }
label.inline input { width:auto; }
input, textarea, select {
  width:100%; padding:9px 11px; border:1px solid #ccd2dc; border-radius:6px;
  font:inherit; background:#fff;
}
input:focus, textarea:focus, select:focus {
  outline:none; border-color:#2b5cbb; box-shadow:0 0 0 3px rgba(43,92,187,.15);
}

button, .btn {
  display:inline-block; padding:10px 18px; background:#2b5cbb; color:#fff;
  border:none; border-radius:6px; cursor:pointer; text-decoration:none;
  font-size:14px; font-weight:600; transition: background .15s;
}
button:hover, .btn:hover { background:#1f4a9c; }
button:disabled { background:#b0b7c3; cursor:not-allowed; }
.btn.small { padding:6px 12px; font-size:12px; }
.btn.danger { background:#b3261e; }
.btn.danger:hover { background:#8c1d18; }

.error { color:#b3261e; background:#fdecea; padding:10px 12px; border-radius:6px; margin:12px 0; }
.flash { padding:12px 16px; border-radius:6px; margin:14px auto; max-width:1150px; }
.flash.ok  { background:#e6f6ec; color:#106b3b; border-left:4px solid #2a7; }
.flash.err { background:#fdecea; color:#8c1d18; border-left:4px solid #b3261e; }

.topbar {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 20px; background:#fff; border-bottom:1px solid #e2e6ec;
  position:sticky; top:0; z-index:10; flex-wrap:wrap; gap:8px;
}
.topbar > div { font-size:14px; }
.topbar-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
main { padding:20px; }

.page-header { margin-bottom:16px; }

.notices { max-width:1150px; margin:16px auto 0; }
.notice-card {
  background:#fff8dc; border-left:4px solid #e2b800;
  padding:12px 16px; border-radius:6px; margin-bottom:8px;
  font-size:14px;
}

.scenario { max-width:1150px; transition: opacity .2s; }
.scenario-done { border-left:4px solid #2a7; }
.scenario-locked { opacity:.72; background:#f9fafc; }
.scenario-header { display:flex; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:wrap; }
.badge-ok { background:#2a7; color:#fff; padding:2px 10px; border-radius:20px; font-size:12px; font-weight:600; margin-left:8px; }
.badge-lock { background:#999; color:#fff; padding:2px 10px; border-radius:20px; font-size:12px; font-weight:600; margin-left:8px; }

table.steps {
  width:100%; border-collapse: collapse; margin:14px 0;
  background:#fff; font-size:14px;
}
table.steps th, table.steps td { border:1px solid #e2e6ec; padding:10px; text-align:left; vertical-align:top; }
table.steps th { background:#e8effb; font-weight:600; }
table.steps textarea { min-height:56px; resize:vertical; font-size:13px; }
table.steps select { width:auto; padding:4px 6px; font-size:12px; }

.done-label {
  display:flex; gap:10px; align-items:center;
  padding:12px; background:#f0f7f0; border-radius:6px;
  cursor:pointer; font-size:15px;
}
.done-label input { width:auto; transform: scale(1.2); }

.notes { margin-top:12px; }
.notes textarea { min-height:60px; }

.hint { color:#555; font-size:14px; margin-bottom:12px; }
.note {
  background:#fff8dc; padding:10px 14px;
  border-left:4px solid #e2b800; border-radius:4px;
}
.note.warn { background:#fdecea; border-left-color:#b3261e; }
.save-state { color:#2a7; font-size:12px; margin-top:8px; min-height:16px; }
.locked-info { margin-top:12px; }

.progress { font-size:13px; color:#444; font-weight:600; }
.progress-bar {
  display:inline-block; width:120px; height:10px;
  background:#e2e6ec; border-radius:5px; overflow:hidden;
  vertical-align: middle; margin-right:6px;
}
.progress-bar > div { height:100%; background:#2a7; }

/* Form ızgarası (admin ekranları) */
.form-grid {
  display:grid; grid-template-columns: 1fr 1fr; gap:12px 18px;
}
.form-grid .full { grid-column: 1 / -1; }
.form-actions {
  grid-column: 1 / -1;
  display:flex; gap:10px; justify-content:flex-end;
  padding-top:8px; border-top:1px solid #eee; margin-top:8px;
}
.form-grid small { display:block; color:#666; font-weight:400; margin-top:4px; }

/* Mobil */
@media (max-width:640px) {
  table.steps thead { display:none; }
  table.steps tr, table.steps td { display:block; }
  table.steps td { border:none; border-bottom:1px solid #eee; }
  table.steps td:first-child { font-weight:700; background:#f7f9fc; }
  .form-grid { grid-template-columns: 1fr; }
}
/* ------------------------------
   admin_testers.php için eklenen stiller
-------------------------------*/

/* Bilgi kutusu (form içindeki açıklama) */
.info-box {
  background: #eef4ff;
  border-left: 4px solid #2b5cbb;
  border-radius: 6px;
  padding: 14px 18px;
  margin-top: 8px;
  font-size: 14px;
  color: #222;
}
.info-box b { color: #173a7a; }
.info-box ul { margin: 8px 0 0 20px; padding: 0; }
.info-box li { margin-bottom: 8px; line-height: 1.5; }
.info-box small { color: #555; }
.info-box code {
  background: #fff;
  padding: 1px 6px;
  border-radius: 4px;
  border: 1px solid #ccd;
  font-family: Consolas, "Courier New", monospace;
  font-size: 13px;
}

/* Bölüm etiketleri (tablodaki) */
.tag {
  display: inline-block;
  background: #e8effb;
  color: #173a7a;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  margin: 0 4px 4px 0;
}
.tag-muted {
  display: inline-block;
  background: #f0f0f0;
  color: #666;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}